From 5d61c4ae8db5801be28845a327cc3aa1323f5b93 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:23:41 +0100 Subject: [PATCH 01/46] chore(botonic): remove botonic-api from 1.0.0-dev.1 --- packages/botonic-api/package-lock.json | 1678 ---- packages/botonic-api/package.json | 47 - .../src/handlers/bot-executor/index.ts | 21 - packages/botonic-api/src/handlers/index.ts | 35 - .../src/handlers/sender/aws-sender.ts | 19 - .../botonic-api/src/handlers/sender/index.ts | 24 - .../src/handlers/sender/local-sender.ts | 10 - packages/botonic-api/src/index.ts | 6 - packages/botonic-api/src/rest/index.ts | 24 - packages/botonic-api/src/rest/routes/auth.ts | 20 - .../botonic-api/src/rest/routes/bot-input.ts | 78 - .../botonic-api/src/rest/routes/events.ts | 222 - packages/botonic-api/src/rest/routes/index.ts | 15 - packages/botonic-api/src/rest/routes/users.ts | 180 - .../src/rest/routes/validation/common.ts | 49 - .../src/rest/routes/validation/events.ts | 246 - .../src/rest/routes/validation/users.ts | 29 - .../botonic-api/src/rest/utils/paginator.ts | 62 - .../src/websocket/aws-websocket-server.ts | 61 - packages/botonic-api/src/websocket/index.ts | 24 - .../src/websocket/local-websocket-server.ts | 42 - packages/botonic-api/tsconfig.json | 7 - packages/botonic-cli/package-lock.json | 7660 ----------------- packages/botonic-cli/src/commands/deploy.ts | 484 -- packages/botonic-cli/src/commands/destroy.ts | 48 - 25 files changed, 11091 deletions(-) delete mode 100644 packages/botonic-api/package-lock.json delete mode 100644 packages/botonic-api/package.json delete mode 100644 packages/botonic-api/src/handlers/bot-executor/index.ts delete mode 100644 packages/botonic-api/src/handlers/index.ts delete mode 100644 packages/botonic-api/src/handlers/sender/aws-sender.ts delete mode 100644 packages/botonic-api/src/handlers/sender/index.ts delete mode 100644 packages/botonic-api/src/handlers/sender/local-sender.ts delete mode 100644 packages/botonic-api/src/index.ts delete mode 100644 packages/botonic-api/src/rest/index.ts delete mode 100644 packages/botonic-api/src/rest/routes/auth.ts delete mode 100644 packages/botonic-api/src/rest/routes/bot-input.ts delete mode 100644 packages/botonic-api/src/rest/routes/events.ts delete mode 100644 packages/botonic-api/src/rest/routes/index.ts delete mode 100644 packages/botonic-api/src/rest/routes/users.ts delete mode 100644 packages/botonic-api/src/rest/routes/validation/common.ts delete mode 100644 packages/botonic-api/src/rest/routes/validation/events.ts delete mode 100644 packages/botonic-api/src/rest/routes/validation/users.ts delete mode 100644 packages/botonic-api/src/rest/utils/paginator.ts delete mode 100644 packages/botonic-api/src/websocket/aws-websocket-server.ts delete mode 100644 packages/botonic-api/src/websocket/index.ts delete mode 100644 packages/botonic-api/src/websocket/local-websocket-server.ts delete mode 100644 packages/botonic-api/tsconfig.json delete mode 100644 packages/botonic-cli/package-lock.json delete mode 100644 packages/botonic-cli/src/commands/deploy.ts delete mode 100644 packages/botonic-cli/src/commands/destroy.ts diff --git a/packages/botonic-api/package-lock.json b/packages/botonic-api/package-lock.json deleted file mode 100644 index 73b27cde5e..0000000000 --- a/packages/botonic-api/package-lock.json +++ /dev/null @@ -1,1678 +0,0 @@ -{ - "name": "@botonic/api", - "version": "1.0.0-dev.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/compat-data": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", - "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==" - }, - "@babel/helper-compilation-targets": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", - "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-validator-option": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.1.tgz", - "integrity": "sha512-kX4oXixDxG197yhX+J3Wp+NpL2wuCFjWQAr6yX2jtCnflK9ulMI51ULFGIrWiX1jGfvAxdHp+XQCcP2bZGPs9A==", - "requires": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" - }, - "@babel/plugin-transform-runtime": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.7.tgz", - "integrity": "sha512-o02xM7iY7mSPI+TvaYDH0aYl+lg3+KT7qrD705JlsB/GrZSNaYO/4i+aDFKPiJ7ubq3hgv8NNLCdyB5MFxT8mg==", - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "babel-plugin-polyfill-corejs2": "^0.4.4", - "babel-plugin-polyfill-corejs3": "^0.8.2", - "babel-plugin-polyfill-regenerator": "^0.5.1" - } - }, - "@babel/runtime": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", - "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } - }, - "@botonic/core": { - "version": "1.0.0-dev.2", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-1.0.0-dev.2.tgz", - "integrity": "sha512-cxO1LH2A43sGeIWuMiL010ceMygoJPALC9FZAv5hXQSY7lmidjrPZH5P6tsU3riK+gaOp4a0tp5uUebpp5fIGQ==", - "requires": { - "axios": "^0.24.0", - "decode": "^0.3.0", - "fast-xml-parser": "^3.21.1", - "html-entities": "^2.3.2", - "pusher-js": "^5.1.1" - } - }, - "@nicolo-ribaudo/semver-v6": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", - "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==" - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-jwt": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@types/express-jwt/-/express-jwt-6.0.4.tgz", - "integrity": "sha512-I53KRQ9D0eTA6hVCN9S73iOeprKS3JNWK+Cp2mDPB6uOIkTVpkgSkX394kHQzb5cd0U02I0adRmsMxHk+zX8tA==", - "dev": true, - "requires": { - "@types/express": "*", - "@types/express-unless": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.35", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", - "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/express-unless": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/express-unless/-/express-unless-2.0.1.tgz", - "integrity": "sha512-PJLiNw03EjkWDkQbhNjIXXDLObC3eMQhFASDV+WakFbT8eL7YdjlbV6MXd3Av5Lejq499d6pFuV1jyK+EHyG3Q==", - "dev": true, - "requires": { - "express-unless": "*" - } - }, - "@types/express-ws": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/express-ws/-/express-ws-3.0.1.tgz", - "integrity": "sha512-VguRXzcpPBF0IggIGpUoM65cZJDfMQxoc6dKoCz1yLzcwcXW7ft60yhq3ygKhyEhEIQFtLrWjyz4AJ1qjmzCFw==", - "dev": true, - "requires": { - "@types/express": "*", - "@types/express-serve-static-core": "*", - "@types/ws": "*" - } - }, - "@types/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true - }, - "@types/jsonwebtoken": { - "version": "8.5.9", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz", - "integrity": "sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "@types/morgan": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.4.tgz", - "integrity": "sha512-cXoc4k+6+YAllH3ZHmx4hf7La1dzUk6keTR4bF4b4Sc0mZxU/zK4wO7l+ZzezXm/jkYj/qC+uYGZrarZdIVvyQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "15.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", - "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==", - "dev": true - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-static": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", - "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", - "dev": true, - "requires": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/uuid": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", - "dev": true - }, - "@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@vendia/serverless-express": { - "version": "4.10.4", - "resolved": "https://registry.npmjs.org/@vendia/serverless-express/-/serverless-express-4.10.4.tgz", - "integrity": "sha512-OH2cX+LqtrayCIkHAkShiLnvrgqGDvwIQEex5dHc/uJitBQjIz3q7dZtfU7cZ5vcR9Vkide5xJQDBEMbXoWLeA==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "ansi-escapes": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", - "requires": { - "type-fest": "^1.0.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-lambda": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/aws-lambda/-/aws-lambda-1.0.7.tgz", - "integrity": "sha512-9GNFMRrEMG5y3Jvv+V4azWvc+qNWdWLTjDdhf/zgMlz8haaaLWv0xeAIWxz9PuWUBawsVxy0zZotjCdR3Xq+2w==", - "requires": { - "aws-sdk": "^2.814.0", - "commander": "^3.0.2", - "js-yaml": "^3.14.1", - "watchpack": "^2.0.0-beta.10" - } - }, - "aws-sdk": { - "version": "2.1413.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1413.0.tgz", - "integrity": "sha512-vKpjC7iRwOhgv7P0xw90mVGO//2rqVPJKyYIs7uxLzSV0JzriVD+yqktOu/Hz6/phOmAd1cMIeFgpEC9ynrppg==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - }, - "dependencies": { - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - } - } - }, - "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - } - }, - "babel-plugin-add-module-exports": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", - "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==", - "dev": true - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.4.tgz", - "integrity": "sha512-9WeK9snM1BfxB38goUEv2FLnA6ja07UMfazFHzCXUb3NyDZAwfXvQiURQ6guTTMeHcOsdknULm1PDhs4uWtKyA==", - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.1", - "@nicolo-ribaudo/semver-v6": "^6.3.3" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.2.tgz", - "integrity": "sha512-Cid+Jv1BrY9ReW9lIfNlNpsI53N+FN7gE+f73zLAUbr9C52W4gKLWSByx47pfDJsEysojKArqOtOKZSVIIUTuQ==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.1", - "core-js-compat": "^3.31.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.1.tgz", - "integrity": "sha512-L8OyySuI6OSQ5hFy9O+7zFjyr4WhAfRjLIOkhQGYl+emwJkd/S4XXT1JpfrgR1jrQ1NcGiOh+yAdGlF8pnC3Jw==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "requires": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" - }, - "bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caniuse-lite": { - "version": "1.0.30001514", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001514.tgz", - "integrity": "sha512-ENcIpYBmwAAOm/V2cXgM7rZUrKKaqisZl4ZAI520FIkqGXUxJjmaIssbRW5HVVR5tyV6ygTLIm15aU8LUmQSaQ==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "core-js-compat": { - "version": "3.31.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.1.tgz", - "integrity": "sha512-wIDWd2s5/5aJSdpOJHfSibxNODxoGoWOBHt8JSPB41NOE94M7kuTPZCYLOlTtuoXTsBPKobpJ6T+y0SSy5L9SA==", - "requires": { - "browserslist": "^4.21.9" - } - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "electron-to-chromium": { - "version": "1.4.454", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.454.tgz", - "integrity": "sha512-pmf1rbAStw8UEQ0sr2cdJtWl48ZMuPD9Sto8HVQOq9vx9j2WgDEN6lYoaqFvqEHYOmGA9oRGn7LqWI9ta0YugQ==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "express-jwt": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/express-jwt/-/express-jwt-6.1.2.tgz", - "integrity": "sha512-l5dlf5lNM/1EODMsJGfHn1VnrhhsUYEetzrKFStJZLjFQXtR+HGdBiW+jUNZ+ISsFe+h7Wl/hQKjLrY2TX0Qkg==", - "requires": { - "async": "^3.2.2", - "express-unless": "^1.0.0", - "jsonwebtoken": "^8.1.0", - "lodash": "^4.17.21" - } - }, - "express-unless": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/express-unless/-/express-unless-1.0.0.tgz", - "integrity": "sha512-zXSSClWBPfcSYjg0hcQNompkFN/MxQQ53eyrzm9BYgik2ut2I7PxAf2foVqBRMYCwWaZx/aWodi+uk76npdSAw==" - }, - "express-validator": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/express-validator/-/express-validator-6.15.0.tgz", - "integrity": "sha512-r05VYoBL3i2pswuehoFSy+uM8NBuVaY7avp5qrYjQBDzagx2Z5A77FZqPT8/gNLF3HopWkIzaTFaC4JysWXLqg==", - "requires": { - "lodash": "^4.17.21", - "validator": "^13.9.0" - } - }, - "express-ws": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/express-ws/-/express-ws-5.0.2.tgz", - "integrity": "sha512-0uvmuk61O9HXgLhGl3QhNSEtRsQevtmbL94/eILaliEADZBHZOQUAiHFrGPrgsjikohyrmSG5g+sCfASTt0lkQ==", - "requires": { - "ws": "^7.4.6" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "requires": { - "has": "^1.0.3" - } - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "requires": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" - }, - "lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" - }, - "lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" - }, - "lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" - }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "terminal-link": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-3.0.0.tgz", - "integrity": "sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==", - "requires": { - "ansi-escapes": "^5.0.0", - "supports-hyperlinks": "^2.2.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - } - } - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "validator": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", - "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } -} diff --git a/packages/botonic-api/package.json b/packages/botonic-api/package.json deleted file mode 100644 index 411128a471..0000000000 --- a/packages/botonic-api/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "@botonic/api", - "version": "1.0.0-dev.1", - "description": "", - "main": "src/index.ts", - "scripts": { - "build": "rm -rf lib && ../../node_modules/.bin/tsc" - }, - "keywords": [], - "author": "", - "license": "MIT", - "devDependencies": { - "@types/cors": "^2.8.10", - "@types/express": "^4.17.12", - "@types/express-jwt": "^6.0.2", - "@types/express-ws": "^3.0.1", - "@types/jsonwebtoken": "^8.5.4", - "@types/morgan": "^1.9.2", - "@types/node": "^15.12.2", - "@types/uuid": "^8.3.0", - "@types/ws": "^8.2.0", - "babel-loader": "^8.2.2", - "babel-plugin-add-module-exports": "^1.0.4" - }, - "dependencies": { - "@babel/plugin-transform-runtime": "^7.22.6", - "@babel/runtime": "^7.14.6", - "@botonic/core": "dev", - "@vendia/serverless-express": "^4.3.9", - "aws-lambda": "^1.0.6", - "aws-sdk": "^2.1354.0", - "axios": "^0.24.0", - "bufferutil": "^4.0.3", - "chalk": "^4.1.1", - "cors": "^2.8.5", - "express": "^4.17.1", - "express-jwt": "^6.1.0", - "express-validator": "^6.12.0", - "express-ws": "^5.0.2", - "jsonwebtoken": "^8.5.1", - "terminal-link": "^3.0.0", - "ulid": "^2.3.0", - "utf-8-validate": "^5.0.5", - "uuid": "^8.3.2", - "ws": "^7.4.6" - } -} diff --git a/packages/botonic-api/src/handlers/bot-executor/index.ts b/packages/botonic-api/src/handlers/bot-executor/index.ts deleted file mode 100644 index aeed8b5c9f..0000000000 --- a/packages/botonic-api/src/handlers/bot-executor/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Environments } from '../..' - -export function botExecutorHandlerFactory(env, botExecutor) { - if (env === Environments.LOCAL) return botExecutor - if (env === Environments.AWS) { - return async function (event, context) { - try { - const params = JSON.parse(event.Records[0].body) - await botExecutor(params) - } catch (e) { - console.error(e) - return { - statusCode: 500, - } - } - return { - statusCode: 200, - } - } - } -} diff --git a/packages/botonic-api/src/handlers/index.ts b/packages/botonic-api/src/handlers/index.ts deleted file mode 100644 index ce603dc2d2..0000000000 --- a/packages/botonic-api/src/handlers/index.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { SQS } from 'aws-sdk' -import { v4 } from 'uuid' - -export class Handlers { - localHandlers - sqs - constructor(handlers) { - if (handlers) this.localHandlers = handlers - else { - this.sqs = new SQS({ - apiVersion: '2012-11-05', - region: process.env.AWS_REGION, - }) - } - } - async run(handlerName, params) { - if (this.localHandlers) { - await this.localHandlers[handlerName](params) - } else { - try { - const msgId = v4() - const sqsParams = { - MessageBody: JSON.stringify(params), - MessageDeduplicationId: msgId, - MessageGroupId: msgId, - QueueUrl: process.env[`${handlerName}_QUEUE_URL`], - } - console.log('queueing to', sqsParams.QueueUrl) - await this.sqs.sendMessage(sqsParams).promise() - } catch (e) { - console.log({ e }) - } - } - } -} diff --git a/packages/botonic-api/src/handlers/sender/aws-sender.ts b/packages/botonic-api/src/handlers/sender/aws-sender.ts deleted file mode 100644 index 97bf056120..0000000000 --- a/packages/botonic-api/src/handlers/sender/aws-sender.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { ApiGatewayManagementApi } from 'aws-sdk' - -import { WSS_PROTOCOL_PREFIX } from '../..' - -const apiGwManagementApi = new ApiGatewayManagementApi({ - apiVersion: '2018-11-29', - endpoint: process.env.WEBSOCKET_URL?.split(WSS_PROTOCOL_PREFIX)[1], -}) - -export async function awsSender({ events, websocketId }) { - for (const event of events) { - await apiGwManagementApi - .postToConnection({ - ConnectionId: websocketId, - Data: JSON.stringify(event), - }) - .promise() - } -} diff --git a/packages/botonic-api/src/handlers/sender/index.ts b/packages/botonic-api/src/handlers/sender/index.ts deleted file mode 100644 index 0560908ab9..0000000000 --- a/packages/botonic-api/src/handlers/sender/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Environments } from '../..' -import { awsSender } from './aws-sender' -import { localSender } from './local-sender' - -export function senderHandlerFactory(env) { - if (env === Environments.LOCAL) return localSender - if (env === Environments.AWS) { - return async function (event, context) { - try { - const { body } = event.Records[0] - const { events, websocketId } = JSON.parse(body) - await awsSender({ events, websocketId }) - } catch (e) { - console.error(e) - return { - statusCode: 500, - } - } - return { - statusCode: 200, - } - } - } -} diff --git a/packages/botonic-api/src/handlers/sender/local-sender.ts b/packages/botonic-api/src/handlers/sender/local-sender.ts deleted file mode 100644 index 18f93653d4..0000000000 --- a/packages/botonic-api/src/handlers/sender/local-sender.ts +++ /dev/null @@ -1,10 +0,0 @@ -import axios from 'axios' - -export async function localSender({ events, websocketId }) { - for (const event of events) { - await axios.post(`${WEBSOCKET_URL}send/`, { - event, - websocketId, - }) - } -} diff --git a/packages/botonic-api/src/index.ts b/packages/botonic-api/src/index.ts deleted file mode 100644 index fe07e49c99..0000000000 --- a/packages/botonic-api/src/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export enum Environments { - AWS = 'aws', - LOCAL = 'local', -} - -export const WSS_PROTOCOL_PREFIX = 'wss://' diff --git a/packages/botonic-api/src/rest/index.ts b/packages/botonic-api/src/rest/index.ts deleted file mode 100644 index 40df3698f5..0000000000 --- a/packages/botonic-api/src/rest/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -import serverlessExpress from '@vendia/serverless-express' -import chalk from 'chalk' -import terminalLink from 'terminal-link' -import { Environments } from '..' - -export function restServerFactory({ env, app }) { - if (env === Environments.LOCAL) { - const port = process.env.PORT - if (port) { - app.listen(port, () => { - console.log( - `${chalk.bold('Botonic REST API')} listening on port ${chalk.bold( - port - )}` - ) - const localUrl = `http://localhost:${port}` - console.log( - `${terminalLink(localUrl, localUrl, { fallback: () => localUrl })}` - ) - }) - } - } - if (env === Environments.AWS) return serverlessExpress({ app }) -} diff --git a/packages/botonic-api/src/rest/routes/auth.ts b/packages/botonic-api/src/rest/routes/auth.ts deleted file mode 100644 index 84beb4a1d7..0000000000 --- a/packages/botonic-api/src/rest/routes/auth.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Router } from 'express' -import { sign } from 'jsonwebtoken' - -export const SIGNATURE_ALGORITHM = 'HS256' -const EXPIRES_IN = '24h' - -export default function authRouter(args) { - const router = Router() - - router.route('/').post(async (req: any, res) => { - // TODO: Restrict access to this endpoint - const { userId } = req.body - const token = sign({ userId }, process.env.BOTONIC_JWT_SECRET, { - algorithm: SIGNATURE_ALGORITHM, - expiresIn: EXPIRES_IN, // TODO: Make it configurable? - }) - res.json({ token }) - }) - return router -} diff --git a/packages/botonic-api/src/rest/routes/bot-input.ts b/packages/botonic-api/src/rest/routes/bot-input.ts deleted file mode 100644 index b10091fdec..0000000000 --- a/packages/botonic-api/src/rest/routes/bot-input.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { - BotonicEvent, - BotonicOutputParser, - MessageEventAck, - MessageEventFrom, - Session, - User, -} from '@botonic/core' -import { dataProviderFactory } from '@botonic/core/lib/esm/data-provider' -import { Request, Router } from 'express' -import { ulid } from 'ulid' -import { v4 } from 'uuid' - -const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - -export default function botInputRouter(args: any): Router { - const router = Router() - const botonicOutputParser = new BotonicOutputParser() - const { bot } = args - - router.route('/').post(async (req, res) => { - // TODO: parse: Boolean arg to indicate if we should parse the output or not (default true) - const user = - (await getUser(req)) ?? - (await createUser(req.body.session.user.provider_id)) - - const output = await bot.input({ - input: req.body.input, - session: { user }, - lastRoutePath: user.route, - }) - - const parsedUserEvent = botonicOutputParser.parseFromUserInput( - req.body.input - ) - await dp.saveEvent({ - ...parsedUserEvent, - userId: user.id, - eventId: ulid(), - createdAt: new Date().toISOString(), - from: MessageEventFrom.USER, - ack: MessageEventAck.SENT, - } as BotonicEvent) - - const { messageEvents } = output - for (const messageEvent of messageEvents) { - await dp.saveEvent({ - ...messageEvent, - userId: user.id, - eventId: ulid(), - createdAt: new Date().toISOString(), - from: MessageEventFrom.BOT, - ack: MessageEventAck.SENT, - }) - } - res.json(output) - }) - - return router -} - -async function getUser(req: Request): Promise { - return ( - (await dp.getUser(req.body.session.user.id)) ?? - (await dp.getUserByField('provider_id', req.body.session.user.provider_id)) - ) -} - -async function createUser(providerId: string): Promise { - const user: User = { - id: v4(), - providerId, - isOnline: true, - route: '/', - session: {} as Session, - } - return dp.saveUser(user) -} diff --git a/packages/botonic-api/src/rest/routes/events.ts b/packages/botonic-api/src/rest/routes/events.ts deleted file mode 100644 index 153106a761..0000000000 --- a/packages/botonic-api/src/rest/routes/events.ts +++ /dev/null @@ -1,222 +0,0 @@ -import { BotonicEvent, MessageEventAck } from '@botonic/core' -import { dataProviderFactory } from '@botonic/core/lib/esm/data-provider' -import { Router } from 'express' -import jwt from 'express-jwt' -import { checkSchema, matchedData, validationResult } from 'express-validator' - -import { Paginator } from '../utils/paginator' -import { SIGNATURE_ALGORITHM } from './auth' -import { pageParamSchema, pageSizeParamSchema } from './validation/common' -import { - eventIdParamSchema, - validateBotonicEventData, -} from './validation/events' - -export default function eventsRouter(args: any): Router { - const router = Router() - const { handlers } = args - router - .route('/') - .get( - checkSchema({ - page: pageParamSchema, - pageSize: pageSizeParamSchema, - }), - async (req, res) => { - try { - const errors = validationResult(req) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array() }) - return - } - - const query = matchedData(req, { locations: ['query'] }) - const paginator = new Paginator(req, query.page, query.pageSize) - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const events = await dp.getEvents(paginator.limit, paginator.offset) - - const response = paginator.generateResponse(events) - res.status(200).json(response) - } catch (e) { - res.status(500).send({ error: e.message }) - } - } - ) - // // Current route - // .post(async (req, res) => { - // const errors = await validateBotonicEventData({ request: req }) - // if (!errors.isEmpty()) { - // res.status(400).send({ errors: errors.array({ onlyFirstError: true }) }) - // return - // } - - // try { - // const event = matchedData(req, { locations: ['body'] }) as BotonicEvent - // const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - // if (await dp.getEvent(event.eventId)) { - // res - // .status(409) - // .send({ error: `Event with ID '${event.eventId} already exists` }) - // } - // const storedEvent = await dp.saveEvent(event) - // res.status(201).send(storedEvent) - // } catch (e) { - // res.status(500).send({ error: e.message }) - // } - // }) - .post( - jwt({ - secret: process.env.BOTONIC_JWT_SECRET, - algorithms: [SIGNATURE_ALGORITHM], - }), - async (req: any, res: any) => { - // TODO: Validate event - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - try { - const { userId } = req.user - const { message, sender } = req.body - let user = await dp.getUser(userId) - user = await dp.updateUser({ - ...user, - session: JSON.stringify({ user: sender }), - }) - // TODO: Next iterations: We should receive an event with userId and eventId from frontend - const webchatMsgId = message.id - await handlers.run('sender', { - events: [ - { - action: 'update_message_info', - message: { id: webchatMsgId, ack: MessageEventAck.RECEIVED }, - }, - ], - websocketId: user.websocketId, - }) - await handlers.run('botExecutor', { - input: message, - session: JSON.parse(user.session), - lastRoutePath: user.route, - websocketId: user.websocketId, - }) - } catch (e) { - console.log({ e }) - res.status(500).send(JSON.stringify(e)) - } - res.status(200).send('OK') - } - ) - - router - .route('/:eventId') - .get(checkSchema({ eventId: eventIdParamSchema }), async (req, res) => { - const errors = validationResult(req) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array() }) - return - } - - try { - const params = matchedData(req, { locations: ['params'] }) - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const event = await dp.getEvent(params.eventId) - if (!event) { - res - .status(404) - .send({ error: `Event with ID '${params.eventId}' not found` }) - return - } - res.status(200).send(event) - } catch (e) { - res.status(500).send({ error: e.message }) - } - }) - .put(async (req, res) => { - const errors = await validateBotonicEventData({ - request: req, - allFieldsOptional: false, - withParamEventId: true, - }) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array({ onlyFirstError: true }) }) - return - } - - try { - const params = matchedData(req, { locations: ['params'] }) - const updatedEvent = matchedData(req, { - locations: ['body'], - }) as BotonicEvent - - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const event = await dp.getEvent(params.eventId) - if (!event) { - res - .status(404) - .send({ error: `Event with ID '${params.eventId}' not found` }) - return - } - - updatedEvent.eventId = event.eventId - await dp.updateEvent(updatedEvent) - res.status(200).send(updatedEvent) - } catch (e) { - res.status(500).send({ error: e.message }) - } - }) - .patch(async (req, res) => { - const errors = await validateBotonicEventData({ - request: req, - allFieldsOptional: true, - withParamEventId: true, - }) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array({ onlyFirstError: true }) }) - return - } - - try { - const params = matchedData(req, { locations: ['params'] }) - const newEventData = matchedData(req, { - locations: ['body'], - }) as Partial - - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const event = await dp.getEvent(params.eventId) - if (!event) { - res - .status(404) - .send({ error: `Event with ID '${params.eventId}' not found` }) - return - } - - newEventData.eventId = event.eventId - const updatedEvent = { ...event, ...newEventData } as BotonicEvent - await dp.updateEvent(updatedEvent) - res.status(200).send(updatedEvent) - } catch (e) { - res.status(500).send({ error: e.message }) - } - }) - .delete(checkSchema({ eventId: eventIdParamSchema }), async (req, res) => { - try { - const errors = validationResult(req) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array() }) - return - } - - const params = matchedData(req, { locations: ['params'] }) - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const event = await dp.deleteEvent(params.eventId) - if (!event) { - res - .status(404) - .send({ error: `Event with ID '${params.eventId}' not found` }) - return - } - res.status(200).send(event) - } catch (e) { - res.status(500).send({ error: e.message }) - } - }) - return router -} diff --git a/packages/botonic-api/src/rest/routes/index.ts b/packages/botonic-api/src/rest/routes/index.ts deleted file mode 100644 index 43aab1c965..0000000000 --- a/packages/botonic-api/src/rest/routes/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Router } from 'express' - -import authRouter from './auth' -import botInputRouter from './bot-input' -import eventsRouter from './events' -import usersRouter from './users' - -export const routes = (args: any) => { - const router = Router() - router.use('/users', usersRouter(args)) - router.use('/auth', authRouter(args)) - router.use('/events', eventsRouter(args)) - router.use('/bot-input', botInputRouter(args)) - return router -} diff --git a/packages/botonic-api/src/rest/routes/users.ts b/packages/botonic-api/src/rest/routes/users.ts deleted file mode 100644 index 4825b19886..0000000000 --- a/packages/botonic-api/src/rest/routes/users.ts +++ /dev/null @@ -1,180 +0,0 @@ -import { User } from '@botonic/core' -import { dataProviderFactory } from '@botonic/core/lib/esm/data-provider' -import { Router } from 'express' -import { checkSchema, matchedData, validationResult } from 'express-validator' - -import { Paginator } from '../utils/paginator' -import { - getOptionalSchema, - pageParamSchema, - pageSizeParamSchema, -} from './validation/common' -import { - userIdParamSchema, - userSchema, - userWithUserIdParamSchema, -} from './validation/users' - -export default function usersRouter(args) { - const router = Router() - router - .route('/') - .get( - checkSchema({ - page: pageParamSchema, - pageSize: pageSizeParamSchema, - }), - async (req, res) => { - try { - const errors = validationResult(req) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array() }) - return - } - - const query = matchedData(req, { locations: ['query'] }) - const paginator = new Paginator(req, query.page, query.pageSize) - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const users = await dp.getUsers(paginator.limit, paginator.offset) - - const response = paginator.generateResponse(users) - res.status(200).json(response) - } catch (e) { - res.status(500).send({ error: e.message }) - } - } - ) - .post(checkSchema(userSchema), async (req, res) => { - const errors = await validationResult(req) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array({ onlyFirstError: true }) }) - return - } - - try { - const user = matchedData(req, { locations: ['body'] }) as User - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - if (await dp.getUser(user.id)) { - res - .status(409) - .send({ error: `User with ID '${user.id} already exists` }) - } - const storedUser = await dp.saveUser(user) - res.status(201).send(storedUser) - } catch (e) { - res.status(500).send({ error: e.message }) - } - }) - - router - .route('/:userId') - .get(checkSchema({ userId: userIdParamSchema }), async (req, res) => { - const errors = await validationResult(req) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array() }) - return - } - - try { - const params = matchedData(req, { locations: ['params'] }) - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const user = await dp.getUser(params.userId) - if (!user) { - res - .status(404) - .send({ error: `User with ID '${params.userId}' not found` }) - return - } - res.status(200).send(user) - } catch (e) { - res.status(500).send({ error: e.message }) - } - }) - .put(checkSchema(userWithUserIdParamSchema), async (req, res) => { - const errors = validationResult(req) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array({ onlyFirstError: true }) }) - return - } - - try { - const params = matchedData(req, { locations: ['params'] }) - const updatedUser = matchedData(req, { - locations: ['body'], - }) as User - - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const user = await dp.getUser(params.userId) - if (!user) { - res - .status(404) - .send({ error: `User with ID '${params.userId}' not found` }) - return - } - - updatedUser.id = user.id - await dp.updateUser(updatedUser) - res.status(200).send(updatedUser) - } catch (e) { - res.status(500).send({ error: e.message }) - } - }) - .patch( - checkSchema(getOptionalSchema(userWithUserIdParamSchema)), - async (req, res) => { - const errors = validationResult(req) - if (!errors.isEmpty()) { - res - .status(400) - .send({ errors: errors.array({ onlyFirstError: true }) }) - return - } - - try { - const params = matchedData(req, { locations: ['params'] }) - const newUserData = matchedData(req, { - locations: ['body'], - }) as Partial - - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const user = await dp.getUser(params.userId) - if (!user) { - res - .status(404) - .send({ error: `User with ID '${params.userId}' not found` }) - return - } - - newUserData.id = user.id - const updatedUser = { ...user, ...newUserData } - await dp.updateUser(updatedUser) - res.status(200).send(updatedUser) - } catch (e) { - res.status(500).send({ error: e.message }) - } - } - ) - .delete(checkSchema({ userId: userIdParamSchema }), async (req, res) => { - const errors = validationResult(req) - if (!errors.isEmpty()) { - res.status(400).send({ errors: errors.array() }) - return - } - - try { - const params = matchedData(req, { locations: ['params'] }) - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - const user = await dp.deleteUser(params.userId) - if (!user) { - res - .status(404) - .send({ error: `User with ID '${params.userId}' not found` }) - return - } - res.status(200).send(user) - } catch (e) { - res.status(500).send({ error: e.message }) - } - }) - return router -} diff --git a/packages/botonic-api/src/rest/routes/validation/common.ts b/packages/botonic-api/src/rest/routes/validation/common.ts deleted file mode 100644 index ed0c894f70..0000000000 --- a/packages/botonic-api/src/rest/routes/validation/common.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { ParamSchema, Schema } from 'express-validator' - -export const inQuery: ParamSchema = { in: ['query'] } -export const inParams: ParamSchema = { in: ['params'] } -export const inBody: ParamSchema = { in: ['body'] } -export const isRequired: ParamSchema = { notEmpty: true } -export const isOptional: ParamSchema = { - optional: { options: { nullable: true } }, -} -export const isNaturalNumber: ParamSchema = { - isNumeric: { options: { no_symbols: true } }, -} -export const isNumeric: ParamSchema = { isNumeric: true } -export const isBoolean: ParamSchema = { isBoolean: true } -export const isDateTime: ParamSchema = { - isISO8601: { options: { strict: true, strictSeparator: true } }, -} -export const isIn = (valueList: string[]): ParamSchema => { - return { - isIn: { options: [valueList] }, - errorMessage: `Invalid value. Allowed values: ${valueList}`, - } -} -export const equals = (text: string): ParamSchema => { - return { - equals: { options: [text] }, - errorMessage: `Invalid value. Value should be '${text}'`, - } -} -export const toInt: ParamSchema = { toInt: true } - -export const pageParamSchema: ParamSchema = { - ...inQuery, - ...isOptional, - ...isNaturalNumber, - ...toInt, -} -export const pageSizeParamSchema = pageParamSchema - -export function getOptionalSchema(schema: Schema): Schema { - for (const field of Object.keys(schema)) { - const validations = schema[field] - delete validations.notEmpty - if (!('optional' in validations)) { - schema[field] = { ...validations, ...isOptional } - } - } - return schema -} diff --git a/packages/botonic-api/src/rest/routes/validation/events.ts b/packages/botonic-api/src/rest/routes/validation/events.ts deleted file mode 100644 index 6c0d171c00..0000000000 --- a/packages/botonic-api/src/rest/routes/validation/events.ts +++ /dev/null @@ -1,246 +0,0 @@ -import { - ConnectionEventStatuses, - EventTypes, - MessageEventAck, - MessageEventFrom, - MessageEventTypes, -} from '@botonic/core' -import { Request } from 'express' -import { - body, - checkSchema, - ParamSchema, - Result, - Schema, - validationResult, -} from 'express-validator' - -import { - equals, - getOptionalSchema, - inBody, - inParams, - isBoolean, - isDateTime, - isIn, - isNaturalNumber, - isNumeric, - isOptional, - isRequired, - toInt, -} from './common' - -export const eventIdParamSchema: ParamSchema = { ...inParams, ...isRequired } - -export const buttonsSchema: Schema = { - buttons: { - ...inBody, - ...isOptional, - isArray: true, - errorMessage: 'buttons have to be an array', - }, - 'buttons.*.title': { ...inBody, ...isRequired }, - 'buttons.*.webview': { ...inBody, ...isOptional }, - 'buttons.*.params': { ...inBody, ...isOptional }, - 'buttons.*.url': { ...inBody, ...isOptional }, - 'buttons.*.target': { ...inBody, ...isOptional }, - 'buttons.*.payload': { ...inBody, ...isOptional }, -} - -export const repliesSchema: Schema = { - replies: { - ...inBody, - ...isOptional, - isArray: true, - errorMessage: 'replies have to be an array', - }, - 'replies.*.title': { ...inBody, ...isRequired }, - 'replies.*.payload': { ...inBody, ...isRequired }, -} - -export const carouselSchema: Schema = { - elements: { - ...inBody, - isArray: true, - errorMessage: 'elements have to be an array', - }, - 'elements.*.pic': { ...inBody, ...isRequired }, - 'elements.*.title': { ...inBody, ...isRequired }, - 'elements.*.subtitle': { ...inBody, ...isOptional }, -} - -export const baseEventSchema: Schema = { - eventId: { ...inBody, ...isRequired }, - eventType: { ...inBody, ...isRequired, ...isIn(Object.values(EventTypes)) }, - createdAt: { ...inBody, ...isRequired, ...isDateTime }, - modifiedAt: { ...inBody, ...isOptional, ...isDateTime }, -} - -export const botonicMessageEventSchema: Schema = { - ...baseEventSchema, - ack: { ...inBody, ...isRequired, ...isIn(Object.values(MessageEventAck)) }, - from: { ...inBody, ...isRequired, ...isIn(Object.values(MessageEventFrom)) }, - type: { ...inBody, ...isRequired, ...isIn(Object.values(MessageEventTypes)) }, - typing: { ...inBody, ...isOptional, ...isNaturalNumber, ...toInt }, - delay: { ...inBody, ...isOptional, ...isNaturalNumber, ...toInt }, -} - -export const mediaMessageEventSchema: Schema = { - ...botonicMessageEventSchema, - ...buttonsSchema, - src: { ...inBody, ...isRequired }, -} - -export const textMessageEventSchema: Schema = { - ...botonicMessageEventSchema, - ...buttonsSchema, - ...repliesSchema, - type: { - ...inBody, - ...isRequired, - ...equals(MessageEventTypes.TEXT), - }, - markdown: { ...inBody, ...isRequired, ...isBoolean }, - text: { ...inBody, ...isRequired }, -} -export const postbackMessageEventSchema: Schema = { - ...botonicMessageEventSchema, - payload: { ...inBody, ...isRequired }, -} -export const audioMessageEventSchema: Schema = { - ...mediaMessageEventSchema, - type: { ...inBody, ...isRequired, ...equals(MessageEventTypes.AUDIO) }, -} -export const imageMessageEventSchema: Schema = { - ...mediaMessageEventSchema, - type: { ...inBody, ...isRequired, ...equals(MessageEventTypes.IMAGE) }, -} -export const documentMessageEventSchema: Schema = { - ...mediaMessageEventSchema, - type: { ...inBody, ...isRequired, ...equals(MessageEventTypes.DOCUMENT) }, -} -export const videoMessageEventSchema: Schema = { - ...mediaMessageEventSchema, - type: { ...inBody, ...isRequired, ...equals(MessageEventTypes.VIDEO) }, -} -export const locationMessageEventSchema: Schema = { - ...botonicMessageEventSchema, - type: { ...inBody, ...isRequired, ...equals(MessageEventTypes.LOCATION) }, - lat: { ...inBody, ...isRequired, ...isNumeric, ...toInt }, - long: { ...inBody, ...isRequired, ...isNumeric, ...toInt }, -} -export const carouselMessageEventSchema: Schema = { - ...botonicMessageEventSchema, - ...carouselSchema, - type: { ...inBody, ...isRequired, ...equals(MessageEventTypes.CAROUSEL) }, -} -export const customMessageEventSchema: Schema = { - ...botonicMessageEventSchema, - ...repliesSchema, - type: { ...inBody, ...isRequired, ...equals(MessageEventTypes.CUSTOM) }, - customTypeName: { ...inBody, ...isRequired }, -} -export const connectionEventSchema: Schema = { - ...baseEventSchema, - eventType: { ...inBody, ...isRequired, ...equals(EventTypes.CONNECTION) }, - status: { - ...inBody, - ...isRequired, - ...isIn(Object.values(ConnectionEventStatuses)), - }, -} - -export const botonicEventValidationChains = [ - checkSchema(textMessageEventSchema), - checkSchema(postbackMessageEventSchema), - checkSchema(audioMessageEventSchema), - checkSchema(documentMessageEventSchema), - checkSchema(imageMessageEventSchema), - checkSchema(videoMessageEventSchema), - checkSchema(locationMessageEventSchema), - checkSchema(carouselMessageEventSchema), - checkSchema(customMessageEventSchema), - checkSchema(connectionEventSchema), -] - -export async function validateBotonicEventData({ - request, - allFieldsOptional = false, - withParamEventId = false, -}): Promise { - const opt = allFieldsOptional - const e = withParamEventId - await checkSchema(getSchema(baseEventSchema, opt, e)).run(request) - const errors = validationResult(request) - if (!errors.isEmpty()) { - return errors - } - - let schema - if (request.body.eventType === EventTypes.CONNECTION) { - schema = getSchema(connectionEventSchema, opt, e) - } else { - switch (request.body.type) { - case MessageEventTypes.TEXT: - schema = getSchema(textMessageEventSchema, opt, e) - break - case MessageEventTypes.POSTBACK: - schema = getSchema(postbackMessageEventSchema, opt, e) - break - case MessageEventTypes.AUDIO: - schema = getSchema(audioMessageEventSchema, opt, e) - break - case MessageEventTypes.DOCUMENT: - schema = getSchema(documentMessageEventSchema, opt, e) - break - case MessageEventTypes.IMAGE: - schema = getSchema(imageMessageEventSchema, opt, e) - break - case MessageEventTypes.VIDEO: - schema = getSchema(videoMessageEventSchema, opt, e) - break - case MessageEventTypes.LOCATION: - schema = getSchema(locationMessageEventSchema, opt, e) - break - case MessageEventTypes.CAROUSEL: - schema = getSchema(carouselMessageEventSchema, opt, e) - break - case MessageEventTypes.CUSTOM: - schema = getSchema(customMessageEventSchema, opt, e) - break - default: - schema = getSchema(botonicMessageEventSchema, opt, e) - break - } - } - await checkSchema(schema).run(request) - return validationResult(request) -} - -export async function validateEventType(req: Request): Promise { - await body('eventType').equals(EventTypes.CONNECTION).run(req) - return validationResult(req) -} - -export async function validateType(req: Request): Promise { - const messageEventTypes = Object.values(MessageEventTypes) - await body('type') - .isIn(messageEventTypes) - .withMessage(`Invalid value. Allowed values: ${messageEventTypes}`) - .run(req) - return validationResult(req) -} - -function getSchema( - schema: Schema, - allFieldsOptional = false, - withParamEventId = false -): Schema { - if (withParamEventId) { - schema = { ...schema, eventId: eventIdParamSchema } - } - if (allFieldsOptional) { - schema = getOptionalSchema(schema) - } - return schema -} diff --git a/packages/botonic-api/src/rest/routes/validation/users.ts b/packages/botonic-api/src/rest/routes/validation/users.ts deleted file mode 100644 index 95821703b6..0000000000 --- a/packages/botonic-api/src/rest/routes/validation/users.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { ParamSchema, Schema } from 'express-validator' - -import { - inBody, - inParams, - isBoolean, - isDateTime, - isOptional, - isRequired, -} from './common' - -export const userIdParamSchema: ParamSchema = { ...inParams, ...isRequired } - -export const userSchema: Schema = { - id: { ...inBody, ...isRequired }, - websocketId: { ...inBody, ...isOptional }, - providerId: { ...inBody, ...isOptional }, - //TODO: determine session schema - session: { ...inBody, ...isRequired }, - route: { ...inBody, ...isRequired }, - isOnline: { ...inBody, ...isRequired, ...isBoolean }, - locationInfo: { ...inBody, ...isOptional }, -} - -export const userWithUserIdParamSchema: Schema = { - userId: userIdParamSchema, - ...userSchema, - id: { ...inBody, ...isOptional }, -} diff --git a/packages/botonic-api/src/rest/utils/paginator.ts b/packages/botonic-api/src/rest/utils/paginator.ts deleted file mode 100644 index 3755a8edaa..0000000000 --- a/packages/botonic-api/src/rest/utils/paginator.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Request } from 'express' - -export const FIRST_PAGE = 1 -export const DEFAULT_PAGE_SIZE = 10 -export const MAX_PAGE_SIZE = 100 -export const MIN_PAGE_SIZE = 1 - -type JsonResponse = { - previous?: string - next?: string - count: number - results: T[] -} - -export class Paginator { - private readonly baseUrl: string - private readonly page: number - private readonly pageSize: number - - constructor( - request: Request, - page = FIRST_PAGE, - pageSize = DEFAULT_PAGE_SIZE - ) { - this.baseUrl = this.getBaseUrl(request) - this.page = page < FIRST_PAGE ? FIRST_PAGE : page - pageSize = pageSize > MAX_PAGE_SIZE ? MAX_PAGE_SIZE : pageSize - this.pageSize = pageSize < MIN_PAGE_SIZE ? DEFAULT_PAGE_SIZE : pageSize - } - - get limit(): number { - return this.pageSize - } - - get offset(): number { - return (this.page - 1) * this.pageSize - } - - get previousUrl(): string { - const previousPage = this.page - 1 - return `${this.baseUrl}/?page=${previousPage}&pageSize=${this.pageSize}` - } - - get nextUrl(): string { - const nextPage = this.page + 1 - return `${this.baseUrl}/?page=${nextPage}&pageSize=${this.pageSize}` - } - - generateResponse(items: T[]): JsonResponse { - return { - previous: this.page > FIRST_PAGE ? this.previousUrl : undefined, - next: items.length === this.pageSize ? this.nextUrl : undefined, - //TODO: count should be the total amount of items, not only the number of items of the actual page - count: items.length, - results: items, - } - } - - private getBaseUrl(request: Request): string { - return `${request.protocol}://${request.get('host')}${request.baseUrl}` - } -} diff --git a/packages/botonic-api/src/websocket/aws-websocket-server.ts b/packages/botonic-api/src/websocket/aws-websocket-server.ts deleted file mode 100644 index 050a31092b..0000000000 --- a/packages/botonic-api/src/websocket/aws-websocket-server.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { ApiGatewayManagementApi } from 'aws-sdk' - -export const WebSocketServer = ({ onConnect, onAuth, onDisconnect }) => { - return { - onConnect: async event => { - const websocketId = event.requestContext.connectionId - try { - await onConnect(websocketId) - } catch (err) { - return { - statusCode: 500, - body: 'Failed to connect: ' + JSON.stringify(err), - } - } - return { statusCode: 200, body: 'Connected successfully.' } - }, - onAuth: async event => { - const websocketId = event.requestContext.connectionId - await onAuth({ - websocketId, - data: event.body, - send: async message => { - const apiGwManagementApi = new ApiGatewayManagementApi({ - apiVersion: '2018-11-29', - endpoint: - event.requestContext.domainName + - '/' + - event.requestContext.stage, - }) - try { - await apiGwManagementApi - .postToConnection({ - ConnectionId: websocketId, - Data: JSON.stringify(message), - }) - .promise() - } catch (e) { - if (e.statusCode === 410) { - console.log(`Found stale connection, deleting ${websocketId}`) - } else { - throw e - } - } - }, - }) - return { statusCode: 200, body: 'Data sent.' } - }, - onDisconnect: async event => { - const websocketId = event.requestContext.connectionId - try { - await onDisconnect(websocketId) - } catch (err) { - return { - statusCode: 500, - body: 'Failed to disconnect: ' + JSON.stringify(err), - } - } - return { statusCode: 200, body: 'Disconnected.' } - }, - } -} diff --git a/packages/botonic-api/src/websocket/index.ts b/packages/botonic-api/src/websocket/index.ts deleted file mode 100644 index 723c3d2a3f..0000000000 --- a/packages/botonic-api/src/websocket/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Environments } from '..' -import { WebSocketServer } from './aws-websocket-server' -import { localWebSocketServer } from './local-websocket-server' - -export const websocketServerFactory = ({ - env, - onConnect, - onAuth, - onDisconnect, -}) => { - if (env === Environments.LOCAL) { - return localWebSocketServer({ onConnect, onAuth, onDisconnect }) - } else if (env === Environments.AWS) { - return WebSocketServer({ - onConnect, - onAuth, - onDisconnect, - }) - } else { - throw Error( - `Error while creating WebSocket Server: Env [${env}] not supported` - ) - } -} diff --git a/packages/botonic-api/src/websocket/local-websocket-server.ts b/packages/botonic-api/src/websocket/local-websocket-server.ts deleted file mode 100644 index a5cf1c128b..0000000000 --- a/packages/botonic-api/src/websocket/local-websocket-server.ts +++ /dev/null @@ -1,42 +0,0 @@ -import chalk from 'chalk' -import express from 'express' -import expressWs from 'express-ws' -import { v4 } from 'uuid' - -export const localWebSocketServer = ({ onConnect, onAuth, onDisconnect }) => { - const connections = {} - const wsApp = expressWs(express()).app - wsApp.use(express.json()) - wsApp.use(express.urlencoded({ extended: true })) - - wsApp.post('/send', (req, res) => { - const { event, websocketId } = req.body - connections[websocketId].send(JSON.stringify(event)) - res.status(200).send() - }) - - wsApp.ws('/', function (ws: any, req) { - ws.id = v4() - connections[ws.id] = ws - onConnect(ws.id) - ws.on('message', function (data) { - onAuth({ - websocketId: ws.id, - data, - send: message => ws.send(JSON.stringify(message)), - }) - }) - ws.on('close', () => { - onDisconnect(ws.id) - delete connections[ws.id] - }) - }) - - console.log( - `${chalk.bold('Botonic WebSocket API')} listening on port ${chalk.bold( - process.env.PORT - )}` - ) - wsApp.listen(parseInt(process.env.PORT as string)) - return wsApp -} diff --git a/packages/botonic-api/tsconfig.json b/packages/botonic-api/tsconfig.json deleted file mode 100644 index bd59168af3..0000000000 --- a/packages/botonic-api/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "esModuleInterop": true, - "outDir": "./lib" - } -} diff --git a/packages/botonic-cli/package-lock.json b/packages/botonic-cli/package-lock.json deleted file mode 100644 index 2868a6139c..0000000000 --- a/packages/botonic-cli/package-lock.json +++ /dev/null @@ -1,7660 +0,0 @@ -{ - "name": "@botonic/cli", - "version": "0.23.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@aws-crypto/crc32": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", - "requires": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/ie11-detection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", - "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", - "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/sha256-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", - "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", - "requires": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/sha256-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", - "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", - "requires": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", - "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", - "requires": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-sdk/client-cloudfront": { - "version": "3.457.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.457.0.tgz", - "integrity": "sha512-jXyQLwF6V/RT+LW6XNMMQTnfGNexyBoUi7fxKq5oTQk6cJHN1ee27qHkuruYXdUJKMOELAopFfJenzliAKLTuw==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.454.0", - "@aws-sdk/core": "3.451.0", - "@aws-sdk/credential-provider-node": "3.451.0", - "@aws-sdk/middleware-host-header": "3.451.0", - "@aws-sdk/middleware-logger": "3.451.0", - "@aws-sdk/middleware-recursion-detection": "3.451.0", - "@aws-sdk/middleware-signing": "3.451.0", - "@aws-sdk/middleware-user-agent": "3.451.0", - "@aws-sdk/region-config-resolver": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@aws-sdk/util-user-agent-browser": "3.451.0", - "@aws-sdk/util-user-agent-node": "3.451.0", - "@aws-sdk/xml-builder": "3.310.0", - "@smithy/config-resolver": "^2.0.18", - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/hash-node": "^2.0.15", - "@smithy/invalid-dependency": "^2.0.13", - "@smithy/middleware-content-length": "^2.0.15", - "@smithy/middleware-endpoint": "^2.2.0", - "@smithy/middleware-retry": "^2.0.20", - "@smithy/middleware-serde": "^2.0.13", - "@smithy/middleware-stack": "^2.0.7", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/protocol-http": "^3.0.9", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.19", - "@smithy/util-defaults-mode-node": "^2.0.25", - "@smithy/util-endpoints": "^1.0.4", - "@smithy/util-retry": "^2.0.6", - "@smithy/util-stream": "^2.0.20", - "@smithy/util-utf8": "^2.0.2", - "@smithy/util-waiter": "^2.0.13", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/client-sso": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.451.0.tgz", - "integrity": "sha512-KkYSke3Pdv3MfVH/5fT528+MKjMyPKlcLcd4zQb0x6/7Bl7EHrPh1JZYjzPLHelb+UY5X0qN8+cb8iSu1eiwIQ==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.451.0", - "@aws-sdk/middleware-host-header": "3.451.0", - "@aws-sdk/middleware-logger": "3.451.0", - "@aws-sdk/middleware-recursion-detection": "3.451.0", - "@aws-sdk/middleware-user-agent": "3.451.0", - "@aws-sdk/region-config-resolver": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@aws-sdk/util-user-agent-browser": "3.451.0", - "@aws-sdk/util-user-agent-node": "3.451.0", - "@smithy/config-resolver": "^2.0.18", - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/hash-node": "^2.0.15", - "@smithy/invalid-dependency": "^2.0.13", - "@smithy/middleware-content-length": "^2.0.15", - "@smithy/middleware-endpoint": "^2.2.0", - "@smithy/middleware-retry": "^2.0.20", - "@smithy/middleware-serde": "^2.0.13", - "@smithy/middleware-stack": "^2.0.7", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/protocol-http": "^3.0.9", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.19", - "@smithy/util-defaults-mode-node": "^2.0.25", - "@smithy/util-endpoints": "^1.0.4", - "@smithy/util-retry": "^2.0.6", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/client-sts": { - "version": "3.454.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.454.0.tgz", - "integrity": "sha512-0fDvr8WeB6IYO8BUCzcivWmahgGl/zDbaYfakzGnt4mrl5ztYaXE875WI6b7+oFcKMRvN+KLvwu5TtyFuNY+GQ==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.451.0", - "@aws-sdk/credential-provider-node": "3.451.0", - "@aws-sdk/middleware-host-header": "3.451.0", - "@aws-sdk/middleware-logger": "3.451.0", - "@aws-sdk/middleware-recursion-detection": "3.451.0", - "@aws-sdk/middleware-sdk-sts": "3.451.0", - "@aws-sdk/middleware-signing": "3.451.0", - "@aws-sdk/middleware-user-agent": "3.451.0", - "@aws-sdk/region-config-resolver": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@aws-sdk/util-user-agent-browser": "3.451.0", - "@aws-sdk/util-user-agent-node": "3.451.0", - "@smithy/config-resolver": "^2.0.18", - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/hash-node": "^2.0.15", - "@smithy/invalid-dependency": "^2.0.13", - "@smithy/middleware-content-length": "^2.0.15", - "@smithy/middleware-endpoint": "^2.2.0", - "@smithy/middleware-retry": "^2.0.20", - "@smithy/middleware-serde": "^2.0.13", - "@smithy/middleware-stack": "^2.0.7", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/protocol-http": "^3.0.9", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.19", - "@smithy/util-defaults-mode-node": "^2.0.25", - "@smithy/util-endpoints": "^1.0.4", - "@smithy/util-retry": "^2.0.6", - "@smithy/util-utf8": "^2.0.2", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/core": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.451.0.tgz", - "integrity": "sha512-SamWW2zHEf1ZKe3j1w0Piauryl8BQIlej0TBS18A4ACzhjhWXhCs13bO1S88LvPR5mBFXok3XOT6zPOnKDFktw==", - "requires": { - "@smithy/smithy-client": "^2.1.15", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-env": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.451.0.tgz", - "integrity": "sha512-9dAav7DcRgaF7xCJEQR5ER9ErXxnu/tdnVJ+UPmb1NPeIZdESv1A3lxFDEq1Fs8c4/lzAj9BpshGyJVIZwZDKg==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-ini": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.451.0.tgz", - "integrity": "sha512-TySt64Ci5/ZbqFw1F9Z0FIGvYx5JSC9e6gqDnizIYd8eMnn8wFRUscRrD7pIHKfrhvVKN5h0GdYovmMO/FMCBw==", - "requires": { - "@aws-sdk/credential-provider-env": "3.451.0", - "@aws-sdk/credential-provider-process": "3.451.0", - "@aws-sdk/credential-provider-sso": "3.451.0", - "@aws-sdk/credential-provider-web-identity": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-node": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.451.0.tgz", - "integrity": "sha512-AEwM1WPyxUdKrKyUsKyFqqRFGU70e4qlDyrtBxJnSU9NRLZI8tfEZ67bN7fHSxBUBODgDXpMSlSvJiBLh5/3pw==", - "requires": { - "@aws-sdk/credential-provider-env": "3.451.0", - "@aws-sdk/credential-provider-ini": "3.451.0", - "@aws-sdk/credential-provider-process": "3.451.0", - "@aws-sdk/credential-provider-sso": "3.451.0", - "@aws-sdk/credential-provider-web-identity": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-process": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.451.0.tgz", - "integrity": "sha512-HQywSdKeD5PErcLLnZfSyCJO+6T+ZyzF+Lm/QgscSC+CbSUSIPi//s15qhBRVely/3KBV6AywxwNH+5eYgt4lQ==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-sso": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.451.0.tgz", - "integrity": "sha512-Usm/N51+unOt8ID4HnQzxIjUJDrkAQ1vyTOC0gSEEJ7h64NSSPGD5yhN7il5WcErtRd3EEtT1a8/GTC5TdBctg==", - "requires": { - "@aws-sdk/client-sso": "3.451.0", - "@aws-sdk/token-providers": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-web-identity": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.451.0.tgz", - "integrity": "sha512-Xtg3Qw65EfDjWNG7o2xD6sEmumPfsy3WDGjk2phEzVg8s7hcZGxf5wYwe6UY7RJvlEKrU0rFA+AMn6Hfj5oOzg==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-host-header": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.451.0.tgz", - "integrity": "sha512-j8a5jAfhWmsK99i2k8oR8zzQgXrsJtgrLxc3js6U+525mcZytoiDndkWTmD5fjJ1byU1U2E5TaPq+QJeDip05Q==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-logger": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.451.0.tgz", - "integrity": "sha512-0kHrYEyVeB2QBfP6TfbI240aRtatLZtcErJbhpiNUb+CQPgEL3crIjgVE8yYiJumZ7f0jyjo8HLPkwD1/2APaw==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-recursion-detection": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.451.0.tgz", - "integrity": "sha512-J6jL6gJ7orjHGM70KDRcCP7so/J2SnkN4vZ9YRLTeeZY6zvBuHDjX8GCIgSqPn/nXFXckZO8XSnA7u6+3TAT0w==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-sdk-sts": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.451.0.tgz", - "integrity": "sha512-UJ6UfVUEgp0KIztxpAeelPXI5MLj9wUtUCqYeIMP7C1ZhoEMNm3G39VLkGN43dNhBf1LqjsV9jkKMZbVfYXuwg==", - "requires": { - "@aws-sdk/middleware-signing": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-signing": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.451.0.tgz", - "integrity": "sha512-s5ZlcIoLNg1Huj4Qp06iKniE8nJt/Pj1B/fjhWc6cCPCM7XJYUCejCnRh6C5ZJoBEYodjuwZBejPc1Wh3j+znA==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/signature-v4": "^2.0.0", - "@smithy/types": "^2.5.0", - "@smithy/util-middleware": "^2.0.6", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-user-agent": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.451.0.tgz", - "integrity": "sha512-8NM/0JiKLNvT9wtAQVl1DFW0cEO7OvZyLSUBLNLTHqyvOZxKaZ8YFk7d8PL6l76LeUKRxq4NMxfZQlUIRe0eSA==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/region-config-resolver": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.451.0.tgz", - "integrity": "sha512-3iMf4OwzrFb4tAAmoROXaiORUk2FvSejnHIw/XHvf/jjR4EqGGF95NZP/n/MeFZMizJWVssrwS412GmoEyoqhg==", - "requires": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/types": "^2.5.0", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.6", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/token-providers": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.451.0.tgz", - "integrity": "sha512-ij1L5iUbn6CwxVOT1PG4NFjsrsKN9c4N1YEM0lkl6DwmaNOscjLKGSNyj9M118vSWsOs1ZDbTwtj++h0O/BWrQ==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.451.0", - "@aws-sdk/middleware-logger": "3.451.0", - "@aws-sdk/middleware-recursion-detection": "3.451.0", - "@aws-sdk/middleware-user-agent": "3.451.0", - "@aws-sdk/region-config-resolver": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@aws-sdk/util-user-agent-browser": "3.451.0", - "@aws-sdk/util-user-agent-node": "3.451.0", - "@smithy/config-resolver": "^2.0.18", - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/hash-node": "^2.0.15", - "@smithy/invalid-dependency": "^2.0.13", - "@smithy/middleware-content-length": "^2.0.15", - "@smithy/middleware-endpoint": "^2.2.0", - "@smithy/middleware-retry": "^2.0.20", - "@smithy/middleware-serde": "^2.0.13", - "@smithy/middleware-stack": "^2.0.7", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.19", - "@smithy/util-defaults-mode-node": "^2.0.25", - "@smithy/util-endpoints": "^1.0.4", - "@smithy/util-retry": "^2.0.6", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/types": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.451.0.tgz", - "integrity": "sha512-rhK+qeYwCIs+laJfWCcrYEjay2FR/9VABZJ2NRM89jV/fKqGVQR52E5DQqrI+oEIL5JHMhhnr4N4fyECMS35lw==", - "requires": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/util-endpoints": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.451.0.tgz", - "integrity": "sha512-giqLGBTnRIcKkDqwU7+GQhKbtJ5Ku35cjGQIfMyOga6pwTBUbaK0xW1Sdd8sBQ1GhApscnChzI9o/R9x0368vw==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/util-endpoints": "^1.0.4", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/util-locate-window": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", - "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@aws-sdk/util-user-agent-browser": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.451.0.tgz", - "integrity": "sha512-Ws5mG3J0TQifH7OTcMrCTexo7HeSAc3cBgjfhS/ofzPUzVCtsyg0G7I6T7wl7vJJETix2Kst2cpOsxygPgPD9w==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/types": "^2.5.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/util-user-agent-node": { - "version": "3.451.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.451.0.tgz", - "integrity": "sha512-TBzm6P+ql4mkGFAjPlO1CI+w3yUT+NulaiALjl/jNX/nnUp6HsJsVxJf4nVFQTG5KRV0iqMypcs7I3KIhH+LmA==", - "requires": { - "@aws-sdk/types": "3.451.0", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", - "requires": { - "tslib": "^2.3.1" - } - }, - "@aws-sdk/xml-builder": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.310.0.tgz", - "integrity": "sha512-TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@babel/code-frame": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", - "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", - "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/compat-data": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", - "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", - "dev": true - }, - "@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" - }, - "@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", - "dev": true - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", - "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@botonic/pulumi": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@botonic/pulumi/-/pulumi-0.21.0.tgz", - "integrity": "sha512-v5ps6sRvi+nFPHUit0hBzBXe4w38e7k8s1J4tg4PTaTESq/pKImtk+vjNXeYb0CfJ964oT+tgM1jwal7L85dhA==", - "requires": { - "@aws-sdk/client-cloudfront": "^3.24.0", - "@aws-sdk/types": "^3.22.0", - "@pulumi/aws": "^4.14.0", - "@pulumi/awsx": "^0.32.0", - "@pulumi/pulumi": "^3.9.1", - "@vendia/serverless-express": "^4.3.9", - "concurrently": "^6.2.0", - "decompress": "^4.2.1", - "download": "^8.0.0", - "mime": "^2.5.2", - "semver": "^7.3.5", - "tar": "^6.1.0" - } - }, - "@grpc/grpc-js": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.6.tgz", - "integrity": "sha512-yq3qTy23u++8zdvf+h4mz4ohDFi681JAkMZZPTKh8zmUVh0AKLisFlgxcn22FMNowXz15oJ6pqgwT7DJ+PdJvg==", - "requires": { - "@grpc/proto-loader": "^0.7.8", - "@types/node": ">=12.12.47" - } - }, - "@grpc/proto-loader": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz", - "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==", - "requires": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.4", - "yargs": "^17.7.2" - } - }, - "@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "requires": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "requires": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "13.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", - "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@logdna/tail-file": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@logdna/tail-file/-/tail-file-2.2.0.tgz", - "integrity": "sha512-XGSsWDweP80Fks16lwkAUIr54ICyBs6PsI4mpfTLQaWgEJRtY9xEV+PeyDpJ+sJEGZxqINlpmAwe/6tS1pP8Ng==" - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@oclif/command": { - "version": "1.8.36", - "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.36.tgz", - "integrity": "sha512-/zACSgaYGtAQRzc7HjzrlIs14FuEYAZrMOEwicRoUnZVyRunG4+t5iSEeQu0Xy2bgbCD0U1SP/EdeNZSTXRwjQ==", - "requires": { - "@oclif/config": "^1.18.2", - "@oclif/errors": "^1.3.6", - "@oclif/help": "^1.0.1", - "@oclif/parser": "^3.8.17", - "debug": "^4.1.1", - "semver": "^7.5.4" - } - }, - "@oclif/config": { - "version": "1.18.17", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.17.tgz", - "integrity": "sha512-k77qyeUvjU8qAJ3XK3fr/QVAqsZO8QOBuESnfeM5HHtPNLSyfVcwiMM2zveSW5xRdLSG3MfV8QnLVkuyCL2ENg==", - "requires": { - "@oclif/errors": "^1.3.6", - "@oclif/parser": "^3.8.17", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-wsl": "^2.1.1", - "tslib": "^2.6.1" - } - }, - "@oclif/dev-cli": { - "version": "1.26.10", - "resolved": "https://registry.npmjs.org/@oclif/dev-cli/-/dev-cli-1.26.10.tgz", - "integrity": "sha512-dJ+II9rVXckzFvG+82PbfphMTnoqiHvsuAAbcHrLdZWPBnFAiDKhNYE0iHnA/knAC4VGXhogsrAJ3ERT5d5r2g==", - "dev": true, - "requires": { - "@oclif/command": "^1.8.15", - "@oclif/config": "^1.18.2", - "@oclif/errors": "^1.3.5", - "@oclif/plugin-help": "3.2.18", - "cli-ux": "5.6.7", - "debug": "^4.1.1", - "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^8.1", - "github-slugger": "^1.2.1", - "lodash": "^4.17.11", - "normalize-package-data": "^3.0.0", - "qqjs": "^0.3.10", - "tslib": "^2.0.3" - }, - "dependencies": { - "@oclif/plugin-help": { - "version": "3.2.18", - "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.18.tgz", - "integrity": "sha512-5n5Pkz4L0duknIvFwx2Ko9Xda3miT6RZP8bgaaK3Q/9fzVBrhi4bOM0u05/OThI6V+3NsSdxYS2o1NLcXToWDg==", - "dev": true, - "requires": { - "@oclif/command": "^1.8.14", - "@oclif/config": "1.18.2", - "@oclif/errors": "1.3.5", - "@oclif/help": "^1.0.0", - "chalk": "^4.1.2", - "indent-string": "^4.0.0", - "lodash": "^4.17.21", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "@oclif/config": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz", - "integrity": "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==", - "dev": true, - "requires": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - } - }, - "@oclif/errors": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz", - "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==", - "dev": true, - "requires": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - } - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@oclif/errors": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.6.tgz", - "integrity": "sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==", - "requires": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@oclif/help": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@oclif/help/-/help-1.0.15.tgz", - "integrity": "sha512-Yt8UHoetk/XqohYX76DfdrUYLsPKMc5pgkzsZVHDyBSkLiGRzujVaGZdjr32ckVZU9q3a47IjhWxhip7Dz5W/g==", - "requires": { - "@oclif/config": "1.18.16", - "@oclif/errors": "1.3.6", - "chalk": "^4.1.2", - "indent-string": "^4.0.0", - "lodash": "^4.17.21", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "@oclif/config": { - "version": "1.18.16", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.16.tgz", - "integrity": "sha512-VskIxVcN22qJzxRUq+raalq6Q3HUde7sokB7/xk5TqRZGEKRVbFeqdQBxDWwQeudiJEgcNiMvIFbMQ43dY37FA==", - "requires": { - "@oclif/errors": "^1.3.6", - "@oclif/parser": "^3.8.16", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-wsl": "^2.1.1", - "tslib": "^2.6.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@oclif/linewrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz", - "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==" - }, - "@oclif/parser": { - "version": "3.8.17", - "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.17.tgz", - "integrity": "sha512-l04iSd0xoh/16TGVpXb81Gg3z7tlQGrEup16BrVLsZBK6SEYpYHRJZnM32BwZrHI97ZSFfuSwVlzoo6HdsaK8A==", - "requires": { - "@oclif/errors": "^1.3.6", - "@oclif/linewrap": "^1.0.0", - "chalk": "^4.1.0", - "tslib": "^2.6.2" - } - }, - "@oclif/plugin-help": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.3.1.tgz", - "integrity": "sha512-QuSiseNRJygaqAdABYFWn/H1CwIZCp9zp/PLid6yXvy6VcQV7OenEFF5XuYaCvSARe2Tg9r8Jqls5+fw1A9CbQ==", - "requires": { - "@oclif/command": "^1.8.15", - "@oclif/config": "1.18.2", - "@oclif/errors": "1.3.5", - "@oclif/help": "^1.0.1", - "chalk": "^4.1.2", - "indent-string": "^4.0.0", - "lodash": "^4.17.21", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "@oclif/config": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz", - "integrity": "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==", - "requires": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - } - }, - "@oclif/errors": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz", - "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==", - "requires": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@oclif/screen": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz", - "integrity": "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==", - "dev": true - }, - "@opentelemetry/api": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.7.0.tgz", - "integrity": "sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw==" - }, - "@opentelemetry/api-metrics": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.32.0.tgz", - "integrity": "sha512-g1WLhpG8B6iuDyZJFRGsR+JKyZ94m5LEmY2f+duEJ9Xb4XRlLHrZvh6G34OH6GJ8iDHxfHb/sWjJ1ZpkI9yGMQ==", - "requires": { - "@opentelemetry/api": "^1.0.0" - } - }, - "@opentelemetry/context-async-hooks": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.18.1.tgz", - "integrity": "sha512-HHfJR32NH2x0b69CACCwH8m1dpNALoCTtpgmIWMNkeMGNUeKT48d4AX4xsF4uIRuUoRTbTgtSBRvS+cF97qwCQ==" - }, - "@opentelemetry/core": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.18.1.tgz", - "integrity": "sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==", - "requires": { - "@opentelemetry/semantic-conventions": "1.18.1" - } - }, - "@opentelemetry/exporter-zipkin": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.18.1.tgz", - "integrity": "sha512-RmoWVFXFhvIh3q4szUe8I+/vxuMR0HNsOm39zNxnWJcK7JDwnPra9cLY/M78u6bTgB6Fte8GKgU128vvDzz0Iw==", - "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1" - } - }, - "@opentelemetry/instrumentation": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.32.0.tgz", - "integrity": "sha512-y6ADjHpkUz/v1nkyyYjsQa/zorhX+0qVGpFvXMcbjU4sHnBnC02c6wcc93sIgZfiQClIWo45TGku1KQxJ5UUbQ==", - "requires": { - "@opentelemetry/api-metrics": "0.32.0", - "require-in-the-middle": "^5.0.3", - "semver": "^7.3.2", - "shimmer": "^1.2.1" - } - }, - "@opentelemetry/instrumentation-grpc": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.32.0.tgz", - "integrity": "sha512-Az6wdkPx/Mi26lT9LKFV6GhCA9prwQFPz5eCNSExTnSP49YhQ7XCjzPd2POPeLKt84ICitrBMdE1mj0zbPdLAQ==", - "requires": { - "@opentelemetry/api-metrics": "0.32.0", - "@opentelemetry/instrumentation": "0.32.0", - "@opentelemetry/semantic-conventions": "1.6.0" - }, - "dependencies": { - "@opentelemetry/semantic-conventions": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz", - "integrity": "sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ==" - } - } - }, - "@opentelemetry/propagator-b3": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.18.1.tgz", - "integrity": "sha512-oSTUOsnt31JDx5SoEy27B5jE1/tiPvvE46w7CDKj0R5oZhCCfYH2bbSGa7NOOyDXDNqQDkgqU1DIV/xOd3f8pw==", - "requires": { - "@opentelemetry/core": "1.18.1" - } - }, - "@opentelemetry/propagator-jaeger": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.18.1.tgz", - "integrity": "sha512-Kh4M1Qewv0Tbmts6D8LgNzx99IjdE18LCmY/utMkgVyU7Bg31Yuj+X6ZyoIRKPcD2EV4rVkuRI16WVMRuGbhWA==", - "requires": { - "@opentelemetry/core": "1.18.1" - } - }, - "@opentelemetry/resources": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.18.1.tgz", - "integrity": "sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==", - "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1" - } - }, - "@opentelemetry/sdk-trace-base": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.18.1.tgz", - "integrity": "sha512-tRHfDxN5dO+nop78EWJpzZwHsN1ewrZRVVwo03VJa3JQZxToRDH29/+MB24+yoa+IArerdr7INFJiX/iN4gjqg==", - "requires": { - "@opentelemetry/core": "1.18.1", - "@opentelemetry/resources": "1.18.1", - "@opentelemetry/semantic-conventions": "1.18.1" - } - }, - "@opentelemetry/sdk-trace-node": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.18.1.tgz", - "integrity": "sha512-ML0l9TNlfLoplLF1F8lb95NGKgdm6OezDS3Ymqav9sYxMd5bnH2LZVzd4xEF+ov5vpZJOGdWxJMs2nC9no7+xA==", - "requires": { - "@opentelemetry/context-async-hooks": "1.18.1", - "@opentelemetry/core": "1.18.1", - "@opentelemetry/propagator-b3": "1.18.1", - "@opentelemetry/propagator-jaeger": "1.18.1", - "@opentelemetry/sdk-trace-base": "1.18.1", - "semver": "^7.5.2" - } - }, - "@opentelemetry/semantic-conventions": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.18.1.tgz", - "integrity": "sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==" - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "@pulumi/aws": { - "version": "4.38.1", - "resolved": "https://registry.npmjs.org/@pulumi/aws/-/aws-4.38.1.tgz", - "integrity": "sha512-WeOprXm/c9n8QmP5qLNEVk1FZTCa7KGgUj/P1drlazJr1LIvrq+KSWcUxayLeFJvpLCbYd19aI2jdyQqZJAjEw==", - "requires": { - "@pulumi/pulumi": "^3.0.0", - "aws-sdk": "^2.0.0", - "builtin-modules": "3.0.0", - "mime": "^2.0.0", - "read-package-tree": "^5.2.1", - "resolve": "^1.7.1" - } - }, - "@pulumi/awsx": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@pulumi/awsx/-/awsx-0.32.0.tgz", - "integrity": "sha512-/BMtbO9X9n5BxZGQQk/R3jQwjUJtlK4xAaWKTMLV/xDvtoGXyUPUZOOig4z3M4+ZQLA/2nBreUNVnppOfab2zw==", - "requires": { - "@pulumi/docker": "^3.0.0", - "@types/aws-lambda": "^8.10.23", - "mime": "^2.0.0" - } - }, - "@pulumi/docker": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@pulumi/docker/-/docker-3.6.1.tgz", - "integrity": "sha512-BZME50QkT556v+LvmTXPT8ssB2xxNkp9+msB5xYFEnUnWcdGAx5yUysQw70RJCb+U0GbkJSbxtlgMJgOQf/now==", - "requires": { - "@pulumi/pulumi": "^3.0.0", - "semver": "^5.4.0" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - } - } - }, - "@pulumi/pulumi": { - "version": "3.94.2", - "resolved": "https://registry.npmjs.org/@pulumi/pulumi/-/pulumi-3.94.2.tgz", - "integrity": "sha512-3EophVuj7XDtLrY2UcofO0GTgwbr6RCFG1mRC0X1jYImpMGUAP++DYfKMnDGTu9vAAW7h2kJb0s361aLAKunnQ==", - "requires": { - "@grpc/grpc-js": "1.9.6", - "@logdna/tail-file": "^2.0.6", - "@opentelemetry/api": "^1.2.0", - "@opentelemetry/exporter-zipkin": "^1.6.0", - "@opentelemetry/instrumentation": "^0.32.0", - "@opentelemetry/instrumentation-grpc": "^0.32.0", - "@opentelemetry/resources": "^1.6.0", - "@opentelemetry/sdk-trace-base": "^1.6.0", - "@opentelemetry/sdk-trace-node": "^1.6.0", - "@opentelemetry/semantic-conventions": "^1.6.0", - "@pulumi/query": "^0.3.0", - "execa": "^5.1.0", - "google-protobuf": "^3.5.0", - "ini": "^2.0.0", - "js-yaml": "^3.14.0", - "minimist": "^1.2.6", - "normalize-package-data": "^3.0.0", - "pkg-dir": "^7.0.0", - "read-package-tree": "^5.3.1", - "require-from-string": "^2.0.1", - "semver": "^7.5.2", - "source-map-support": "^0.5.6", - "ts-node": "^7.0.1", - "typescript": "~3.8.3", - "upath": "^1.1.0" - }, - "dependencies": { - "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" - } - } - }, - "@pulumi/query": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@pulumi/query/-/query-0.3.0.tgz", - "integrity": "sha512-xfo+yLRM2zVjVEA4p23IjQWzyWl1ZhWOGobsBqRpIarzLvwNH/RAGaoehdxlhx4X92302DrpdIFgTICMN4P38w==" - }, - "@segment/loosely-validate-event": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", - "integrity": "sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==", - "requires": { - "component-type": "^1.2.1", - "join-component": "^1.1.0" - } - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" - }, - "@smithy/abort-controller": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.14.tgz", - "integrity": "sha512-zXtteuYLWbSXnzI3O6xq3FYvigYZFW8mdytGibfarLL2lxHto9L3ILtGVnVGmFZa7SDh62l39EnU5hesLN87Fw==", - "requires": { - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/config-resolver": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.19.tgz", - "integrity": "sha512-JsghnQ5zjWmjEVY8TFOulLdEOCj09SjRLugrHlkPZTIBBm7PQitCFVLThbsKPZQOP7N3ME1DU1nKUc1UaVnBog==", - "requires": { - "@smithy/node-config-provider": "^2.1.6", - "@smithy/types": "^2.6.0", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.7", - "tslib": "^2.5.0" - } - }, - "@smithy/credential-provider-imds": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.2.tgz", - "integrity": "sha512-Y62jBWdoLPSYjr9fFvJf+KwTa1EunjVr6NryTEWCnwIY93OJxwV4t0qxjwdPl/XMsUkq79ppNJSEQN6Ohnhxjw==", - "requires": { - "@smithy/node-config-provider": "^2.1.6", - "@smithy/property-provider": "^2.0.15", - "@smithy/types": "^2.6.0", - "@smithy/url-parser": "^2.0.14", - "tslib": "^2.5.0" - } - }, - "@smithy/eventstream-codec": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.14.tgz", - "integrity": "sha512-g/OU/MeWGfHDygoXgMWfG/Xb0QqDnAGcM9t2FRrVAhleXYRddGOEnfanR5cmHgB9ue52MJsyorqFjckzXsylaA==", - "requires": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.6.0", - "@smithy/util-hex-encoding": "^2.0.0", - "tslib": "^2.5.0" - } - }, - "@smithy/fetch-http-handler": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.7.tgz", - "integrity": "sha512-iSDBjxuH9TgrtMYAr7j5evjvkvgwLY3y+9D547uep+JNkZ1ZT+BaeU20j6I/bO/i26ilCWFImrlXTPsfQtZdIQ==", - "requires": { - "@smithy/protocol-http": "^3.0.10", - "@smithy/querystring-builder": "^2.0.14", - "@smithy/types": "^2.6.0", - "@smithy/util-base64": "^2.0.1", - "tslib": "^2.5.0" - } - }, - "@smithy/hash-node": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.16.tgz", - "integrity": "sha512-Wbi9A0PacMYUOwjAulQP90Wl3mQ6NDwnyrZQzFjDz+UzjXOSyQMgBrTkUBz+pVoYVlX3DUu24gWMZBcit+wOGg==", - "requires": { - "@smithy/types": "^2.6.0", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - } - }, - "@smithy/invalid-dependency": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.14.tgz", - "integrity": "sha512-d8ohpwZo9RzTpGlAfsWtfm1SHBSU7+N4iuZ6MzR10xDTujJJWtmXYHK1uzcr7rggbpUTaWyHpPFgnf91q0EFqQ==", - "requires": { - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/is-array-buffer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", - "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/middleware-content-length": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.16.tgz", - "integrity": "sha512-9ddDia3pp1d3XzLXKcm7QebGxLq9iwKf+J1LapvlSOhpF8EM9SjMeSrMOOFgG+2TfW5K3+qz4IAJYYm7INYCng==", - "requires": { - "@smithy/protocol-http": "^3.0.10", - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/middleware-endpoint": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.1.tgz", - "integrity": "sha512-dVDS7HNJl/wb0lpByXor6whqDbb1YlLoaoWYoelyYzLHioXOE7y/0iDwJWtDcN36/tVCw9EPBFZ3aans84jLpg==", - "requires": { - "@smithy/middleware-serde": "^2.0.14", - "@smithy/node-config-provider": "^2.1.6", - "@smithy/shared-ini-file-loader": "^2.2.5", - "@smithy/types": "^2.6.0", - "@smithy/url-parser": "^2.0.14", - "@smithy/util-middleware": "^2.0.7", - "tslib": "^2.5.0" - } - }, - "@smithy/middleware-retry": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.21.tgz", - "integrity": "sha512-EZS1EXv1k6IJX6hyu/0yNQuPcPaXwG8SWljQHYueyRbOxmqYgoWMWPtfZj0xRRQ4YtLawQSpBgAeiJltq8/MPw==", - "requires": { - "@smithy/node-config-provider": "^2.1.6", - "@smithy/protocol-http": "^3.0.10", - "@smithy/service-error-classification": "^2.0.7", - "@smithy/types": "^2.6.0", - "@smithy/util-middleware": "^2.0.7", - "@smithy/util-retry": "^2.0.7", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - } - }, - "@smithy/middleware-serde": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.14.tgz", - "integrity": "sha512-hFi3FqoYWDntCYA2IGY6gJ6FKjq2gye+1tfxF2HnIJB5uW8y2DhpRNBSUMoqP+qvYzRqZ6ntv4kgbG+o3pX57g==", - "requires": { - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/middleware-stack": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.8.tgz", - "integrity": "sha512-7/N59j0zWqVEKExJcA14MrLDZ/IeN+d6nbkN8ucs+eURyaDUXWYlZrQmMOd/TyptcQv0+RDlgag/zSTTV62y/Q==", - "requires": { - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/node-config-provider": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.6.tgz", - "integrity": "sha512-HLqTs6O78m3M3z1cPLFxddxhEPv5MkVatfPuxoVO3A+cHZanNd/H5I6btcdHy6N2CB1MJ/lihJC92h30SESsBA==", - "requires": { - "@smithy/property-provider": "^2.0.15", - "@smithy/shared-ini-file-loader": "^2.2.5", - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/node-http-handler": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.10.tgz", - "integrity": "sha512-lkALAwtN6odygIM4nB8aHDahINM6WXXjNrZmWQAh0RSossySRT2qa31cFv0ZBuAYVWeprskRk13AFvvLmf1WLw==", - "requires": { - "@smithy/abort-controller": "^2.0.14", - "@smithy/protocol-http": "^3.0.10", - "@smithy/querystring-builder": "^2.0.14", - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/property-provider": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.15.tgz", - "integrity": "sha512-YbRFBn8oiiC3o1Kn3a4KjGa6k47rCM9++5W9cWqYn9WnkyH+hBWgfJAckuxpyA2Hq6Ys4eFrWzXq6fqHEw7iew==", - "requires": { - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/protocol-http": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.10.tgz", - "integrity": "sha512-6+tjNk7rXW7YTeGo9qwxXj/2BFpJTe37kTj3EnZCoX/nH+NP/WLA7O83fz8XhkGqsaAhLUPo/bB12vvd47nsmg==", - "requires": { - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/querystring-builder": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.14.tgz", - "integrity": "sha512-lQ4pm9vTv9nIhl5jt6uVMPludr6syE2FyJmHsIJJuOD7QPIJnrf9HhUGf1iHh9KJ4CUv21tpOU3X6s0rB6uJ0g==", - "requires": { - "@smithy/types": "^2.6.0", - "@smithy/util-uri-escape": "^2.0.0", - "tslib": "^2.5.0" - } - }, - "@smithy/querystring-parser": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.14.tgz", - "integrity": "sha512-+cbtXWI9tNtQjlgQg3CA+pvL3zKTAxPnG3Pj6MP89CR3vi3QMmD0SOWoq84tqZDnJCxlsusbgIXk1ngMReXo+A==", - "requires": { - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/service-error-classification": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.7.tgz", - "integrity": "sha512-LLxgW12qGz8doYto15kZ4x1rHjtXl0BnCG6T6Wb8z2DI4PT9cJfOSvzbuLzy7+5I24PAepKgFeWHRd9GYy3Z9w==", - "requires": { - "@smithy/types": "^2.6.0" - } - }, - "@smithy/shared-ini-file-loader": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.5.tgz", - "integrity": "sha512-LHA68Iu7SmNwfAVe8egmjDCy648/7iJR/fK1UnVw+iAOUJoEYhX2DLgVd5pWllqdDiRbQQzgaHLcRokM+UFR1w==", - "requires": { - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/signature-v4": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.16.tgz", - "integrity": "sha512-ilLY85xS2kZZzTb83diQKYLIYALvart0KnBaKnIRnMBHAGEio5aHSlANQoxVn0VsonwmQ3CnWhnCT0sERD8uTg==", - "requires": { - "@smithy/eventstream-codec": "^2.0.14", - "@smithy/is-array-buffer": "^2.0.0", - "@smithy/types": "^2.6.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-middleware": "^2.0.7", - "@smithy/util-uri-escape": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - } - }, - "@smithy/smithy-client": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.16.tgz", - "integrity": "sha512-Lw67+yQSpLl4YkDLUzI2KgS8TXclXmbzSeOJUmRFS4ueT56B4pw3RZRF/SRzvgyxM/HxgkUan8oSHXCujPDafQ==", - "requires": { - "@smithy/middleware-stack": "^2.0.8", - "@smithy/types": "^2.6.0", - "@smithy/util-stream": "^2.0.21", - "tslib": "^2.5.0" - } - }, - "@smithy/types": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.6.0.tgz", - "integrity": "sha512-PgqxJq2IcdMF9iAasxcqZqqoOXBHufEfmbEUdN1pmJrJltT42b0Sc8UiYSWWzKkciIp9/mZDpzYi4qYG1qqg6g==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/url-parser": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.14.tgz", - "integrity": "sha512-kbu17Y1AFXi5lNlySdDj7ZzmvupyWKCX/0jNZ8ffquRyGdbDZb+eBh0QnWqsSmnZa/ctyWaTf7n4l/pXLExrnw==", - "requires": { - "@smithy/querystring-parser": "^2.0.14", - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-base64": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.1.tgz", - "integrity": "sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ==", - "requires": { - "@smithy/util-buffer-from": "^2.0.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-body-length-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", - "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-body-length-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", - "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-buffer-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", - "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", - "requires": { - "@smithy/is-array-buffer": "^2.0.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-config-provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", - "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-defaults-mode-browser": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.20.tgz", - "integrity": "sha512-QJtnbTIl0/BbEASkx1MUFf6EaoWqWW1/IM90N++8NNscePvPf77GheYfpoPis6CBQawUWq8QepTP2QUSAdrVkw==", - "requires": { - "@smithy/property-provider": "^2.0.15", - "@smithy/smithy-client": "^2.1.16", - "@smithy/types": "^2.6.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-defaults-mode-node": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.26.tgz", - "integrity": "sha512-lGFPOFCHv1ql019oegYqa54BZH7HREw6EBqjDLbAr0wquMX0BDi2sg8TJ6Eq+JGLijkZbJB73m4+aK8OFAapMg==", - "requires": { - "@smithy/config-resolver": "^2.0.19", - "@smithy/credential-provider-imds": "^2.1.2", - "@smithy/node-config-provider": "^2.1.6", - "@smithy/property-provider": "^2.0.15", - "@smithy/smithy-client": "^2.1.16", - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-endpoints": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.5.tgz", - "integrity": "sha512-K7qNuCOD5K/90MjHvHm9kJldrfm40UxWYQxNEShMFxV/lCCCRIg8R4uu1PFAxRvPxNpIdcrh1uK6I1ISjDXZJw==", - "requires": { - "@smithy/node-config-provider": "^2.1.6", - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-hex-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", - "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.7.tgz", - "integrity": "sha512-tRINOTlf1G9B0ECarFQAtTgMhpnrMPSa+5j4ZEwEawCLfTFTavk6757sxhE4RY5RMlD/I3x+DCS8ZUiR8ho9Pw==", - "requires": { - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-retry": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.7.tgz", - "integrity": "sha512-fIe5yARaF0+xVT1XKcrdnHKTJ1Vc4+3e3tLDjCuIcE9b6fkBzzGFY7AFiX4M+vj6yM98DrwkuZeHf7/hmtVp0Q==", - "requires": { - "@smithy/service-error-classification": "^2.0.7", - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-stream": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.21.tgz", - "integrity": "sha512-0BUE16d7n1x7pi1YluXJdB33jOTyBChT0j/BlOkFa9uxfg6YqXieHxjHNuCdJRARa7AZEj32LLLEPJ1fSa4inA==", - "requires": { - "@smithy/fetch-http-handler": "^2.2.7", - "@smithy/node-http-handler": "^2.1.10", - "@smithy/types": "^2.6.0", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - } - }, - "@smithy/util-uri-escape": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", - "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-utf8": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.2.tgz", - "integrity": "sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==", - "requires": { - "@smithy/util-buffer-from": "^2.0.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-waiter": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.14.tgz", - "integrity": "sha512-Q6gSz4GUNjNGhrfNg+2Mjy+7K4pEI3r82x1b/+3dSc03MQqobMiUrRVN/YK/4nHVagvBELCoXsiHAFQJNQ5BeA==", - "requires": { - "@smithy/abort-controller": "^2.0.14", - "@smithy/types": "^2.6.0", - "tslib": "^2.5.0" - } - }, - "@types/analytics-node": { - "version": "3.1.14", - "resolved": "https://registry.npmjs.org/@types/analytics-node/-/analytics-node-3.1.14.tgz", - "integrity": "sha512-m7+SReJIPwwS0eqnJ+5WwdR4U5aU0WhVUYuQ/n177iPpyXObPy/wP7HU7mohyNeRqxGsTO8mIUYC3MRGkyxhwQ==", - "dev": true - }, - "@types/archiver": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.4.tgz", - "integrity": "sha512-Lj7fLBIMwYFgViVVZHEdExZC3lVYsl+QL0VmdNdIzGZH544jHveYWij6qdnBgJQDnR7pMKliN9z2cPZFEbhyPw==", - "requires": { - "@types/readdir-glob": "*" - } - }, - "@types/aws-lambda": { - "version": "8.10.129", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.129.tgz", - "integrity": "sha512-0Rl7CpTPVws5cp0Ui1gZh4Q+TXC65bXVwTOGoI2RKW45dxWzyZGbjIX0uFjFYdIJ8vnD45y584rIIqvD2vBBfQ==" - }, - "@types/concurrently": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@types/concurrently/-/concurrently-6.4.0.tgz", - "integrity": "sha512-CYU1eyFHsIa2IZIsb8gfUOdiewfnZcyM2Hg1Zaq95xnmB0Ix/bTRM8SttqZ2Cjy6JGPZLttHjZewVsDg1yvnJg==", - "dev": true, - "requires": { - "@types/node": "*", - "chalk": "^4.1.0" - } - }, - "@types/fs-extra": { - "version": "9.0.13", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", - "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-HhxyLejTHMfohAuhRun4csWigAMjXTmRyiJTU1Y/I1xmggikFMkOUoMQRlFm+zQcPEGHSs3io/0FAmNZf8EymQ==", - "dev": true, - "requires": { - "@types/through": "*", - "rxjs": "^6.4.0" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "26.0.24", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", - "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", - "requires": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "@types/localtunnel": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/localtunnel/-/localtunnel-2.0.4.tgz", - "integrity": "sha512-7WM5nlEfEKp8MpwthPa2utdy+f/7ZBxMPzu8qw6EijFFTcpzh5CXgt2YoncxWAZNOPNieMofXCKFudtDEY4bag==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, - "@types/node": { - "version": "20.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz", - "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/readdir-glob": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.5.tgz", - "integrity": "sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==", - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" - }, - "@types/through": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", - "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/uuid": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", - "dev": true - }, - "@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" - }, - "@vendia/serverless-express": { - "version": "4.10.4", - "resolved": "https://registry.npmjs.org/@vendia/serverless-express/-/serverless-express-4.10.4.tgz", - "integrity": "sha512-OH2cX+LqtrayCIkHAkShiLnvrgqGDvwIQEex5dHc/uJitBQjIz3q7dZtfU7cZ5vcR9Vkide5xJQDBEMbXoWLeA==" - }, - "analytics-node": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/analytics-node/-/analytics-node-3.5.0.tgz", - "integrity": "sha512-XgQq6ejZHCehUSnZS4V7QJPLIP7S9OAWwQDYl4WTLtsRvc5fCxIwzK/yihzmIW51v9PnyBmrl9dMcqvwfOE8WA==", - "requires": { - "@segment/loosely-validate-event": "^2.0.0", - "axios": "^0.21.1", - "axios-retry": "^3.0.2", - "lodash.isstring": "^4.0.1", - "md5": "^2.2.1", - "ms": "^2.0.0", - "remove-trailing-slash": "^0.1.0", - "uuid": "^3.2.1" - }, - "dependencies": { - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", - "dev": true - }, - "archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", - "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==", - "requires": { - "file-type": "^4.2.0" - }, - "dependencies": { - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==" - } - } - }, - "archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - } - } - }, - "archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" - }, - "array.prototype.reduce": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", - "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" - }, - "async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1502.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1502.0.tgz", - "integrity": "sha512-mUXUaWmbIyqE6zyIcbUUQIUgw1evK7gV1vQP7ZZEE0qi6hO2Mw99Nc25Bh+187yvRxamMTsFXvvmBViR0Q75SA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - }, - "dependencies": { - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - } - } - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "axios-retry": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.9.1.tgz", - "integrity": "sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==", - "requires": { - "@babel/runtime": "^7.15.4", - "is-retry-allowed": "^2.2.0" - }, - "dependencies": { - "is-retry-allowed": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", - "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==" - } - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-descriptor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - } - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "builtin-modules": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz", - "integrity": "sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==" - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==" - } - } - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "caniuse-lite": { - "version": "1.0.30001564", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", - "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", - "dev": true - }, - "cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", - "dev": true, - "requires": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-stack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", - "requires": { - "escape-string-regexp": "4.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - } - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-progress": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", - "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", - "dev": true, - "requires": { - "string-width": "^4.2.3" - } - }, - "cli-spinners": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", - "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==" - }, - "cli-ux": { - "version": "5.6.7", - "resolved": "https://registry.npmjs.org/cli-ux/-/cli-ux-5.6.7.tgz", - "integrity": "sha512-dsKAurMNyFDnO6X1TiiRNiVbL90XReLKcvIq4H777NMqXGBxBws23ag8ubCJE97vVZEgWG2eSUhsyLf63Jv8+g==", - "dev": true, - "requires": { - "@oclif/command": "^1.8.15", - "@oclif/errors": "^1.3.5", - "@oclif/linewrap": "^1.0.0", - "@oclif/screen": "^1.0.4", - "ansi-escapes": "^4.3.0", - "ansi-styles": "^4.2.0", - "cardinal": "^2.1.1", - "chalk": "^4.1.0", - "clean-stack": "^3.0.0", - "cli-progress": "^3.4.0", - "extract-stack": "^2.0.0", - "fs-extra": "^8.1", - "hyperlinker": "^1.0.0", - "indent-string": "^4.0.0", - "is-wsl": "^2.2.0", - "js-yaml": "^3.13.1", - "lodash": "^4.17.21", - "natural-orderby": "^2.0.1", - "object-treeify": "^1.1.4", - "password-prompt": "^1.1.2", - "semver": "^7.3.2", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "supports-color": "^8.1.0", - "supports-hyperlinks": "^2.1.0", - "tslib": "^2.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==" - }, - "component-type": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz", - "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==" - }, - "compress-commons": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", - "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concurrently": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz", - "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==", - "requires": { - "chalk": "^4.1.0", - "date-fns": "^2.16.1", - "lodash": "^4.17.21", - "rxjs": "^6.6.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^16.2.0" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "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.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - }, - "crc32-stream": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", - "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", - "requires": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" - }, - "date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "requires": { - "@babel/runtime": "^7.21.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==" - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" - }, - "decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - } - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - } - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "requires": { - "clone": "^1.0.2" - } - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-descriptor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true - }, - "dezalgo": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "download": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/download/-/download-8.0.0.tgz", - "integrity": "sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA==", - "requires": { - "archive-type": "^4.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.2.1", - "ext-name": "^5.0.0", - "file-type": "^11.1.0", - "filenamify": "^3.0.0", - "get-stream": "^4.1.0", - "got": "^8.3.1", - "make-dir": "^2.1.0", - "p-event": "^2.1.0", - "pify": "^4.0.1" - }, - "dependencies": { - "file-type": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-11.1.0.tgz", - "integrity": "sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g==" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - } - } - }, - "duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" - }, - "electron-to-chromium": { - "version": "1.4.593", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.593.tgz", - "integrity": "sha512-c7+Hhj87zWmdpmjDONbvNKNo24tvmD4mjal1+qqTYTrlF0/sNpAcDlU0Ki84ftA/5yj3BF2QhSGEC0Rky6larg==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", - "requires": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "eslint-plugin-prettier": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz", - "integrity": "sha512-CStQYJgALoQBw3FsBzH0VOVDRnJ/ZimUlpLm226U8qgqYJfPOY/CPK6wyRInMxh73HSKg5wyRwdS4BVYYHwokA==", - "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "requires": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - }, - "dependencies": { - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "13.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", - "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==" - }, - "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "requires": { - "mime-db": "^1.28.0" - } - }, - "ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "requires": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-descriptor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } - } - }, - "extract-stack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz", - "integrity": "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==", - "dev": true - }, - "fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" - }, - "fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-xml-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", - "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", - "requires": { - "strnum": "^1.0.5" - } - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "requires": { - "pend": "~1.2.0" - } - }, - "fetch-repo-dir": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fetch-repo-dir/-/fetch-repo-dir-1.0.6.tgz", - "integrity": "sha512-03sI/J52D6AOCqHotogGOWIcRfSIiAjtwaER+cGWPbwJ3PxFrtNz6BztxXve1v2vhqLAPSW+UWnlLMgkph9fPg==", - "requires": { - "fs-extra": "^10.0.0", - "tar": "^6.1.11", - "tmp": "^0.2.1" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==" - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==" - }, - "filenamify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-3.0.0.tgz", - "integrity": "sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g==", - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "requires": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - } - }, - "find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dev": true, - "requires": { - "micromatch": "^4.0.2" - } - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "requires": { - "map-cache": "^0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "dependencies": { - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" - } - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-them-args": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/get-them-args/-/get-them-args-1.3.2.tgz", - "integrity": "sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" - }, - "github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "google-protobuf": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz", - "integrity": "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==" - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - } - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" - }, - "http-call": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz", - "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==", - "dev": true, - "requires": { - "content-type": "^1.0.4", - "debug": "^4.1.1", - "is-retry-allowed": "^1.1.0", - "is-stream": "^2.0.0", - "parse-json": "^4.0.0", - "tunnel-agent": "^0.6.0" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "hyperlinker": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", - "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==" - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", - "requires": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - } - }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", - "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", - "requires": { - "hasown": "^2.0.0" - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "requires": { - "hasown": "^2.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", - "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", - "requires": { - "hasown": "^2.0.0" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==" - }, - "jest-extended": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-0.11.5.tgz", - "integrity": "sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q==", - "requires": { - "expect": "^24.1.0", - "jest-get-type": "^22.4.3", - "jest-matcher-utils": "^22.0.0" - }, - "dependencies": { - "jest-get-type": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", - "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" - } - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-matcher-utils": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", - "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", - "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.4.3", - "pretty-format": "^22.4.3" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "jest-get-type": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", - "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" - }, - "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", - "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "13.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", - "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==" - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "join-component": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz", - "integrity": "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "kill-port": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/kill-port/-/kill-port-1.6.1.tgz", - "integrity": "sha512-un0Y55cOM7JKGaLnGja28T38tDDop0AQ8N0KlAdyh+B1nmMoX8AnNmqPNZbS3mUMgiST51DCVqmbFT1gNJpVNw==", - "requires": { - "get-them-args": "1.3.2", - "shell-exec": "1.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "requires": { - "readable-stream": "^2.0.5" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "localtunnel": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", - "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", - "requires": { - "axios": "0.21.4", - "debug": "4.3.2", - "openurl": "1.1.1", - "yargs": "17.1.1" - }, - "dependencies": { - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "yargs": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", - "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", - "requires": { - "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.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } - }, - "locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "requires": { - "p-locate": "^6.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" - }, - "lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", - "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "module-details-from-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", - "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-orderby": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", - "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "dependencies": { - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", - "requires": { - "is-plain-obj": "^1.0.0" - } - } - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-treeify": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", - "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", - "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", - "requires": { - "array.prototype.reduce": "^1.0.6", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "safe-array-concat": "^1.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==" - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" - }, - "p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "requires": { - "p-timeout": "^2.0.1" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==" - }, - "p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "requires": { - "yocto-queue": "^1.0.0" - } - }, - "p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "requires": { - "p-limit": "^4.0.0" - } - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" - }, - "password-prompt": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", - "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", - "dev": true, - "requires": { - "ansi-escapes": "^4.3.2", - "cross-spawn": "^7.0.3" - } - }, - "path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "requires": { - "find-up": "^6.3.0" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "protobufjs": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz", - "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==", - "requires": { - "@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/node": ">=13.7.0", - "long": "^5.0.0" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "qqjs": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz", - "integrity": "sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "debug": "^4.1.1", - "execa": "^0.10.0", - "fs-extra": "^6.0.1", - "get-stream": "^5.1.0", - "glob": "^7.1.2", - "globby": "^10.0.1", - "http-call": "^5.1.2", - "load-json-file": "^6.2.0", - "pkg-dir": "^4.2.0", - "tar-fs": "^2.0.0", - "tmp": "^0.1.0", - "write-json-file": "^4.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dev": true, - "requires": { - "rimraf": "^2.6.3" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "read-package-json": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", - "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", - "requires": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - } - } - }, - "read-package-tree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", - "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", - "requires": { - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "util-promisify": "^2.1.0" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "requires": { - "minimatch": "^5.1.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", - "dev": true, - "requires": { - "esprima": "~4.0.0" - } - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - } - }, - "remove-trailing-slash": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz", - "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==" - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "require-in-the-middle": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.2.0.tgz", - "integrity": "sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==", - "requires": { - "debug": "^4.1.1", - "module-details-from-path": "^1.0.3", - "resolve": "^1.22.1" - } - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "requires": { - "ret": "~0.1.10" - } - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "requires": { - "commander": "^2.8.1" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "requires": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - } - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-exec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shell-exec/-/shell-exec-1.0.2.tgz", - "integrity": "sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==" - }, - "shimmer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", - "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-descriptor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", - "requires": { - "sort-keys": "^1.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==" - }, - "spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", - "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "requires": { - "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-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==" - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", - "requires": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } - }, - "ts-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", - "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", - "requires": { - "arrify": "^1.0.0", - "buffer-from": "^1.1.0", - "diff": "^3.1.0", - "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.6", - "yn": "^2.0.0" - } - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "tslint": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.13.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "tslint-plugin-prettier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslint-plugin-prettier/-/tslint-plugin-prettier-2.3.0.tgz", - "integrity": "sha512-F9e4K03yc9xuvv+A0v1EmjcnDwpz8SpCD8HzqSDe0eyg34cBinwn9JjmnnRrNAs4HdleRQj7qijp+P/JTxt4vA==", - "requires": { - "eslint-plugin-prettier": "^2.2.0", - "lines-and-columns": "^1.1.6", - "tslib": "^1.7.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - }, - "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", - "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==" - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util-promisify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", - "integrity": "sha512-K+5eQPYs14b3+E+hmE2J6gCZ4JmMl9DbYS6BeP2CHq6WMuNxErxf5B/n0fz85L8zUuoO6rIzNNmIQDu/j+1OcA==", - "requires": { - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "requires": { - "defaults": "^1.0.3" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", - "dev": true, - "requires": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", - "dev": true, - "requires": { - "is-plain-obj": "^2.0.0" - } - } - } - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==" - }, - "yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==" - }, - "zip-a-folder": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/zip-a-folder/-/zip-a-folder-0.1.0.tgz", - "integrity": "sha512-OWwaQ+i15sjnUypj/3pAHgZUHvV9z0v7EQJXYkfe8/2KJT6Cp+7pAhgVnsNubWhWSmGekz0H7rjo3C1UmoH5iw==", - "requires": { - "@types/archiver": "^5.1.0", - "@types/jest": "^26.0.20", - "@types/node": "^14.14.33", - "archiver": "^5.0.0", - "jest-extended": "^0.11.5", - "ts-jest": "^26.5.3", - "tslint": "^6.1.3", - "tslint-plugin-prettier": "^2.3.0", - "typescript": "^4.2.3" - }, - "dependencies": { - "@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" - } - } - }, - "zip-stream": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", - "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", - "requires": { - "archiver-utils": "^3.0.4", - "compress-commons": "^4.1.2", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "archiver-utils": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", - "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", - "requires": { - "glob": "^7.2.3", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - } - } -} diff --git a/packages/botonic-cli/src/commands/deploy.ts b/packages/botonic-cli/src/commands/deploy.ts deleted file mode 100644 index 88b9f73c09..0000000000 --- a/packages/botonic-cli/src/commands/deploy.ts +++ /dev/null @@ -1,484 +0,0 @@ -import { PulumiRunner } from '@botonic/pulumi/lib/pulumi-runner' -import { Command, flags } from '@oclif/command' -import { AxiosError } from 'axios' -import colors from 'colors' -import { rmSync, statSync } from 'fs' -// eslint-disable-next-line import/named -import { prompt } from 'inquirer' -import ora from 'ora' -import { join } from 'path' -// eslint-disable-next-line import/named -import { ZipAFolder } from 'zip-a-folder' - -import { Telemetry } from '../analytics/telemetry' -import { BotonicAPIService } from '../botonic-api-service' -import { CLOUD_PROVIDERS, PATH_TO_AWS_CONFIG } from '../constants' -import { - copy, - createDir, - pathExists, - removeRecursively, -} from '../util/file-system' -import { sleep } from '../util/system' - -let npmCommand: string | undefined - -const BOTONIC_BUNDLE_FILE = 'botonic_bundle.zip' -const BOTONIC_TEMP_DIRNAME = 'tmp' - -interface DeployHubtypeFlags { - command?: string - botName?: string - email?: string - password?: string -} - -interface LoginErrorData { - error_description?: string -} - -export default class Run extends Command { - static description = 'Deploy Botonic project to cloud provider' - - static examples = [ - `$ botonic deploy -Building... -Creating bundle... -Uploading... -🚀 Bot deployed! -`, - `$ botonic deploy aws -Deploying to AWS... -`, - ] - static flags = { - command: flags.string({ - char: 'c', - description: 'Command to execute from the package "scripts" object', - }), - email: flags.string({ - char: 'e', - description: 'Email from Hubtype Organization', - }), - password: flags.string({ - char: 'p', - description: 'Password from Hubtype Organization', - }), - botName: flags.string({ - char: 'b', - description: 'Name of the bot from Hubtype where you want to deploy', - }), - } - - static args = [{ name: 'provider', options: Object.values(CLOUD_PROVIDERS) }] - - private botonicApiService: BotonicAPIService = new BotonicAPIService() - private botName: string | undefined = undefined - private telemetry = new Telemetry() - - /* istanbul ignore next */ - async run(): Promise { - const { flags, args } = this.parse(Run) - const provider: string = args.provider || CLOUD_PROVIDERS.HUBTYPE - // TODO: -> In a next iteration it would be cool to get a prompt asking which provider we prefer (if it's the 1st deploy) or getting the provider from `.botonic.json` (after 1st deploy) - this.telemetry.trackDeploy1_0({ provider }) - console.log(`Deploying to ${provider}...`) - console.log('This can take a while, do not cancel this process.') - if (provider === CLOUD_PROVIDERS.AWS) await this.deployAWS() - else if (provider === CLOUD_PROVIDERS.HUBTYPE) - await this.deployHubtype(flags) - } - - async deployAWS(): Promise { - const pulumiRunner = new PulumiRunner(PATH_TO_AWS_CONFIG) - try { - await pulumiRunner.deploy() - } catch (e) { - const error = `Deploy Botonic 1.0 ${CLOUD_PROVIDERS.AWS} Error: ${String( - e - )}` - this.telemetry.trackError(error) - throw new Error(e) - } - } - - async deployHubtype(flags: DeployHubtypeFlags): Promise { - npmCommand = flags.command - this.botName = flags.botName - const email = flags.email - const password = flags.password - if (email && password) await this.login(email, password) - else if (!this.botonicApiService.oauth) await this.signupFlow() - else if (this.botName) { - await this.deployBotFromFlag(this.botName) - } else await this.deployBotFlow() - } - - async deployBotFromFlag(botName: string): Promise { - const resp = await this.botonicApiService.getBots() - const nextBots = resp.data.next - const bots = resp.data.results - if (nextBots) { - await this.botonicApiService.getMoreBots(bots, nextBots) - } - const bot = bots.filter(b => b.name === botName)[0] - if (bot == undefined && !botName) { - console.log(colors.red(`Bot ${botName} doesn't exist.`)) - console.log('\nThese are the available options:') - bots.map(b => console.log(` > ${String(b.name)}`)) - return undefined - } else if (botName) { - const bots = await this.getAvailableBots() - const botByBotName = bots.find(bot => bot.name === botName) - if (botByBotName) { - this.botonicApiService.setCurrentBot(bot) - return await this.deploy() - } - return prompt([ - { - type: 'confirm', - name: 'create_bot_confirm', - message: 'Do you want to create a new Bot?', - }, - ]).then((res: any) => { - const confirm = res.create_bot_confirm - if (confirm) return this.createNewBot(botName) - return undefined - }) - } else { - this.botonicApiService.setCurrentBot(bot) - return await this.deploy() - } - } - - signupFlow(): Promise { - const choices = [ - 'No, I need to create a new one (Signup)', - 'Yes, I do. (Login)', - ] - return prompt([ - { - type: 'list', - name: 'signupConfirmation', - message: - 'You need to login before deploying your bot.\nDo you have a Hubtype account already?', - choices: choices, - }, - ]).then((inp: any) => { - if (inp.signupConfirmation == choices[1]) return this.askLogin() - else return this.askSignup() - }) - } - - askEmailPassword(): Promise<{ email: string; password: string }> { - return prompt([ - { - type: 'input', - name: 'email', - message: 'email:', - }, - { - type: 'password', - name: 'password', - mask: '*', - message: 'password:', - }, - ]) - } - - async askLogin(): Promise { - await this.askEmailPassword().then(inp => - this.login(inp.email, inp.password) - ) - } - - async askSignup(): Promise { - await this.askEmailPassword().then(inp => - this.signup(inp.email, inp.password) - ) - } - - async deployBotFlow(): Promise { - if (this.botName) return this.deployBotFromFlag(this.botName) - if ( - !this.botonicApiService.bot || - !Object.keys(this.botonicApiService.bot).length - ) - return this.newBotFlow() - else { - const resp = await this.botonicApiService.getBots() - const nextBots = resp.data.next - const bots = resp.data.results - if (nextBots) await this.botonicApiService.getMoreBots(bots, nextBots) - // Show the current bot in credentials at top of the list - const first_id = this.botonicApiService.bot.id - bots.sort(function (x, y) { - return x.id == first_id ? -1 : y.id == first_id ? 1 : 0 - }) - return this.selectExistentBot(bots) - } - } - - async login(email: string, password: string): Promise { - return this.botonicApiService.login(email, password).then( - ({}) => this.deployBotFlow(), - async (err: AxiosError) => { - if ( - err.response && - err.response.data && - err.response.data.error_description - ) { - console.log(colors.red(err.response.data.error_description)) - } else { - console.log( - colors.red( - 'There was an error when trying to log in. Please, try again:' - ) - ) - if (err.response && err.response.status && err.response.statusText) { - console.error( - `Error ${err.response.status}: ${err.response.statusText}` - ) - } - } - await this.askLogin() - } - ) - } - - async signup(email: string, password: string): Promise { - const org_name = email.split('@')[0] - const campaign = { product: 'botonic' } - return this.botonicApiService - .signup(email, password, org_name, campaign) - .then( - ({}) => this.login(email, password), - async err => { - if (err.response.data.email) - console.log(colors.red(err.response.data.email[0])) - if (err.response.data.password) - console.log(colors.red(err.response.data.password[0])) - if (!err.response.data.email && !err.response.data.password) - console.log( - colors.red( - 'There was an error trying to signup. Please, try again:' - ) - ) - await this.askSignup() - } - ) - } - - async getAvailableBots(): Promise { - const resp = await this.botonicApiService.getBots() - const nextBots = resp.data.next - const bots = resp.data.results - if (nextBots) await this.botonicApiService.getMoreBots(bots, nextBots) - return bots - } - - async newBotFlow(): Promise { - const bots = await this.getAvailableBots() - if (!bots.length) { - return this.createNewBot() - } else { - return prompt([ - { - type: 'confirm', - name: 'create_bot_confirm', - message: 'Do you want to create a new Bot?', - }, - ]).then((res: any) => { - const confirm = res.create_bot_confirm - if (confirm) { - return this.createNewBot() - } else { - return this.selectExistentBot(bots) - } - }) - } - } - - createNewBotWithName(inpBotName: string): Promise { - const MAX_ALLOWED_CHARS_FOR_BOT_NAME = 25 - if (inpBotName.length > MAX_ALLOWED_CHARS_FOR_BOT_NAME) { - throw new Error( - `Maximum allowed chars for bot name is ${MAX_ALLOWED_CHARS_FOR_BOT_NAME} chars. Please, give a shorter name.` - ) - } - return this.botonicApiService.saveBot(inpBotName).then( - ({}) => this.deploy(), - err => - console.log( - colors.red(`There was an error saving the bot: ${String(err)}`) - ) - ) - } - - createNewBot(botName?: string): Promise { - if (botName) return this.createNewBotWithName(botName) - return prompt([ - { - type: 'input', - name: 'bot_name', - message: 'Bot name:', - }, - ]).then((inp: any) => { - return this.createNewBotWithName(inp.bot_name) - }) - } - - selectExistentBot(bots: any[]): Promise { - return prompt([ - { - type: 'list', - name: 'bot_name', - message: 'Please, select a bot', - choices: bots.map(b => b.name), - }, - ]).then((inp: { bot_name: string }) => { - const bot = bots.filter(b => b.name === inp.bot_name)[0] - this.botonicApiService.setCurrentBot(bot) - return this.deploy() - }) - } - - displayProviders(providers: { username: string; provider: string }[]): void { - console.log('Your bot is published on:') - providers.forEach(p => { - if (p.provider === 'whatsapp') - console.log(`💬 [whatsapp] https://wa.me/${p.username}`) - if (p.provider === 'facebook') - console.log(`💬 [facebook] https://m.me/${p.username}`) - if (p.provider === 'telegram') - console.log(`💬 [telegram] https://t.me/${p.username}`) - if (p.provider === 'twitter') - console.log(`💬 [twitter] https://t.me/${p.username}`) - if (p.provider === 'generic') console.log(`💬 Your app or website`) - }) - } - - async createBundle(): Promise { - const spinner = ora({ - text: 'Creating bundle...', - spinner: 'bouncingBar', - }).start() - if (pathExists(BOTONIC_TEMP_DIRNAME)) - removeRecursively(BOTONIC_TEMP_DIRNAME) - createDir(join(process.cwd(), BOTONIC_TEMP_DIRNAME)) - copy('dist', join(BOTONIC_TEMP_DIRNAME, 'dist')) - const zipRes = await ZipAFolder.zip( - BOTONIC_TEMP_DIRNAME, - join(BOTONIC_BUNDLE_FILE) - ) - if (zipRes instanceof Error) { - throw Error - } - const zipStats = statSync(BOTONIC_BUNDLE_FILE) - spinner.succeed() - if (zipStats.size >= 10 * 10 ** 6) { - spinner.fail() - console.log( - colors.red( - `Deploy failed. Bundle size too big ${zipStats.size} (max 10Mb).` - ) - ) - const error = 'Deploy Botonic Zip Error' - this.telemetry.trackError(error) - return - } - } - - /* istanbul ignore next */ - async deployBundle(): Promise<{ hasDeployErrors: boolean }> { - const spinner = ora({ - text: 'Deploying...', - spinner: 'bouncingBar', - }).start() - try { - const deploy = await this.botonicApiService.deployBot( - join(process.cwd(), BOTONIC_BUNDLE_FILE) - ) - if ( - (deploy.response && deploy.response.status == 403) || - !deploy.data.deploy_id - ) { - const error = `Deploy Botonic Error: ${String( - deploy.response.data.status - )}` - this.telemetry.trackError(error) - throw deploy.response.data.status - } - // eslint-disable-next-line no-constant-condition - while (true) { - await sleep(500) - const deployStatus = await this.botonicApiService.deployStatus( - deploy.data.deploy_id - ) - if (deployStatus.data.is_completed) { - if (deployStatus.data.status == 'deploy_status_completed_ok') { - spinner.succeed() - console.log(colors.green('\n🚀 Bot deployed!\n')) - return { hasDeployErrors: false } - } else throw deployStatus.data.error - } - } - } catch (err) { - spinner.fail() - const error = String(err) - console.log(colors.red('There was a problem in the deploy:')) - console.log(colors.red(error)) - this.telemetry.trackError(`Deploy Botonic Error: ${error}`) - return { hasDeployErrors: true } - } - } - - /* istanbul ignore next */ - async displayDeployResults({ hasDeployErrors }): Promise { - try { - const providersRes = await this.botonicApiService.getProviders() - const providers = providersRes.data.results - if (hasDeployErrors) return false - if (!providers.length) { - const botId = this.botonicApiService.botInfo().id - const accessToken = this.botonicApiService.getOauth().access_token - const links = - 'Now, you can integrate a channel in:' + - `\nhttps://app.hubtype.com/bots/${botId}/integrations?access_token=${accessToken}` - console.log(links) - } else { - this.displayProviders(providers) - } - return true - } catch (e) { - const error = `Deploy Botonic Provider Error: ${String(e)}` - this.telemetry.trackError(error) - console.log( - colors.red(`There was an error getting the providers: ${String(e)}`) - ) - return false - } - } - - /* istanbul ignore next */ - async deploy(): Promise { - try { - const buildOut = await this.botonicApiService.build(npmCommand) - if (!buildOut) { - const error = 'Deploy Botonic Build Error' - this.telemetry.trackError(error) - console.log(colors.red('There was a problem building the bot')) - return - } - await this.createBundle() - const { hasDeployErrors } = await this.deployBundle() - await this.displayDeployResults({ hasDeployErrors }) - } catch (e) { - console.log(colors.red('Deploy Error'), e) - } finally { - rmSync(BOTONIC_BUNDLE_FILE) - removeRecursively(BOTONIC_TEMP_DIRNAME) - this.botonicApiService.beforeExit() - } - } -} diff --git a/packages/botonic-cli/src/commands/destroy.ts b/packages/botonic-cli/src/commands/destroy.ts deleted file mode 100644 index 625acbc42c..0000000000 --- a/packages/botonic-cli/src/commands/destroy.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { PulumiRunner } from '@botonic/pulumi/lib/pulumi-runner' -import { Command } from '@oclif/command' - -import { Telemetry } from '../analytics/telemetry' -import { CLOUD_PROVIDERS, PATH_TO_AWS_CONFIG } from '../constants' - -export default class Run extends Command { - static description = 'Destroy Botonic project from cloud provider' - - static examples = [ - `$ botonic destroy aws -Destroying AWS stack... -`, - ] - static flags = {} - - static args = [{ name: 'provider', options: Object.values(CLOUD_PROVIDERS) }] - - private telemetry = new Telemetry() - - /* istanbul ignore next */ - async run(): Promise { - const { args } = this.parse(Run) - const provider: string = args.provider || CLOUD_PROVIDERS.HUBTYPE - this.telemetry.trackDestroy1_0({ provider }) - console.log(`Destroying ${provider} stack...`) - console.log('This can take a while, do not cancel this process.') - if (provider === CLOUD_PROVIDERS.AWS) await this.destroyAWS() - else if (provider === CLOUD_PROVIDERS.HUBTYPE) await this.destroyHubtype() - } - - async destroyAWS(): Promise { - try { - const pulumiRunner = new PulumiRunner(PATH_TO_AWS_CONFIG) - await pulumiRunner.destroy() - } catch (e) { - const error = `Destroy Botonic 1.0 ${CLOUD_PROVIDERS.AWS} Error: ${String( - e - )}` - this.telemetry.trackError(error) - throw new Error(e) - } - } - - async destroyHubtype(): Promise { - // TODO: Implement logic to destroy Hubtype bots - } -} From ea54a4da4c70b5747f9fe980c7a00fbe3dbb0222 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:26:48 +0100 Subject: [PATCH 02/46] chore(botonic): remove botonic-nlp package --- packages/botonic-nlp/babel.config.js | 6 - packages/botonic-nlp/jest.config.js | 5 - packages/botonic-nlp/package-lock.json | 4009 ----------------- packages/botonic-nlp/package.json | 57 - packages/botonic-nlp/src/constants.ts | 2 - .../botonic-nlp/src/dataset/data-augmenter.ts | 69 - packages/botonic-nlp/src/dataset/dataset.ts | 50 - .../src/dataset/entities-parser.ts | 43 - packages/botonic-nlp/src/dataset/index.ts | 5 - .../src/dataset/input-data-parser.ts | 62 - .../src/dataset/input-data-reader.ts | 37 - .../src/embeddings/database/constants.ts | 59 - .../src/embeddings/database/index.ts | 3 - .../src/embeddings/database/storage.ts | 101 - .../src/embeddings/database/types.ts | 2 - .../botonic-nlp/src/embeddings/downloader.ts | 38 - .../src/embeddings/embeddings-matrix.ts | 16 - packages/botonic-nlp/src/embeddings/index.ts | 3 - packages/botonic-nlp/src/embeddings/types.ts | 3 - packages/botonic-nlp/src/encode/index.ts | 3 - .../botonic-nlp/src/encode/indexed-items.ts | 42 - .../botonic-nlp/src/encode/label-encoder.ts | 13 - .../botonic-nlp/src/encode/one-hot-encoder.ts | 38 - packages/botonic-nlp/src/index.ts | 30 - packages/botonic-nlp/src/model/index.ts | 3 - packages/botonic-nlp/src/model/manager.ts | 31 - packages/botonic-nlp/src/model/model-info.ts | 29 - .../botonic-nlp/src/model/model-selector.ts | 41 - .../botonic-nlp/src/preprocess/constants.ts | 2 - .../preprocess/engines/de/normalizer-de.ts | 10 - .../src/preprocess/engines/de/stemmer-de.ts | 10 - .../src/preprocess/engines/de/stopwords-de.ts | 3 - .../src/preprocess/engines/de/tokenizer-de.ts | 10 - .../preprocess/engines/en/normalizer-en.ts | 10 - .../src/preprocess/engines/en/stemmer-en.ts | 10 - .../src/preprocess/engines/en/stopwords-en.ts | 3 - .../src/preprocess/engines/en/tokenizer-en.ts | 10 - .../preprocess/engines/es/normalizer-es.ts | 10 - .../src/preprocess/engines/es/stemmer-es.ts | 10 - .../src/preprocess/engines/es/stopwords-es.ts | 3 - .../src/preprocess/engines/es/tokenizer-es.ts | 10 - .../preprocess/engines/fr/normalizer-fr.ts | 10 - .../src/preprocess/engines/fr/stemmer-fr.ts | 10 - .../src/preprocess/engines/fr/stopwords-fr.ts | 3 - .../src/preprocess/engines/fr/tokenizer-fr.ts | 10 - .../preprocess/engines/it/normalizer-it.ts | 10 - .../src/preprocess/engines/it/stemmer-it.ts | 10 - .../src/preprocess/engines/it/stopwords-it.ts | 3 - .../src/preprocess/engines/it/tokenizer-it.ts | 10 - .../src/preprocess/engines/normalizer.ts | 22 - .../preprocess/engines/ru/normalizer-ru.ts | 10 - .../src/preprocess/engines/ru/stemmer-ru.ts | 10 - .../src/preprocess/engines/ru/stopwords-ru.ts | 3 - .../src/preprocess/engines/ru/tokenizer-ru.ts | 10 - .../src/preprocess/engines/stemmer.ts | 22 - .../src/preprocess/engines/stopwords.ts | 22 - .../src/preprocess/engines/tokenizer.ts | 22 - packages/botonic-nlp/src/preprocess/index.ts | 3 - .../src/preprocess/preprocessor.ts | 91 - packages/botonic-nlp/src/preprocess/types.ts | 25 - .../botonic-nlp/src/storage/config-storage.ts | 24 - packages/botonic-nlp/src/storage/index.ts | 2 - .../botonic-nlp/src/storage/model-storage.ts | 15 - .../botonic-intent-classifier.ts | 132 - .../src/tasks/intent-classification/index.ts | 3 - .../intent-classification/models/index.ts | 2 - .../intent-classification/models/simple-nn.ts | 70 - .../intent-classification/models/types.ts | 9 - .../intent-classification/process/index.ts | 2 - .../process/prediction-processor.ts | 25 - .../process/processor.ts | 48 - .../intent-classification/process/types.ts | 4 - .../botonic-nlp/src/tasks/ner/botonic-ner.ts | 111 - packages/botonic-nlp/src/tasks/ner/index.ts | 3 - .../src/tasks/ner/models/bilstm-model.ts | 74 - .../botonic-nlp/src/tasks/ner/models/index.ts | 2 - .../botonic-nlp/src/tasks/ner/models/types.ts | 9 - .../src/tasks/ner/process/constants.ts | 1 - .../src/tasks/ner/process/index.ts | 4 - .../tasks/ner/process/prediction-processor.ts | 32 - .../src/tasks/ner/process/processor.ts | 104 - .../src/tasks/ner/process/types.ts | 12 - packages/botonic-nlp/src/types.ts | 14 - packages/botonic-nlp/src/utils/array-utils.ts | 17 - packages/botonic-nlp/src/utils/file-utils.ts | 5 - packages/botonic-nlp/src/utils/index.ts | 2 - .../tests/dataset/data-augmenter.test.ts | 23 - .../botonic-nlp/tests/dataset/dataset.test.ts | 35 - .../tests/dataset/entities-parser.test.ts | 15 - .../tests/dataset/input-data-parser.test.ts | 16 - .../tests/dataset/input-data-reader.test.ts | 17 - .../tests/embeddings/database/storage.test.ts | 17 - .../tests/embeddings/downloader.test.ts | 21 - .../embeddings/embeddings-matrix.test.ts | 12 - .../tests/encode/indexed-items.test.ts | 38 - .../tests/encode/label-encoder.test.ts | 28 - .../tests/encode/one-hot-codifier.test.ts | 42 - .../tests/helpers/constants-helper.ts | 64 - .../tests/helpers/data/buy-product.yaml | 35 - .../tests/helpers/data/return-product.yaml | 35 - .../intent-classification/en/config.json | 37 - .../intent-classification/en/model.json | 140 - .../intent-classification/en/weights.bin | Bin 373624 -> 0 bytes .../tests/helpers/models/ner/en/config.json | 37 - .../tests/helpers/models/ner/en/model.json | 198 - .../tests/helpers/models/ner/en/weights.bin | Bin 743296 -> 0 bytes .../botonic-nlp/tests/helpers/tools-helper.ts | 46 - .../tests/model/model-manager.test.ts | 19 - .../engines/de/normalizer-de.test.ts | 14 - .../preprocess/engines/de/stemmer-de.test.ts | 8 - .../engines/de/tokenizer-de.test.ts | 14 - .../engines/en/normalizer-en.test.ts | 11 - .../preprocess/engines/en/stemmer-en.test.ts | 8 - .../engines/en/tokenizer-en.test.ts | 14 - .../engines/es/normalizer-es.test.ts | 14 - .../preprocess/engines/es/stemmer-es.test.ts | 8 - .../engines/es/tokenizer-es.test.ts | 14 - .../engines/fr/normalizer-fr.test.ts | 11 - .../preprocess/engines/fr/stemmer-fr.test.ts | 8 - .../engines/fr/tokenizer-fr.test.ts | 14 - .../engines/it/normalizer-it.test.ts | 11 - .../preprocess/engines/it/stemmer-it.test.ts | 8 - .../engines/it/tokenizer-it.test.ts | 14 - .../engines/ru/normalizer-ru.test.ts | 11 - .../preprocess/engines/ru/stemmer-ru.test.ts | 8 - .../engines/ru/tokenizer-ru.test.ts | 14 - .../tests/preprocess/preprocessor.test.ts | 59 - .../tests/storage/config-storage.test.ts | 49 - .../tests/storage/model-storage.test.ts | 30 - .../botonic-intent-classifier.test.ts | 49 - .../models/simple-nn.test.ts | 15 - .../process/prediction-processor.test.ts | 15 - .../process/processor.test.ts | 49 - .../tests/tasks/ner/botonic-ner.test.ts | 51 - .../tasks/ner/models/bilstm-model.test.ts | 13 - .../ner/process/prediction-processor.test.ts | 31 - .../tests/tasks/ner/process/processor.test.ts | 115 - packages/botonic-nlp/tests/tsconfig.json | 12 - packages/botonic-nlp/tsconfig.eslint.json | 4 - packages/botonic-nlp/tsconfig.json | 24 - 140 files changed, 7528 deletions(-) delete mode 100644 packages/botonic-nlp/babel.config.js delete mode 100644 packages/botonic-nlp/jest.config.js delete mode 100644 packages/botonic-nlp/package-lock.json delete mode 100644 packages/botonic-nlp/package.json delete mode 100644 packages/botonic-nlp/src/constants.ts delete mode 100644 packages/botonic-nlp/src/dataset/data-augmenter.ts delete mode 100644 packages/botonic-nlp/src/dataset/dataset.ts delete mode 100644 packages/botonic-nlp/src/dataset/entities-parser.ts delete mode 100644 packages/botonic-nlp/src/dataset/index.ts delete mode 100644 packages/botonic-nlp/src/dataset/input-data-parser.ts delete mode 100644 packages/botonic-nlp/src/dataset/input-data-reader.ts delete mode 100644 packages/botonic-nlp/src/embeddings/database/constants.ts delete mode 100644 packages/botonic-nlp/src/embeddings/database/index.ts delete mode 100644 packages/botonic-nlp/src/embeddings/database/storage.ts delete mode 100644 packages/botonic-nlp/src/embeddings/database/types.ts delete mode 100644 packages/botonic-nlp/src/embeddings/downloader.ts delete mode 100644 packages/botonic-nlp/src/embeddings/embeddings-matrix.ts delete mode 100644 packages/botonic-nlp/src/embeddings/index.ts delete mode 100644 packages/botonic-nlp/src/embeddings/types.ts delete mode 100644 packages/botonic-nlp/src/encode/index.ts delete mode 100644 packages/botonic-nlp/src/encode/indexed-items.ts delete mode 100644 packages/botonic-nlp/src/encode/label-encoder.ts delete mode 100644 packages/botonic-nlp/src/encode/one-hot-encoder.ts delete mode 100644 packages/botonic-nlp/src/index.ts delete mode 100644 packages/botonic-nlp/src/model/index.ts delete mode 100644 packages/botonic-nlp/src/model/manager.ts delete mode 100644 packages/botonic-nlp/src/model/model-info.ts delete mode 100644 packages/botonic-nlp/src/model/model-selector.ts delete mode 100644 packages/botonic-nlp/src/preprocess/constants.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/de/normalizer-de.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/de/stemmer-de.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/de/stopwords-de.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/de/tokenizer-de.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/en/normalizer-en.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/en/stemmer-en.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/en/stopwords-en.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/en/tokenizer-en.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/es/normalizer-es.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/es/stemmer-es.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/es/stopwords-es.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/es/tokenizer-es.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/fr/normalizer-fr.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/fr/stemmer-fr.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/fr/stopwords-fr.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/fr/tokenizer-fr.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/it/normalizer-it.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/it/stemmer-it.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/it/stopwords-it.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/it/tokenizer-it.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/normalizer.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/ru/normalizer-ru.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/ru/stemmer-ru.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/ru/stopwords-ru.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/ru/tokenizer-ru.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/stemmer.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/stopwords.ts delete mode 100644 packages/botonic-nlp/src/preprocess/engines/tokenizer.ts delete mode 100644 packages/botonic-nlp/src/preprocess/index.ts delete mode 100644 packages/botonic-nlp/src/preprocess/preprocessor.ts delete mode 100644 packages/botonic-nlp/src/preprocess/types.ts delete mode 100644 packages/botonic-nlp/src/storage/config-storage.ts delete mode 100644 packages/botonic-nlp/src/storage/index.ts delete mode 100644 packages/botonic-nlp/src/storage/model-storage.ts delete mode 100644 packages/botonic-nlp/src/tasks/intent-classification/botonic-intent-classifier.ts delete mode 100644 packages/botonic-nlp/src/tasks/intent-classification/index.ts delete mode 100644 packages/botonic-nlp/src/tasks/intent-classification/models/index.ts delete mode 100644 packages/botonic-nlp/src/tasks/intent-classification/models/simple-nn.ts delete mode 100644 packages/botonic-nlp/src/tasks/intent-classification/models/types.ts delete mode 100644 packages/botonic-nlp/src/tasks/intent-classification/process/index.ts delete mode 100644 packages/botonic-nlp/src/tasks/intent-classification/process/prediction-processor.ts delete mode 100644 packages/botonic-nlp/src/tasks/intent-classification/process/processor.ts delete mode 100644 packages/botonic-nlp/src/tasks/intent-classification/process/types.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/botonic-ner.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/index.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/models/bilstm-model.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/models/index.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/models/types.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/process/constants.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/process/index.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/process/prediction-processor.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/process/processor.ts delete mode 100644 packages/botonic-nlp/src/tasks/ner/process/types.ts delete mode 100644 packages/botonic-nlp/src/types.ts delete mode 100644 packages/botonic-nlp/src/utils/array-utils.ts delete mode 100644 packages/botonic-nlp/src/utils/file-utils.ts delete mode 100644 packages/botonic-nlp/src/utils/index.ts delete mode 100644 packages/botonic-nlp/tests/dataset/data-augmenter.test.ts delete mode 100644 packages/botonic-nlp/tests/dataset/dataset.test.ts delete mode 100644 packages/botonic-nlp/tests/dataset/entities-parser.test.ts delete mode 100644 packages/botonic-nlp/tests/dataset/input-data-parser.test.ts delete mode 100644 packages/botonic-nlp/tests/dataset/input-data-reader.test.ts delete mode 100644 packages/botonic-nlp/tests/embeddings/database/storage.test.ts delete mode 100644 packages/botonic-nlp/tests/embeddings/downloader.test.ts delete mode 100644 packages/botonic-nlp/tests/embeddings/embeddings-matrix.test.ts delete mode 100644 packages/botonic-nlp/tests/encode/indexed-items.test.ts delete mode 100644 packages/botonic-nlp/tests/encode/label-encoder.test.ts delete mode 100644 packages/botonic-nlp/tests/encode/one-hot-codifier.test.ts delete mode 100644 packages/botonic-nlp/tests/helpers/constants-helper.ts delete mode 100644 packages/botonic-nlp/tests/helpers/data/buy-product.yaml delete mode 100644 packages/botonic-nlp/tests/helpers/data/return-product.yaml delete mode 100644 packages/botonic-nlp/tests/helpers/models/intent-classification/en/config.json delete mode 100644 packages/botonic-nlp/tests/helpers/models/intent-classification/en/model.json delete mode 100644 packages/botonic-nlp/tests/helpers/models/intent-classification/en/weights.bin delete mode 100644 packages/botonic-nlp/tests/helpers/models/ner/en/config.json delete mode 100644 packages/botonic-nlp/tests/helpers/models/ner/en/model.json delete mode 100644 packages/botonic-nlp/tests/helpers/models/ner/en/weights.bin delete mode 100644 packages/botonic-nlp/tests/helpers/tools-helper.ts delete mode 100644 packages/botonic-nlp/tests/model/model-manager.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/de/normalizer-de.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/de/stemmer-de.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/de/tokenizer-de.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/en/normalizer-en.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/en/stemmer-en.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/en/tokenizer-en.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/es/normalizer-es.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/es/stemmer-es.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/es/tokenizer-es.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/fr/normalizer-fr.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/fr/stemmer-fr.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/fr/tokenizer-fr.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/it/normalizer-it.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/it/stemmer-it.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/it/tokenizer-it.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/ru/normalizer-ru.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/ru/stemmer-ru.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/engines/ru/tokenizer-ru.test.ts delete mode 100644 packages/botonic-nlp/tests/preprocess/preprocessor.test.ts delete mode 100644 packages/botonic-nlp/tests/storage/config-storage.test.ts delete mode 100644 packages/botonic-nlp/tests/storage/model-storage.test.ts delete mode 100644 packages/botonic-nlp/tests/tasks/intent-classification/botonic-intent-classifier.test.ts delete mode 100644 packages/botonic-nlp/tests/tasks/intent-classification/models/simple-nn.test.ts delete mode 100644 packages/botonic-nlp/tests/tasks/intent-classification/process/prediction-processor.test.ts delete mode 100644 packages/botonic-nlp/tests/tasks/intent-classification/process/processor.test.ts delete mode 100644 packages/botonic-nlp/tests/tasks/ner/botonic-ner.test.ts delete mode 100644 packages/botonic-nlp/tests/tasks/ner/models/bilstm-model.test.ts delete mode 100644 packages/botonic-nlp/tests/tasks/ner/process/prediction-processor.test.ts delete mode 100644 packages/botonic-nlp/tests/tasks/ner/process/processor.test.ts delete mode 100644 packages/botonic-nlp/tests/tsconfig.json delete mode 100644 packages/botonic-nlp/tsconfig.eslint.json delete mode 100644 packages/botonic-nlp/tsconfig.json diff --git a/packages/botonic-nlp/babel.config.js b/packages/botonic-nlp/babel.config.js deleted file mode 100644 index befbdd148b..0000000000 --- a/packages/botonic-nlp/babel.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - presets: [ - ['@babel/preset-env', { targets: { node: 'current' } }], - '@babel/preset-typescript', - ], -} diff --git a/packages/botonic-nlp/jest.config.js b/packages/botonic-nlp/jest.config.js deleted file mode 100644 index 4bba530ecc..0000000000 --- a/packages/botonic-nlp/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - testTimeout: 240000, -} diff --git a/packages/botonic-nlp/package-lock.json b/packages/botonic-nlp/package-lock.json deleted file mode 100644 index 2c103b0cbf..0000000000 --- a/packages/botonic-nlp/package-lock.json +++ /dev/null @@ -1,4009 +0,0 @@ -{ - "name": "@botonic/nlp", - "version": "0.21.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", - "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==", - "dev": true - }, - "@babel/core": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz", - "integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.8", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.8", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.14.8", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.8", - "@babel/types": "^7.14.8", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz", - "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==", - "dev": true, - "requires": { - "@babel/types": "^7.14.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", - "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", - "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", - "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz", - "integrity": "sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.8", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.8", - "@babel/types": "^7.14.8" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", - "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-wrap-function": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", - "dev": true, - "requires": { - "@babel/types": "^7.14.8" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", - "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz", - "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", - "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/helpers": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz", - "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==", - "dev": true, - "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.8", - "@babel/types": "^7.14.8" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz", - "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==", - "dev": true - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", - "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", - "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.15.4", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", - "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", - "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.15.4" - }, - "dependencies": { - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true - }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", - "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", - "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", - "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", - "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", - "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", - "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.15.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", - "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", - "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", - "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", - "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz", - "integrity": "sha512-sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-typescript": "^7.14.5" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/preset-env": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", - "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", - "@babel/plugin-proposal-async-generator-functions": "^7.15.8", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.15.4", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.15.6", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.15.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@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-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.15.3", - "@babel/plugin-transform-classes": "^7.15.4", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.15.4", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.15.4", - "@babel/plugin-transform-modules-systemjs": "^7.15.4", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.15.4", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.15.8", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.15.6", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.5", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.16.0", - "semver": "^6.3.0" - }, - "dependencies": { - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true - }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-typescript": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.15.0.tgz", - "integrity": "sha512-lt0Y/8V3y06Wq/8H/u0WakrqciZ7Fz7mwPDHWUJAXlABL5hiUG42BNlRXiELNjeWjO5rWmnNKlx+yzJvxezHow==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-typescript": "^7.15.0" - } - }, - "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/traverse": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.8.tgz", - "integrity": "sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.8", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.8", - "@babel/types": "^7.14.8", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz", - "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.8", - "to-fast-properties": "^2.0.0" - } - }, - "@nlpjs/core": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/core/-/core-4.22.0.tgz", - "integrity": "sha512-L7Qb5kP+/ZJ7Wyjoli1nk+SQvvMY0BuuLfYLNvJ2vKL3tMmrSdYBJcXhgmOHEROU6jf4LFgY8VwBpFTsRJV97g==" - }, - "@nlpjs/lang-de": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-de/-/lang-de-4.26.1.tgz", - "integrity": "sha512-HfZQwsE5FICq9taVZDiyktmdAePVF5948NM80et0d9mx43RWDFhHKQYgtJPwfQXtdCoQtOM5TOJ2FanGwzPeaA==", - "requires": { - "@nlpjs/core": "^4.26.1" - }, - "dependencies": { - "@nlpjs/core": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/core/-/core-4.26.1.tgz", - "integrity": "sha512-M/PeFddsi3y7Z1piFJxsLGm5/xdMhcrpOsml7s6CTEgYo8iduaT30HDd61tZxDyvvJseU6uFqlXSn7XKkAcC1g==" - } - } - }, - "@nlpjs/lang-en-min": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-en-min/-/lang-en-min-4.22.0.tgz", - "integrity": "sha512-kmOH5xTTmUcM1hEPJTmN0v44Jp9ZFbSkrS+w8kjV7rFhGhQgIvifT2pVcBuRS7Ho7RSwT2EMSkyR3EiMohjhDQ==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-es": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-es/-/lang-es-4.22.0.tgz", - "integrity": "sha512-O/16imCVu5hW1a7oSN8OtxiN4wHtv372ka1HBnEjLx7VxNX6XVUiypOiz7Pzawl5hfOwrMM4+LNmK515Pe3jKg==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-fr": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-fr/-/lang-fr-4.26.1.tgz", - "integrity": "sha512-LTA852atCJnHtKDmtjx/ui5AnvEIkrPx+MJQ2mB3gn8ko6i2UITnJgPmJE9Kej5bLasVZOAJvU/SrfXEmnPGOw==", - "requires": { - "@nlpjs/core": "^4.26.1" - }, - "dependencies": { - "@nlpjs/core": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/core/-/core-4.26.1.tgz", - "integrity": "sha512-M/PeFddsi3y7Z1piFJxsLGm5/xdMhcrpOsml7s6CTEgYo8iduaT30HDd61tZxDyvvJseU6uFqlXSn7XKkAcC1g==" - } - } - }, - "@nlpjs/lang-it": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-it/-/lang-it-4.22.0.tgz", - "integrity": "sha512-gMbsBli8ZlPmDWLX8aNbPfIT5KdP4EvuPr+rfZJBoaqG8U0q9Q/gpB3omj0BR1cxOSf51yLUj91Omg2eyT9npg==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-ru": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-ru/-/lang-ru-4.22.0.tgz", - "integrity": "sha512-a9FoXWIern7Nzg6+gfS1PrXtkF/JZzryrPu6dz2JnRC/KStOcH6OrW/a2/SzJ6SWisjbSZ5m7rol4X72I9DGIw==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@tensorflow/tfjs": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-2.8.6.tgz", - "integrity": "sha512-/Hk3YCAreNicuQJsAIG32UGHaQj8UwX8y8ZrKVb/CrXOhrRyZmxGSZt9KMVe8MDoydenuGhZCqJUIaWdIKIA5g==", - "requires": { - "@tensorflow/tfjs-backend-cpu": "2.8.6", - "@tensorflow/tfjs-backend-webgl": "2.8.6", - "@tensorflow/tfjs-converter": "2.8.6", - "@tensorflow/tfjs-core": "2.8.6", - "@tensorflow/tfjs-data": "2.8.6", - "@tensorflow/tfjs-layers": "2.8.6", - "argparse": "^1.0.10", - "chalk": "^4.1.0", - "core-js": "3", - "regenerator-runtime": "^0.13.5", - "yargs": "^16.0.3" - } - }, - "@tensorflow/tfjs-backend-cpu": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-2.8.6.tgz", - "integrity": "sha512-x9WTTE9p3Pon2D0d6HH1UCIJsU1w3v9sF3vxJcp+YStrjDefWoW5pwxHCckEKTRra7GWg3CwMKK3Si2dat4H1A==", - "requires": { - "@types/seedrandom": "2.4.27", - "seedrandom": "2.4.3" - } - }, - "@tensorflow/tfjs-backend-webgl": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-2.8.6.tgz", - "integrity": "sha512-kPgm3Dim0Li5MleybYKSZVUCu91ipDjZtTA5RrJx/Dli115qwWdiRGOHYwsIEY61hZoE0m3amjWLUBxtwMW1Nw==", - "requires": { - "@tensorflow/tfjs-backend-cpu": "2.8.6", - "@types/offscreencanvas": "~2019.3.0", - "@types/seedrandom": "2.4.27", - "@types/webgl-ext": "0.0.30", - "@types/webgl2": "0.0.5", - "seedrandom": "2.4.3" - }, - "dependencies": { - "@types/webgl2": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", - "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" - } - } - }, - "@tensorflow/tfjs-converter": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-2.8.6.tgz", - "integrity": "sha512-Uv4YC66qjVC9UwBxz0IeLZ8KS2CReh63WlGRtHcSwDEYiwsa7cvp9H6lFSSPT7kiJmrK6JtHeJGIVcTuNnSt9w==" - }, - "@tensorflow/tfjs-core": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-2.8.6.tgz", - "integrity": "sha512-jS28M1POUOjnWgx3jp1v5D45DUQE8USsAHHkL/01z75KnYCAAmgqJSH4YKLiYACg3eBLWXH/KTcSc6dHAX7Kfg==", - "requires": { - "@types/offscreencanvas": "~2019.3.0", - "@types/seedrandom": "2.4.27", - "@types/webgl-ext": "0.0.30", - "node-fetch": "~2.6.1", - "seedrandom": "2.4.3" - } - }, - "@tensorflow/tfjs-data": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-2.8.6.tgz", - "integrity": "sha512-zoDUfd5TfkYdviqu2bObwyJGXJiOvBckOTP9j36PUs6s+4DbTIDttyxdfeEaiiLX9ZUFU58CoW+3LI/dlFVyoQ==", - "requires": { - "@types/node-fetch": "^2.1.2", - "node-fetch": "~2.6.1" - } - }, - "@tensorflow/tfjs-layers": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.8.6.tgz", - "integrity": "sha512-fdZ0i/R2dIKmy8OB5tBAsm5IbAHfJpI6AlbjxpgoU3aWj1HCdDo+pMji928MkDJhP01ISgFTgw/7PseGNaUflw==" - }, - "@tensorflow/tfjs-node": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-2.8.6.tgz", - "integrity": "sha512-lq7fielTU42K8hyzvbmLTKzp4WqIAdgpWdbUPoHpXDCqTgWGb1UfMaDt/oxBkA7i9DFvyN3cem/tdeQRC95pLA==", - "requires": { - "@tensorflow/tfjs": "2.8.6", - "@tensorflow/tfjs-core": "2.8.6", - "adm-zip": "^0.4.11", - "google-protobuf": "^3.9.2", - "https-proxy-agent": "^2.2.1", - "node-pre-gyp": "0.14.0", - "progress": "^2.0.0", - "rimraf": "^2.6.2", - "tar": "^4.4.6" - } - }, - "@types/axios": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@types/axios/-/axios-0.14.0.tgz", - "integrity": "sha1-7CMA++fX3d1+udOr+HmZlkyvzkY=", - "dev": true, - "requires": { - "axios": "*" - } - }, - "@types/better-sqlite3": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-5.4.3.tgz", - "integrity": "sha512-d4T8Htgz3sQL3u5oVwkWipZLBYUooKEA4fhU9Sp4F6VDIhifQo1NR/IDtnAIID0Y9IXV3TQnNhv6S+m8TnkEdg==", - "dev": true, - "requires": { - "@types/integer": "*" - } - }, - "@types/integer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/integer/-/integer-4.0.1.tgz", - "integrity": "sha512-QQojPymFcV1hrvWXA1h0pP9RmFBFNuWikZcUEjjVsS19IyKO+jqOX24lp2ZHF4A21EmkosJhJDX7CLG67F2s7A==", - "dev": true - }, - "@types/node": { - "version": "16.4.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.3.tgz", - "integrity": "sha512-GKM4FLMkWDc0sfx7tXqPWkM6NBow1kge0fgQh0bOnlqo4iT1kvTvMEKE0c1RtUGnbLlGRXiAA8SumE//90uKAg==" - }, - "@types/node-fetch": { - "version": "2.5.12", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz", - "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==", - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "@types/offscreencanvas": { - "version": "2019.3.0", - "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", - "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" - }, - "@types/seedrandom": { - "version": "2.4.27", - "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz", - "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE=" - }, - "@types/webgl-ext": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", - "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" - }, - "@types/webgl2": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.6.tgz", - "integrity": "sha512-50GQhDVTq/herLMiqSQkdtRu+d5q/cWHn4VvKJtrj4DJAjo1MNkWYa2MA41BaBO1q1HgsUjuQvEOk0QHvlnAaQ==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", - "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.16.2" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "better-sqlite3": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.3.tgz", - "integrity": "sha512-07bKjClZg/f4KMVRkzWtoIvazVPcF1gsvVKVIXlxwleC2DxuIhnra3KCMlUT1rFeRYXXckot2a46UciF2d9KLw==", - "requires": { - "bindings": "^1.5.0", - "prebuild-install": "^6.0.1", - "tar": "^6.1.0" - }, - "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "tar": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.2.tgz", - "integrity": "sha512-EwKEgqJ7nJoS+s8QfLYVGMDmAsj+StbI2AM/RTHeUSsOw6Z8bwNBRv5z3CY0m7laC5qUAqruLX5AhMuc5deY3Q==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caniuse-lite": { - "version": "1.0.30001247", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001247.tgz", - "integrity": "sha512-4rS7co+7+AoOSPRPOPUt5/GdaqZc0EsUpWk66ofE3HJTAajUK2Ss2VwoNzVN69ghg8lYYlh0an0Iy4LIHHo9UQ==", - "dev": true - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "core-js": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", - "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==" - }, - "core-js-compat": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.0.tgz", - "integrity": "sha512-R09rKZ56ccGBebjTLZHvzDxhz93YPT37gBm6qUhnwj3Kt7aCjjZWD1injyNbyeFHxNKfeZBSyds6O9n3MKq1sw==", - "dev": true, - "requires": { - "browserslist": "^4.17.5", - "semver": "7.0.0" - }, - "dependencies": { - "browserslist": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz", - "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001271", - "electron-to-chromium": "^1.3.878", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001271", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001271.tgz", - "integrity": "sha512-BBruZFWmt3HFdVPS8kceTBIguKxu4f99n5JNp06OlPD/luoAMIaIK5ieV5YjnBLH3Nysai9sxj9rpJj4ZisXOA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.878", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.878.tgz", - "integrity": "sha512-O6yxWCN9ph2AdspAIszBnd9v8s11hQx8ub9w4UGApzmNRnoKhbulOWqbO8THEQec/aEHtvy+donHZMlh6l1rbA==", - "dev": true - }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cross-fetch": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz", - "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==", - "requires": { - "node-fetch": "^2.6.11" - }, - "dependencies": { - "node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", - "requires": { - "whatwg-url": "^5.0.0" - } - } - } - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "requires": { - "mimic-response": "^2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "electron-to-chromium": { - "version": "1.3.788", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.788.tgz", - "integrity": "sha512-dbMIpX4E4/Gk4gzOh1GYS7ls1vGsByWKpIqLviJi1mSmSt5BvrWLLtSqpFE5BaC7Ef4NnI0GMaiddNX2Brw6zA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "follow-redirects": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", - "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "google-protobuf": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.17.3.tgz", - "integrity": "sha512-OVPzcSWIAJ+d5yiHyeaLrdufQtrvaBrF4JQg+z8ynTkbO3uFcujqXszTumqg1cGsAsjkWnI+M5B1xZ19yR4Wyg==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "mime-db": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", - "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" - }, - "mime-types": { - "version": "2.1.31", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", - "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", - "requires": { - "mime-db": "1.48.0" - } - }, - "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "needle": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz", - "integrity": "sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-abi": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz", - "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==", - "requires": { - "semver": "^5.4.1" - } - }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, - "node-pre-gyp": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", - "dev": true - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "prebuild-install": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.3.tgz", - "integrity": "sha512-iqqSR84tNYQUQHRXalSKdIaM8Ov1QxOVuBNWI7+BzZWv6Ih9k75wOnH1rGQ9WWTaaLkTpxWKIciOF0KyfM74+Q==", - "requires": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.21.0", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "seedrandom": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz", - "integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" - }, - "simple-get": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", - "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", - "requires": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tar": { - "version": "4.4.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.15.tgz", - "integrity": "sha512-ItbufpujXkry7bHH9NpQyTXPbJ72iTlXgkBAYsAjDXk3Ds8t/3NfO5P4xZGy7u+sYuQUbimgzswX4uQIEeNVOA==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "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.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } -} diff --git a/packages/botonic-nlp/package.json b/packages/botonic-nlp/package.json deleted file mode 100644 index 8dd7c5b4ec..0000000000 --- a/packages/botonic-nlp/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "@botonic/nlp", - "version": "0.21.0", - "main": "lib/index.js", - "license": "MIT", - "types": "lib/index.d.ts", - "files": [ - "lib/**", - "src/**", - "README.md" - ], - "scripts": { - "build": "rm -rf lib && ../../node_modules/.bin/tsc", - "lint": "npm run lint_core -- --fix", - "lint_ci": "npm run lint_core -- -c ../.eslintrc_slow.js", - "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*' 'tests/**/*.ts*'", - "start:dev": "nodemon", - "start": "npm run build && node lib/index.js", - "test": "../../node_modules/.bin/jest", - "test_ci": "../../node_modules/.bin/jest --coverage --ci --reporters=default --reporters=jest-junit", - "prepare": "node ../../preinstall.js", - "prepublishOnly": "npm run lint_ci && npm run build && npm test" - }, - "author": "", - "devDependencies": { - "@babel/core": "^7.14.3", - "@babel/preset-env": "^7.14.2", - "@babel/preset-typescript": "^7.13.0", - "@types/axios": "^0.14.0", - "@types/better-sqlite3": "^5.4.1", - "@types/webgl2": "^0.0.6" - }, - "dependencies": { - "@nlpjs/lang-de": "^4.26.1", - "@nlpjs/lang-en-min": "^4.22.0", - "@nlpjs/lang-es": "^4.22.0", - "@nlpjs/lang-fr": "^4.26.1", - "@nlpjs/lang-it": "^4.22.0", - "@nlpjs/lang-ru": "^4.22.0", - "@tensorflow/tfjs-node": "^2.8.6", - "axios": "^0.24.0", - "better-sqlite3": "^7.0.1", - "cross-fetch": "^3.1.6", - "js-yaml": "4.1.0" - }, - "resolutions": { - "@types/webgl2": "0.0.6" - }, - "keywords": [ - "bot-framework", - "chatbot", - "conversational-app", - "conversational-ui", - "nlp", - "typescript" - ] -} diff --git a/packages/botonic-nlp/src/constants.ts b/packages/botonic-nlp/src/constants.ts deleted file mode 100644 index 2b7e054e2f..0000000000 --- a/packages/botonic-nlp/src/constants.ts +++ /dev/null @@ -1,2 +0,0 @@ -export const BOTONIC_GLOBAL_DIRNAME = '.botonic' -export const BOTONIC_GLOBAL_EMBEDDINGS_DIRNAME = 'word-embeddings' diff --git a/packages/botonic-nlp/src/dataset/data-augmenter.ts b/packages/botonic-nlp/src/dataset/data-augmenter.ts deleted file mode 100644 index e7d6b8de06..0000000000 --- a/packages/botonic-nlp/src/dataset/data-augmenter.ts +++ /dev/null @@ -1,69 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ - -export type AugmenterMap = { [keyword: string]: string[] } - -export class DataAugmenter { - // eslint-disable-next-line no-useless-escape - private readonly KEYWORD_PATTERN = /(\[([^\[\]\(\)]*?)\])(?:[^\(]|$)/ - - constructor(readonly augmenter: AugmenterMap, readonly entities: string[]) {} - - augment(sentences: string[]): string[] { - return sentences - .map(s => this.augmentSentence(s)) - .reduce( - (augmentedSentences, augmentations) => - augmentedSentences.concat(augmentations), - [] - ) - } - - private augmentSentence(sentence: string): string[] { - const finalSentences: string[] = [] - let unprocessedSentences: string[] = [sentence] - while (unprocessedSentences.length > 0) { - const processedSentence = unprocessedSentences.pop() - const variations = this.generateVariations(processedSentence) - if (variations.length == 0) { - finalSentences.push(processedSentence) - } else { - unprocessedSentences = unprocessedSentences.concat(variations) - } - } - return finalSentences - } - - private generateVariations(sentence: string): string[] { - const match = this.KEYWORD_PATTERN.exec(sentence) - if (match) { - const start = match.index - const definition = match[1] - const keyword = match[2] - if (keyword in this.augmenter) { - return this.augmenter[keyword].map(word => - this.createVariation(sentence, word, start, definition, keyword) - ) - } else { - throw new Error( - `Unable to augment the data. Undefined keyword '${keyword}'` - ) - } - } - return [] - } - - private createVariation( - sentence: string, - word: string, - start: number, - definition: string, - keyword: string - ): string { - return sentence - .slice(0, start) - .concat( - this.entities.includes(keyword) ? `[${word}](${keyword})` : word, - sentence.slice(start + definition.length) - ) - } -} diff --git a/packages/botonic-nlp/src/dataset/dataset.ts b/packages/botonic-nlp/src/dataset/dataset.ts deleted file mode 100644 index 7460a5b61f..0000000000 --- a/packages/botonic-nlp/src/dataset/dataset.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Preprocessor } from '../preprocess' -import { PADDING_TOKEN, UNKNOWN_TOKEN } from '../preprocess/constants' -import { flatten, shuffle as shuffleArray, unique } from '../utils/array-utils' -import { InputDataParser, Sample } from './input-data-parser' -import { InputDataReader } from './input-data-reader' - -export class Dataset { - private constructor( - readonly intents: string[], - readonly entities: string[], - readonly samples: Sample[] - ) {} - - static load(path: string): Dataset { - const inputData = new InputDataReader(path).read() - const { intents, entities, samples } = new InputDataParser().parse( - inputData - ) - return new Dataset(intents, entities, samples) - } - - split( - testProportion = 0.2, - shuffle = true - ): { trainSet: Dataset; testSet: Dataset } { - if (1 < testProportion || testProportion < 0) { - throw new RangeError(`testProportion must be a number between 0 and 1.`) - } - const samples = shuffle ? shuffleArray(this.samples) : this.samples - const trainSamples = samples.slice(testProportion * samples.length) - const testSamples = samples.slice(0, testProportion * samples.length) - return { - trainSet: new Dataset(this.intents, this.entities, trainSamples), - testSet: new Dataset(this.intents, this.entities, testSamples), - } - } - - extractVocabulary(preprocessor: Preprocessor): string[] { - const sequences = this.samples.map(sample => - preprocessor.preprocess(sample.text, PADDING_TOKEN) - ) - const datasetTokens = flatten(sequences) - const tokens = [PADDING_TOKEN, UNKNOWN_TOKEN].concat(datasetTokens) - return unique(tokens) - } - - get length(): number { - return this.samples.length - } -} diff --git a/packages/botonic-nlp/src/dataset/entities-parser.ts b/packages/botonic-nlp/src/dataset/entities-parser.ts deleted file mode 100644 index f81d8c37ae..0000000000 --- a/packages/botonic-nlp/src/dataset/entities-parser.ts +++ /dev/null @@ -1,43 +0,0 @@ -export type DefinedEntity = { start: number; end: number; label: string } - -export class EntitiesParser { - private ENTITY_DEFINITION_PATTERN = /\[(.*?)\]\((.*?)\)/gm - - constructor(readonly entities: string[]) {} - - parse(sentence: string): { text: string; entities: DefinedEntity[] } { - const definedEntities = [] - - let text = sentence - let m: RegExpExecArray - - let charactersRemoved = 0 //amount of characters removed because of entity definition removal: [shirt](product) -> shirt. - - while ((m = this.ENTITY_DEFINITION_PATTERN.exec(sentence))) { - const entityDefinition = m[0] - const entityText = m[1] - const entityLabel = m[2] - - if (!this.entities.includes(entityLabel)) { - throw new Error(`Undefined entity '${String(entityLabel)}'`) - } - - text = text - .slice(0, m.index - charactersRemoved) - .concat( - entityText, - text.slice(m.index + entityDefinition.length - charactersRemoved) - ) - - definedEntities.push({ - label: entityLabel, - start: m.index - charactersRemoved, - end: m.index + entityText.length - charactersRemoved, - }) - - charactersRemoved += entityDefinition.length - entityText.length - } - - return { text, entities: definedEntities } - } -} diff --git a/packages/botonic-nlp/src/dataset/index.ts b/packages/botonic-nlp/src/dataset/index.ts deleted file mode 100644 index 49ea18da22..0000000000 --- a/packages/botonic-nlp/src/dataset/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './data-augmenter' -export * from './dataset' -export * from './entities-parser' -export * from './input-data-parser' -export * from './input-data-reader' diff --git a/packages/botonic-nlp/src/dataset/input-data-parser.ts b/packages/botonic-nlp/src/dataset/input-data-parser.ts deleted file mode 100644 index 9d58001b8d..0000000000 --- a/packages/botonic-nlp/src/dataset/input-data-parser.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { AugmenterMap, DataAugmenter } from './data-augmenter' -import { DefinedEntity, EntitiesParser } from './entities-parser' -import { InputData } from './input-data-reader' - -export type Sample = { text: string; intent: string; entities: DefinedEntity[] } - -export type ParsedData = { - intents: string[] - entities: string[] - samples: Sample[] -} - -export class InputDataParser { - parse(inputData: InputData[]): ParsedData { - const intents: Set = new Set() - const entities: Set = new Set() - const samples: Set = new Set() - - inputData.forEach(data => { - const parsedData = this.parseInputData(data) - parsedData.intents.forEach(i => intents.add(i)) - parsedData.entities.forEach(e => entities.add(e)) - parsedData.samples.forEach(s => samples.add(s)) - }) - - return { - intents: Array.from(intents), - entities: Array.from(entities), - samples: Array.from(samples), - } - } - - private parseInputData(inputData: InputData): ParsedData { - const intent: string = inputData.intent ?? '' - const intents: string[] = inputData.intent ? [inputData.intent] : [] - const entities: string[] = inputData.entities ?? [] - const augmenterMap: AugmenterMap = inputData['data-augmentation'] ?? {} - - let sentences = inputData.samples - - if ('data-augmentation' in inputData) { - const augmenter = new DataAugmenter(augmenterMap, entities) - sentences = augmenter.augment(sentences) - } - - let samples: Sample[] = sentences.map(text => { - return { text, intent, entities: [] } - }) - - if (entities.length !== 0) { - const entitiesParser = new EntitiesParser(entities) - samples = samples.map(sample => { - const { text, entities } = entitiesParser.parse(sample.text) - sample.text = text - sample.entities = entities - return sample - }) - } - - return { intents, entities, samples } - } -} diff --git a/packages/botonic-nlp/src/dataset/input-data-reader.ts b/packages/botonic-nlp/src/dataset/input-data-reader.ts deleted file mode 100644 index 95f9f59556..0000000000 --- a/packages/botonic-nlp/src/dataset/input-data-reader.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { lstatSync, readdirSync, readFileSync } from 'fs' -import { load as loadYaml } from 'js-yaml' -import { extname, join } from 'path' - -import { AugmenterMap } from './data-augmenter' - -export type InputData = { - intent?: string - entities?: string[] - 'data-augmentation'?: AugmenterMap - samples: string[] -} - -export class InputDataReader { - readonly filePaths: string[] - readonly ALLOWED_EXTENSIONS = ['.yaml', '.yml'] - - constructor(readonly path: string) { - this.filePaths = this.getInputFilePaths(path) - } - - read(): InputData[] { - return this.filePaths.map(path => loadYaml(readFileSync(path))) - } - - private getInputFilePaths(path: string): string[] { - const stat = lstatSync(path) - - if (!stat.isDirectory()) { - throw new Error(`path '${path}' must be a directory.`) - } - - return readdirSync(path) - .filter(fileName => this.ALLOWED_EXTENSIONS.includes(extname(fileName))) - .map(fileName => join(path, fileName)) - } -} diff --git a/packages/botonic-nlp/src/embeddings/database/constants.ts b/packages/botonic-nlp/src/embeddings/database/constants.ts deleted file mode 100644 index 06b26cb005..0000000000 --- a/packages/botonic-nlp/src/embeddings/database/constants.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { homedir } from 'os' -import { join } from 'path' - -import { - BOTONIC_GLOBAL_DIRNAME, - BOTONIC_GLOBAL_EMBEDDINGS_DIRNAME, -} from '../../constants' - -export const SUPPORTED_EMBEDDINGS = { - en: { - glove: [50], - '10k-fasttext': [300], - }, - ca: { - '10k-fasttext': [300], - }, - de: { - '10k-fasttext': [300], - }, - es: { - '10k-fasttext': [300], - }, - fr: { - '10k-fasttext': [300], - }, - hi: { - '10k-fasttext': [300], - }, - id: { - '10k-fasttext': [300], - }, - it: { - '10k-fasttext': [300], - }, - pt: { - '10k-fasttext': [300], - }, - ru: { - '10k-fasttext': [300], - }, - tr: { - '10k-fasttext': [300], - }, - zh: { - '10k-fasttext': [300], - }, -} - -export const GLOBAL_EMBEDDINGS_PATH = join( - homedir(), - BOTONIC_GLOBAL_DIRNAME, - BOTONIC_GLOBAL_EMBEDDINGS_DIRNAME -) - -export const EMBEDDINGS_URL = - 'https://s3-eu-west-1.amazonaws.com/word-embeddings.hubtype.com' - -export const DB_TABLE_NAME = 'embeddings' -export const DB_COLUMN_NAME = 'token' diff --git a/packages/botonic-nlp/src/embeddings/database/index.ts b/packages/botonic-nlp/src/embeddings/database/index.ts deleted file mode 100644 index cfeacc76f4..0000000000 --- a/packages/botonic-nlp/src/embeddings/database/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './constants' -export * from './storage' -export * from './types' diff --git a/packages/botonic-nlp/src/embeddings/database/storage.ts b/packages/botonic-nlp/src/embeddings/database/storage.ts deleted file mode 100644 index b46ba1e5f6..0000000000 --- a/packages/botonic-nlp/src/embeddings/database/storage.ts +++ /dev/null @@ -1,101 +0,0 @@ -import * as db from 'better-sqlite3' -import { Database, Statement } from 'better-sqlite3' -import { existsSync } from 'fs' -import { join } from 'path' - -import { Locale } from '../../types' -import { Downloader } from '../downloader' -import { WordEmbeddingStorage } from '../types' -import { - DB_COLUMN_NAME, - DB_TABLE_NAME, - EMBEDDINGS_URL, - GLOBAL_EMBEDDINGS_PATH, - SUPPORTED_EMBEDDINGS, -} from './constants' -import { EmbeddingsDimension, EmbeddingsType } from './types' - -export class DatabaseStorage implements WordEmbeddingStorage { - private database: Database - private statement: Statement - public compatible: boolean - - private constructor( - public readonly locale: Locale, - public readonly type: EmbeddingsType, - public readonly dimension: EmbeddingsDimension - ) { - this.checkCompatibility() - } - - static async with( - locale: Locale, - type: EmbeddingsType, - dimension: EmbeddingsDimension - ): Promise { - const manager = new DatabaseStorage(locale, type, dimension) - if (manager.compatible) { - await manager.initialize() - } - return manager - } - - private checkCompatibility(): void { - if (this.locale in SUPPORTED_EMBEDDINGS) { - if (this.type in SUPPORTED_EMBEDDINGS[this.locale]) { - if ( - SUPPORTED_EMBEDDINGS[this.locale][this.type].includes(this.dimension) - ) { - this.compatible = true - return - } - } - } - console.warn( - `Word embedding config not supported for: ${this.locale} ${this.type} ${this.dimension}` - ) - this.compatible = false - } - - private async initialize(logs = true): Promise { - const path = await this.checkEmbeddingsFile(logs) - this.database = new db(path, { readonly: true }) - this.statement = this.database.prepare( - `SELECT * FROM ${DB_TABLE_NAME} WHERE ${DB_COLUMN_NAME} = ?` - ) - } - - private async checkEmbeddingsFile(logs: boolean): Promise { - const log = (msg: string) => logs && console.debug(msg) - const filename = `${this.type}-${this.dimension}d-${this.locale}.db` - const path = join(GLOBAL_EMBEDDINGS_PATH, filename) - - if (!existsSync(path)) { - log(`The file '${filename}' was not found in your machine.`) - log('An automatic download will start in brief.') - log(`Downloading '${filename}'...`) - log(`Please, wait until the download finishes.\n`) - const url = `${EMBEDDINGS_URL}/${filename}` - await Downloader.download(url, path) - log('Download successfully completed.') - } - log(`Found '${filename}'.`) - return path - } - - async getWordEmbedding(word: string): Promise { - if (this.compatible) { - const response = await this.statement.get(word) - if (response) { - return response.vector.split(' ').map((v: string) => parseFloat(v)) - } - } - return Array(this.dimension).fill(Math.random() * 2 - 1) - } - - finish(): void { - if (this.compatible) { - this.database.close() - } - } -} diff --git a/packages/botonic-nlp/src/embeddings/database/types.ts b/packages/botonic-nlp/src/embeddings/database/types.ts deleted file mode 100644 index d84c4d50f3..0000000000 --- a/packages/botonic-nlp/src/embeddings/database/types.ts +++ /dev/null @@ -1,2 +0,0 @@ -export type EmbeddingsType = 'glove' | '10k-fasttext' -export type EmbeddingsDimension = 50 | 300 diff --git a/packages/botonic-nlp/src/embeddings/downloader.ts b/packages/botonic-nlp/src/embeddings/downloader.ts deleted file mode 100644 index 4ef80342b7..0000000000 --- a/packages/botonic-nlp/src/embeddings/downloader.ts +++ /dev/null @@ -1,38 +0,0 @@ -import axios from 'axios' -import { createWriteStream, existsSync, mkdirSync } from 'fs' -import { dirname } from 'path' - -export class Downloader { - static async download(url: string, path: string): Promise { - const dirPath = dirname(path) - if (!existsSync(dirPath)) { - mkdirSync(dirPath, { recursive: true }) - } - await this.downloadIntoPath(url, path) - } - - private static async downloadIntoPath( - url: string, - path: string - ): Promise { - try { - const writer = createWriteStream(path) - const response = await axios({ - url, - method: 'GET', - responseType: 'stream', - }) - response.data.pipe(writer) - return new Promise((resolve, reject) => { - writer.on('finish', resolve) - writer.on('error', reject) - }) - } catch (e) { - throw new Error( - `${e.response.status as string}: ${e.response.statusText as string}` + - '\n' + - `Cannot download url "${url}" into path "${path}"` - ) - } - } -} diff --git a/packages/botonic-nlp/src/embeddings/embeddings-matrix.ts b/packages/botonic-nlp/src/embeddings/embeddings-matrix.ts deleted file mode 100644 index 0085475328..0000000000 --- a/packages/botonic-nlp/src/embeddings/embeddings-matrix.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { tensor, Tensor2D } from '@tensorflow/tfjs-node' - -import { WordEmbeddingStorage } from './types' - -export async function generateEmbeddingsMatrix( - storage: WordEmbeddingStorage, - vocabulary: string[] -): Promise { - return tensor( - await Promise.all( - vocabulary.map( - async (word): Promise => await storage.getWordEmbedding(word) - ) - ) - ) -} diff --git a/packages/botonic-nlp/src/embeddings/index.ts b/packages/botonic-nlp/src/embeddings/index.ts deleted file mode 100644 index 0f8350d089..0000000000 --- a/packages/botonic-nlp/src/embeddings/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './database' -export * from './embeddings-matrix' -export * from './types' diff --git a/packages/botonic-nlp/src/embeddings/types.ts b/packages/botonic-nlp/src/embeddings/types.ts deleted file mode 100644 index 37b0257a76..0000000000 --- a/packages/botonic-nlp/src/embeddings/types.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface WordEmbeddingStorage { - getWordEmbedding(word: string): Promise -} diff --git a/packages/botonic-nlp/src/encode/index.ts b/packages/botonic-nlp/src/encode/index.ts deleted file mode 100644 index a7db08f242..0000000000 --- a/packages/botonic-nlp/src/encode/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './indexed-items' -export * from './label-encoder' -export * from './one-hot-encoder' diff --git a/packages/botonic-nlp/src/encode/indexed-items.ts b/packages/botonic-nlp/src/encode/indexed-items.ts deleted file mode 100644 index 4ba678b918..0000000000 --- a/packages/botonic-nlp/src/encode/indexed-items.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { unique } from '../utils/array-utils' - -export class IndexedItems { - readonly items: string[] - - constructor(items: string[]) { - this.items = unique(items) - } - - includes(item: string): boolean { - return this.items.includes(item) - } - - getIndex(item: string): number { - const idx = this.items.indexOf(item) - if (idx === -1) { - throw new Error(`Item '${item}' not found.`) - } - return idx - } - - getItem(idx: number): string { - if (!this.isValidIndex(idx)) { - throw new Error(`Invalid index '${idx}'.`) - } - return this.items[idx] - } - - maskUnknownItems(sequence: string[], unknownItem: string): string[] { - return sequence.map(item => - this.items.includes(item) ? item : unknownItem - ) - } - - private isValidIndex(idx: number): boolean { - return 0 <= idx && idx < this.length - } - - get length(): number { - return this.items.length - } -} diff --git a/packages/botonic-nlp/src/encode/label-encoder.ts b/packages/botonic-nlp/src/encode/label-encoder.ts deleted file mode 100644 index 427282cbc5..0000000000 --- a/packages/botonic-nlp/src/encode/label-encoder.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { IndexedItems } from './indexed-items' - -export class LabelEncoder { - constructor(readonly items: IndexedItems) {} - - encode(sequence: string[]): number[] { - return sequence.map(item => this.items.getIndex(item)) - } - - decode(sequence: number[]): string[] { - return sequence.map(idx => this.items.getItem(idx)) - } -} diff --git a/packages/botonic-nlp/src/encode/one-hot-encoder.ts b/packages/botonic-nlp/src/encode/one-hot-encoder.ts deleted file mode 100644 index 7b799ce16a..0000000000 --- a/packages/botonic-nlp/src/encode/one-hot-encoder.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { IndexedItems } from './indexed-items' - -type OneHotVector = number[] - -export class OneHotEncoder { - constructor(readonly items: IndexedItems) {} - - encode(sequence: string[]): OneHotVector[] { - return sequence.map(item => this.encodeItem(item)) - } - - private encodeItem(item: string): OneHotVector { - const idx = this.items.getIndex(item) - return this.indexToOneHotVector(idx) - } - - private indexToOneHotVector(idx: number): OneHotVector { - const vector = Array(this.items.length).fill(0) - vector[idx] = 1 - return vector - } - - decode(sequence: OneHotVector[]): string[] { - return sequence.map(vector => this.decodeOneHotVector(vector)) - } - - private decodeOneHotVector(vector: OneHotVector): string { - const idx = this.oneHotVectorToIndex(vector) - return this.items.getItem(idx) - } - - private oneHotVectorToIndex(vector: OneHotVector): number { - if (vector.length !== this.items.length) { - throw new Error(`Invalid categorical length '${vector.length}'.`) - } - return vector.indexOf(Math.max(...vector)) - } -} diff --git a/packages/botonic-nlp/src/index.ts b/packages/botonic-nlp/src/index.ts deleted file mode 100644 index 9635978677..0000000000 --- a/packages/botonic-nlp/src/index.ts +++ /dev/null @@ -1,30 +0,0 @@ -export { Dataset, Sample } from './dataset' -export { - DatabaseStorage, - EmbeddingsDimension, - EmbeddingsType, - SUPPORTED_EMBEDDINGS, - WordEmbeddingStorage, -} from './embeddings' -export { ModelEvaluation } from './model' -export { - Normalizer, - PreprocessEngines, - Preprocessor, - Stemmer, - Stopwords, - Tokenizer, -} from './preprocess' -export { - BotonicIntentClassifier, - INTENT_CLASSIFIER_TEMPLATE, - IntentClassifierConfig, - IntentClassifierParameters, -} from './tasks/intent-classification' -export { - BotonicNer, - NER_TEMPLATE, - NerConfig, - NerModelParameters, -} from './tasks/ner' -export { Locale } from './types' diff --git a/packages/botonic-nlp/src/model/index.ts b/packages/botonic-nlp/src/model/index.ts deleted file mode 100644 index c4d90ac6d0..0000000000 --- a/packages/botonic-nlp/src/model/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './manager' -export * from './model-info' -export * from './model-selector' diff --git a/packages/botonic-nlp/src/model/manager.ts b/packages/botonic-nlp/src/model/manager.ts deleted file mode 100644 index b8d4665262..0000000000 --- a/packages/botonic-nlp/src/model/manager.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { ClassWeight, LayersModel, Scalar, Tensor } from '@tensorflow/tfjs-node' - -export type ModelEvaluation = { loss: number; accuracy: number } - -export class ModelManager { - constructor(readonly model: LayersModel) {} - - async train( - x: Tensor, - y: Tensor, - args: { - epochs: number - batchSize: number - classWeight?: ClassWeight - } - ): Promise { - await this.model.fit(x, y, args) - } - - evaluate(x: Tensor, y: Tensor): Promise { - const [loss, accuracy] = this.model.evaluate(x, y) as Scalar[] - return Promise.resolve({ - loss: loss.arraySync(), - accuracy: accuracy.arraySync(), - }) - } - - predict(x: Tensor): Tensor { - return this.model.predict(x) as Tensor - } -} diff --git a/packages/botonic-nlp/src/model/model-info.ts b/packages/botonic-nlp/src/model/model-info.ts deleted file mode 100644 index 76e3254e89..0000000000 --- a/packages/botonic-nlp/src/model/model-info.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { LayersModel, loadLayersModel } from '@tensorflow/tfjs' -import axios, { AxiosPromise } from 'axios' -import { fetch } from 'cross-fetch' - -import { NlpTaskConfig } from '../storage' -import { Locale } from '../types' - -export class ModelInfo { - public static readonly CONFIG_FILENAME = 'config.json' - public static readonly MODEL_FILENAME = 'model.json' - - private readonly config: AxiosPromise - private readonly model: Promise - - constructor(readonly locale: Locale, readonly uri: string) { - this.config = axios({ url: `${this.uri}/${ModelInfo.CONFIG_FILENAME}` }) - this.model = loadLayersModel(`${this.uri}/${ModelInfo.MODEL_FILENAME}`, { - fetchFunc: fetch, // replace window.fetch to work in node environment - }) - } - - async getConfig(): Promise { - return (await this.config).data - } - - async getModel(): Promise { - return await this.model - } -} diff --git a/packages/botonic-nlp/src/model/model-selector.ts b/packages/botonic-nlp/src/model/model-selector.ts deleted file mode 100644 index 0bb9927f54..0000000000 --- a/packages/botonic-nlp/src/model/model-selector.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { LayersModel } from '@tensorflow/tfjs' - -import { NlpTaskConfig } from '../storage' -import { Locale } from '../types' -import { ModelInfo } from './model-info' - -export abstract class ModelSelector { - private models: { [locale: string]: M } = {} - - protected constructor( - readonly locales: Locale[], - readonly modelsBaseUrl: string - ) {} - - protected async load(): Promise { - const modelsInfo = this.loadModelsInfo() - await this.loadModels(modelsInfo) - return this - } - - private loadModelsInfo(): ModelInfo[] { - return this.locales.map( - locale => new ModelInfo(locale, `${this.modelsBaseUrl}/${locale}`) - ) - } - - private async loadModels(modelsInfo: ModelInfo[]): Promise { - for (const modelInfo of modelsInfo) { - const locale = modelInfo.locale - const config = await modelInfo.getConfig() - const model = await modelInfo.getModel() - this.models[locale] = this.createModel(config, model) - } - } - - select(locale: Locale): M { - return this.models[locale] - } - - protected abstract createModel(config: C, model: LayersModel): M -} diff --git a/packages/botonic-nlp/src/preprocess/constants.ts b/packages/botonic-nlp/src/preprocess/constants.ts deleted file mode 100644 index eda5b4ea15..0000000000 --- a/packages/botonic-nlp/src/preprocess/constants.ts +++ /dev/null @@ -1,2 +0,0 @@ -export const UNKNOWN_TOKEN = '' -export const PADDING_TOKEN = '' diff --git a/packages/botonic-nlp/src/preprocess/engines/de/normalizer-de.ts b/packages/botonic-nlp/src/preprocess/engines/de/normalizer-de.ts deleted file mode 100644 index dadefebb94..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/de/normalizer-de.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Normalizer } from '../../types' - -export class NormalizerDe implements Normalizer { - readonly locale = 'de' - private normalizer = new (require('@nlpjs/lang-de/src/normalizer-de'))() - - normalize(text: string): string { - return this.normalizer.normalize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/de/stemmer-de.ts b/packages/botonic-nlp/src/preprocess/engines/de/stemmer-de.ts deleted file mode 100644 index 6f8c9a56aa..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/de/stemmer-de.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Stemmer } from '../../types' - -export class StemmerDe implements Stemmer { - readonly locale = 'de' - private stemmer = new (require('@nlpjs/lang-de/src/stemmer-de'))() - - stem(tokens: string[]): string[] { - return this.stemmer.stem(tokens) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/de/stopwords-de.ts b/packages/botonic-nlp/src/preprocess/engines/de/stopwords-de.ts deleted file mode 100644 index cf40022cf7..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/de/stopwords-de.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const STOPWORDS_DE: string[] = Object.keys( - new (require('@nlpjs/lang-de/src/stopwords-de'))().dictionary -) diff --git a/packages/botonic-nlp/src/preprocess/engines/de/tokenizer-de.ts b/packages/botonic-nlp/src/preprocess/engines/de/tokenizer-de.ts deleted file mode 100644 index b89b038d60..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/de/tokenizer-de.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Tokenizer } from '../../types' - -export class TokenizerDe implements Tokenizer { - readonly locale = 'de' - private tokenizer = new (require('@nlpjs/lang-de/src/tokenizer-de'))() - - tokenize(text: string): string[] { - return this.tokenizer.tokenize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/en/normalizer-en.ts b/packages/botonic-nlp/src/preprocess/engines/en/normalizer-en.ts deleted file mode 100644 index 89896e4f62..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/en/normalizer-en.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Normalizer } from '../../types' - -export class NormalizerEn implements Normalizer { - readonly locale = 'en' - private normalizer = new (require('@nlpjs/lang-en-min/src/normalizer-en'))() - - normalize(text: string): string { - return this.normalizer.normalize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/en/stemmer-en.ts b/packages/botonic-nlp/src/preprocess/engines/en/stemmer-en.ts deleted file mode 100644 index e6ea4f86f1..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/en/stemmer-en.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Stemmer } from '../../types' - -export class StemmerEn implements Stemmer { - readonly locale = 'en' - private stemmer = new (require('@nlpjs/lang-en-min/src/stemmer-en'))() - - stem(tokens: string[]): string[] { - return this.stemmer.stem(tokens) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/en/stopwords-en.ts b/packages/botonic-nlp/src/preprocess/engines/en/stopwords-en.ts deleted file mode 100644 index bb1ecb0bb0..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/en/stopwords-en.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const STOPWORDS_EN: string[] = Object.keys( - new (require('@nlpjs/lang-en-min/src/stopwords-en'))().dictionary -) diff --git a/packages/botonic-nlp/src/preprocess/engines/en/tokenizer-en.ts b/packages/botonic-nlp/src/preprocess/engines/en/tokenizer-en.ts deleted file mode 100644 index 80dccc6e95..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/en/tokenizer-en.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Tokenizer } from '../../types' - -export class TokenizerEn implements Tokenizer { - readonly locale = 'en' - private tokenizer = new (require('@nlpjs/lang-en-min/src/tokenizer-en'))() - - tokenize(text: string): string[] { - return this.tokenizer.tokenize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/es/normalizer-es.ts b/packages/botonic-nlp/src/preprocess/engines/es/normalizer-es.ts deleted file mode 100644 index 73e09942e4..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/es/normalizer-es.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Normalizer } from '../../types' - -export class NormalizerEs implements Normalizer { - readonly locale = 'es' - private normalizer = new (require('@nlpjs/lang-es/src/normalizer-es'))() - - normalize(text: string): string { - return this.normalizer.normalize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/es/stemmer-es.ts b/packages/botonic-nlp/src/preprocess/engines/es/stemmer-es.ts deleted file mode 100644 index efbac5f05f..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/es/stemmer-es.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Stemmer } from '../../types' - -export class StemmerEs implements Stemmer { - readonly locale = 'es' - private stemmer = new (require('@nlpjs/lang-es/src/stemmer-es'))() - - stem(tokens: string[]): string[] { - return this.stemmer.stem(tokens) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/es/stopwords-es.ts b/packages/botonic-nlp/src/preprocess/engines/es/stopwords-es.ts deleted file mode 100644 index 1a8a7ef05c..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/es/stopwords-es.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const STOPWORDS_ES: string[] = Object.keys( - new (require('@nlpjs/lang-es/src/stopwords-es'))().dictionary -) diff --git a/packages/botonic-nlp/src/preprocess/engines/es/tokenizer-es.ts b/packages/botonic-nlp/src/preprocess/engines/es/tokenizer-es.ts deleted file mode 100644 index 75e4a05291..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/es/tokenizer-es.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Tokenizer } from '../../types' - -export class TokenizerEs implements Tokenizer { - readonly locale = 'es' - private tokenizer = new (require('@nlpjs/lang-es/src/tokenizer-es'))() - - tokenize(text: string): string[] { - return this.tokenizer.tokenize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/fr/normalizer-fr.ts b/packages/botonic-nlp/src/preprocess/engines/fr/normalizer-fr.ts deleted file mode 100644 index 75fc52bec3..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/fr/normalizer-fr.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Normalizer } from '../../types' - -export class NormalizerFr implements Normalizer { - readonly locale = 'fr' - private normalizer = new (require('@nlpjs/lang-fr/src/normalizer-fr'))() - - normalize(text: string): string { - return this.normalizer.normalize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/fr/stemmer-fr.ts b/packages/botonic-nlp/src/preprocess/engines/fr/stemmer-fr.ts deleted file mode 100644 index 4f31f216d8..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/fr/stemmer-fr.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Stemmer } from '../../types' - -export class StemmerFr implements Stemmer { - readonly locale = 'fr' - private stemmer = new (require('@nlpjs/lang-fr/src/stemmer-fr'))() - - stem(tokens: string[]): string[] { - return this.stemmer.stem(tokens) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/fr/stopwords-fr.ts b/packages/botonic-nlp/src/preprocess/engines/fr/stopwords-fr.ts deleted file mode 100644 index a0217a071d..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/fr/stopwords-fr.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const STOPWORDS_FR: string[] = Object.keys( - new (require('@nlpjs/lang-fr/src/stopwords-fr'))().dictionary -) diff --git a/packages/botonic-nlp/src/preprocess/engines/fr/tokenizer-fr.ts b/packages/botonic-nlp/src/preprocess/engines/fr/tokenizer-fr.ts deleted file mode 100644 index 067f482253..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/fr/tokenizer-fr.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Tokenizer } from '../../types' - -export class TokenizerFr implements Tokenizer { - readonly locale = 'fr' - private tokenizer = new (require('@nlpjs/lang-fr/src/tokenizer-fr'))() - - tokenize(text: string): string[] { - return this.tokenizer.tokenize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/it/normalizer-it.ts b/packages/botonic-nlp/src/preprocess/engines/it/normalizer-it.ts deleted file mode 100644 index 07b587a2ce..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/it/normalizer-it.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Normalizer } from '../../types' - -export class NormalizerIt implements Normalizer { - readonly locale = 'it' - private normalizer = new (require('@nlpjs/lang-it/src/normalizer-it'))() - - normalize(text: string): string { - return this.normalizer.normalize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/it/stemmer-it.ts b/packages/botonic-nlp/src/preprocess/engines/it/stemmer-it.ts deleted file mode 100644 index 55c34451e5..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/it/stemmer-it.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Stemmer } from '../../types' - -export class StemmerIt implements Stemmer { - readonly locale = 'it' - private stemmer = new (require('@nlpjs/lang-it/src/stemmer-it'))() - - stem(tokens: string[]): string[] { - return this.stemmer.stem(tokens) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/it/stopwords-it.ts b/packages/botonic-nlp/src/preprocess/engines/it/stopwords-it.ts deleted file mode 100644 index 8fcebced80..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/it/stopwords-it.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const STOPWORDS_IT: string[] = Object.keys( - new (require('@nlpjs/lang-it/src/stopwords-it'))().dictionary -) diff --git a/packages/botonic-nlp/src/preprocess/engines/it/tokenizer-it.ts b/packages/botonic-nlp/src/preprocess/engines/it/tokenizer-it.ts deleted file mode 100644 index 0e6149e602..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/it/tokenizer-it.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Tokenizer } from '../../types' - -export class TokenizerIt implements Tokenizer { - readonly locale = 'it' - private tokenizer = new (require('@nlpjs/lang-it/src/tokenizer-it'))() - - tokenize(text: string): string[] { - return this.tokenizer.tokenize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/normalizer.ts b/packages/botonic-nlp/src/preprocess/engines/normalizer.ts deleted file mode 100644 index 98005d4ea8..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/normalizer.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Locale } from '../../types' -import { Normalizer } from '../types' -import { NormalizerDe } from './de/normalizer-de' -import { NormalizerEn } from './en/normalizer-en' -import { NormalizerEs } from './es/normalizer-es' -import { NormalizerIt } from './it/normalizer-it' -import { NormalizerRu } from './ru/normalizer-ru' - -const NORMALIZERS = { - de: new NormalizerDe(), - en: new NormalizerEn(), - es: new NormalizerEs(), - it: new NormalizerIt(), - ru: new NormalizerRu(), -} - -export function getNormalizer(locale: Locale): Normalizer { - if (!(locale in NORMALIZERS)) { - throw new Error(`No Stemmer configured for locale '${locale}'`) - } - return NORMALIZERS[locale] -} diff --git a/packages/botonic-nlp/src/preprocess/engines/ru/normalizer-ru.ts b/packages/botonic-nlp/src/preprocess/engines/ru/normalizer-ru.ts deleted file mode 100644 index 03124f4ba5..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/ru/normalizer-ru.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Normalizer } from '../../types' - -export class NormalizerRu implements Normalizer { - readonly locale = 'ru' - private normalizer = new (require('@nlpjs/lang-ru/src/normalizer-ru'))() - - normalize(text: string): string { - return this.normalizer.normalize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/ru/stemmer-ru.ts b/packages/botonic-nlp/src/preprocess/engines/ru/stemmer-ru.ts deleted file mode 100644 index b2b2eeb290..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/ru/stemmer-ru.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Stemmer } from '../../types' - -export class StemmerRu implements Stemmer { - readonly locale = 'ru' - private stemmer = new (require('@nlpjs/lang-ru/src/stemmer-ru'))() - - stem(tokens: string[]): string[] { - return this.stemmer.stem(tokens) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/ru/stopwords-ru.ts b/packages/botonic-nlp/src/preprocess/engines/ru/stopwords-ru.ts deleted file mode 100644 index 8f0251dab3..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/ru/stopwords-ru.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const STOPWORDS_RU: string[] = Object.keys( - new (require('@nlpjs/lang-ru/src/stopwords-ru'))().dictionary -) diff --git a/packages/botonic-nlp/src/preprocess/engines/ru/tokenizer-ru.ts b/packages/botonic-nlp/src/preprocess/engines/ru/tokenizer-ru.ts deleted file mode 100644 index 7c06dcab6e..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/ru/tokenizer-ru.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Tokenizer } from '../../types' - -export class TokenizerRu implements Tokenizer { - readonly locale = 'ru' - private tokenizer = new (require('@nlpjs/lang-ru/src/tokenizer-ru'))() - - tokenize(text: string): string[] { - return this.tokenizer.tokenize(text) - } -} diff --git a/packages/botonic-nlp/src/preprocess/engines/stemmer.ts b/packages/botonic-nlp/src/preprocess/engines/stemmer.ts deleted file mode 100644 index 7ef81f3677..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/stemmer.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Locale } from '../../types' -import { Stemmer } from '../types' -import { StemmerDe } from './de/stemmer-de' -import { StemmerEn } from './en/stemmer-en' -import { StemmerEs } from './es/stemmer-es' -import { StemmerIt } from './it/stemmer-it' -import { StemmerRu } from './ru/stemmer-ru' - -const STEMMERS = { - de: new StemmerDe(), - en: new StemmerEn(), - es: new StemmerEs(), - it: new StemmerIt(), - ru: new StemmerRu(), -} - -export function getStemmer(locale: Locale): Stemmer { - if (!(locale in STEMMERS)) { - throw new Error(`No Stemmer configured for locale '${locale}'`) - } - return STEMMERS[locale] -} diff --git a/packages/botonic-nlp/src/preprocess/engines/stopwords.ts b/packages/botonic-nlp/src/preprocess/engines/stopwords.ts deleted file mode 100644 index 54bd99a184..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/stopwords.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Locale } from '../../types' -import { Stopwords } from '../types' -import { STOPWORDS_DE } from './de/stopwords-de' -import { STOPWORDS_EN } from './en/stopwords-en' -import { STOPWORDS_ES } from './es/stopwords-es' -import { STOPWORDS_IT } from './it/stopwords-it' -import { STOPWORDS_RU } from './ru/stopwords-ru' - -const STOPWORDS = { - de: STOPWORDS_DE, - en: STOPWORDS_EN, - es: STOPWORDS_ES, - it: STOPWORDS_IT, - ru: STOPWORDS_RU, -} - -export function getStopwords(locale: Locale): Stopwords { - if (!(locale in STOPWORDS)) { - throw new Error(`No Stopwords configured for locale '${locale}'`) - } - return STOPWORDS[locale] -} diff --git a/packages/botonic-nlp/src/preprocess/engines/tokenizer.ts b/packages/botonic-nlp/src/preprocess/engines/tokenizer.ts deleted file mode 100644 index fcf23677e6..0000000000 --- a/packages/botonic-nlp/src/preprocess/engines/tokenizer.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Locale } from '../../types' -import { Tokenizer } from '../types' -import { TokenizerDe } from './de/tokenizer-de' -import { TokenizerEn } from './en/tokenizer-en' -import { TokenizerEs } from './es/tokenizer-es' -import { TokenizerIt } from './it/tokenizer-it' -import { TokenizerRu } from './ru/tokenizer-ru' - -const TOKENIZERS = { - de: new TokenizerDe(), - en: new TokenizerEn(), - es: new TokenizerEs(), - it: new TokenizerIt(), - ru: new TokenizerRu(), -} - -export function getTokenizer(locale: Locale): Tokenizer { - if (!(locale in TOKENIZERS)) { - throw new Error(`No Stemmer configured for locale '${locale}'`) - } - return TOKENIZERS[locale] -} diff --git a/packages/botonic-nlp/src/preprocess/index.ts b/packages/botonic-nlp/src/preprocess/index.ts deleted file mode 100644 index 66f6f0ce6b..0000000000 --- a/packages/botonic-nlp/src/preprocess/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './constants' -export * from './preprocessor' -export * from './types' diff --git a/packages/botonic-nlp/src/preprocess/preprocessor.ts b/packages/botonic-nlp/src/preprocess/preprocessor.ts deleted file mode 100644 index f0aa791e59..0000000000 --- a/packages/botonic-nlp/src/preprocess/preprocessor.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { Locale } from '../types' -import { getNormalizer } from './engines/normalizer' -// import { getStemmer } from './engines/stemmer' -import { getStopwords } from './engines/stopwords' -import { getTokenizer } from './engines/tokenizer' -import { PreprocessEngines } from './types' - -export enum SEQUENCE_POSITION { - PRE, - POST, -} -export class Preprocessor { - engines: PreprocessEngines = {} - - constructor(readonly locale: Locale, readonly maxLength: number) { - this.loadEngines() - } - - private loadEngines() { - try { - this.engines.normalizer = getNormalizer(this.locale) - this.engines.tokenizer = getTokenizer(this.locale) - this.engines.stopwords = getStopwords(this.locale) - // this.engines.stemmer = getStemmer(this.locale) - } catch { - console.warn( - `Engines not implemented for locale "${this.locale}". Using default.` - ) - } - } - - preprocess(text: string, paddingValue: string): string[] { - const normalizedText = this.normalize(text) - const tokens = this.tokenize(normalizedText) - const filteredTokens = this.removeStopwords(tokens) - const stemmedTokens = this.stem(filteredTokens) - const paddedSequence = this.pad(stemmedTokens, paddingValue) - const truncatedSequence = this.truncate(paddedSequence) - return truncatedSequence - } - - normalize(text: string): string { - return this.engines.normalizer - ? this.engines.normalizer.normalize(text) - : text.toLowerCase() - } - - tokenize(text: string): string[] { - return this.engines.tokenizer - ? this.engines.tokenizer.tokenize(text) - : text.split(' ') - } - - removeStopwords(tokens: string[]): string[] { - return this.engines.stopwords - ? tokens.filter(t => !this.engines.stopwords.includes(t)) - : tokens - } - - stem(tokens: string[]): string[] { - return this.engines.stemmer ? this.engines.stemmer.stem(tokens) : tokens - } - - pad( - tokens: string[], - value: string, - position = SEQUENCE_POSITION.POST - ): string[] { - const difference = this.maxLength - tokens.length - if (difference > 0) { - const padd = Array(difference).fill(value) - return position === SEQUENCE_POSITION.PRE - ? padd.concat(tokens) - : tokens.concat(padd) - } - return tokens - } - - truncate( - tokens: string[], - position: SEQUENCE_POSITION = SEQUENCE_POSITION.POST - ): string[] { - const difference = this.maxLength - tokens.length - if (difference < 0) { - return position === SEQUENCE_POSITION.PRE - ? tokens.slice(-this.maxLength) - : tokens.slice(0, this.maxLength) - } - return tokens - } -} diff --git a/packages/botonic-nlp/src/preprocess/types.ts b/packages/botonic-nlp/src/preprocess/types.ts deleted file mode 100644 index 32fdccbfcf..0000000000 --- a/packages/botonic-nlp/src/preprocess/types.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Locale } from '../types' - -export interface Normalizer { - readonly locale: Locale - normalize(text: string): string -} - -export interface Stemmer { - readonly locale: Locale - stem(tokens: string[]): string[] -} - -export interface Tokenizer { - readonly locale: Locale - tokenize(text: string): string[] -} - -export type Stopwords = string[] - -export type PreprocessEngines = { - normalizer?: Normalizer - tokenizer?: Tokenizer - stopwords?: Stopwords - stemmer?: Stemmer -} diff --git a/packages/botonic-nlp/src/storage/config-storage.ts b/packages/botonic-nlp/src/storage/config-storage.ts deleted file mode 100644 index 47d8d2f941..0000000000 --- a/packages/botonic-nlp/src/storage/config-storage.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { mkdirSync, writeFileSync } from 'fs' -import { join } from 'path' - -import { Locale } from '../types' -import { readJSON } from '../utils/file-utils' - -export interface NlpTaskConfig { - locale: Locale - maxLength: number - vocabulary: string[] -} - -export class ConfigStorage { - public readonly CONFIG_FILENAME = 'config.json' - - load(path: string): T { - return readJSON(join(path, this.CONFIG_FILENAME)) - } - - save(config: T, path: string): void { - mkdirSync(path, { recursive: true }) - writeFileSync(join(path, this.CONFIG_FILENAME), JSON.stringify(config)) - } -} diff --git a/packages/botonic-nlp/src/storage/index.ts b/packages/botonic-nlp/src/storage/index.ts deleted file mode 100644 index 093129bcfe..0000000000 --- a/packages/botonic-nlp/src/storage/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './config-storage' -export * from './model-storage' diff --git a/packages/botonic-nlp/src/storage/model-storage.ts b/packages/botonic-nlp/src/storage/model-storage.ts deleted file mode 100644 index 3c75db7935..0000000000 --- a/packages/botonic-nlp/src/storage/model-storage.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { LayersModel, loadLayersModel } from '@tensorflow/tfjs-node' -import { mkdirSync } from 'fs' - -export class ModelStorage { - public readonly MODEL_FILENAME = 'model.json' - - async load(path: string): Promise { - return await loadLayersModel(`file://${path}/${this.MODEL_FILENAME}`) - } - - async save(model: LayersModel, path: string): Promise { - mkdirSync(path, { recursive: true }) - await model.save(`file://${path}`) - } -} diff --git a/packages/botonic-nlp/src/tasks/intent-classification/botonic-intent-classifier.ts b/packages/botonic-nlp/src/tasks/intent-classification/botonic-intent-classifier.ts deleted file mode 100644 index 6b3c798d9e..0000000000 --- a/packages/botonic-nlp/src/tasks/intent-classification/botonic-intent-classifier.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { ClassWeight, LayersModel, Tensor2D } from '@tensorflow/tfjs-node' -import { join } from 'path' - -import { Dataset } from '../../dataset' -import { - generateEmbeddingsMatrix, - WordEmbeddingStorage, -} from '../../embeddings' -import { IndexedItems, LabelEncoder, OneHotEncoder } from '../../encode' -import { ModelEvaluation, ModelManager } from '../../model' -import { Preprocessor } from '../../preprocess' -import { ConfigStorage, ModelStorage, NlpTaskConfig } from '../../storage' -import { unique } from '../../utils' -import { - createSimpleNN, - INTENT_CLASSIFIER_TEMPLATE, - IntentClassifierParameters, -} from './models' -import { Intent, PredictionProcessor, Processor } from './process' - -export interface IntentClassifierConfig extends NlpTaskConfig { - intents: string[] -} - -export class IntentClassifierConfigStorage extends ConfigStorage {} - -export class BotonicIntentClassifier { - private readonly config: Readonly - private readonly processor: Processor - private readonly predictionProcessor: PredictionProcessor - private modelManager: ModelManager - - constructor(config: IntentClassifierConfig, preprocessor: Preprocessor) { - this.config = { - ...config, - intents: unique(config.intents), - } - this.processor = new Processor( - preprocessor, - new LabelEncoder(new IndexedItems(this.config.vocabulary)), - new OneHotEncoder(new IndexedItems(this.config.intents)) - ) - this.predictionProcessor = new PredictionProcessor(this.config.intents) - } - - static async load( - path: string, - preprocessor: Preprocessor - ): Promise { - const config = new IntentClassifierConfigStorage().load(path) - const classifier = new BotonicIntentClassifier(config, preprocessor) - const model = await new ModelStorage().load(path) - classifier.modelManager = new ModelManager(model) - return classifier - } - - // TODO: set embeddings as optional - async createModel( - template: INTENT_CLASSIFIER_TEMPLATE, - storage: WordEmbeddingStorage, - params?: IntentClassifierParameters - ): Promise { - const embeddingsMatrix = await generateEmbeddingsMatrix( - storage, - this.config.vocabulary - ) - - switch (template) { - case INTENT_CLASSIFIER_TEMPLATE.SIMPLE_NN: - return createSimpleNN( - this.config.maxLength, - this.config.intents.length, - embeddingsMatrix, - params - ) - default: - throw new Error(`"${String(template)}" is an invalid model template.`) - } - } - - setModel(model: LayersModel): void { - this.modelManager = new ModelManager(model) - } - - async train( - dataset: Dataset, - epochs: number, - batchSize: number, - balanceClasses = false - ): Promise { - const { x, y } = this.processor.processSamples(dataset.samples) - const args = { epochs, batchSize } - if (balanceClasses) { - args['classWeight'] = this.getClassWeight(y) - } - await this.modelManager.train(x, y, args) - } - - private getClassWeight(y: Tensor2D): ClassWeight { - const encodedIntents = y.argMax(1).arraySync() as number[] - const classCount: { [intent: number]: number } = {} - encodedIntents.forEach(encodedIntent => - encodedIntent in classCount - ? (classCount[encodedIntent as number] += 1) - : (classCount[encodedIntent as number] = 1) - ) - const maxCount = Math.max(...Object.values(classCount)) - const classWeight: ClassWeight = {} - Object.entries(classCount).forEach( - ([key, value]) => (classWeight[key] = maxCount / value) - ) - return classWeight - } - - async evaluate(dataset: Dataset): Promise { - const { x, y } = this.processor.processSamples(dataset.samples) - return await this.modelManager.evaluate(x, y) - } - - classify(text: string): Intent[] { - const input = this.processor.processTexts([text]) - const prediction = this.modelManager.predict(input) as Tensor2D - const intents = this.predictionProcessor.process(prediction) - return intents - } - - async saveModel(path: string): Promise { - path = join(path, this.config.locale) - new IntentClassifierConfigStorage().save(this.config, path) - await new ModelStorage().save(this.modelManager.model, path) - } -} diff --git a/packages/botonic-nlp/src/tasks/intent-classification/index.ts b/packages/botonic-nlp/src/tasks/intent-classification/index.ts deleted file mode 100644 index 44ade0bec8..0000000000 --- a/packages/botonic-nlp/src/tasks/intent-classification/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './botonic-intent-classifier' -export * from './models' -export * from './process' diff --git a/packages/botonic-nlp/src/tasks/intent-classification/models/index.ts b/packages/botonic-nlp/src/tasks/intent-classification/models/index.ts deleted file mode 100644 index 6b811e0396..0000000000 --- a/packages/botonic-nlp/src/tasks/intent-classification/models/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './simple-nn' -export * from './types' diff --git a/packages/botonic-nlp/src/tasks/intent-classification/models/simple-nn.ts b/packages/botonic-nlp/src/tasks/intent-classification/models/simple-nn.ts deleted file mode 100644 index 722075b254..0000000000 --- a/packages/botonic-nlp/src/tasks/intent-classification/models/simple-nn.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { - input, - layers, - LayersModel, - model, - SymbolicTensor, - Tensor2D, - train, -} from '@tensorflow/tfjs-node' - -import { IntentClassifierParameters } from './types' - -const MODEL_NAME = 'SimpleIntentClassifier' - -const DEFAULT_DROPOUT = 0.3 -const DEFAULT_UNITS = 128 -const DEFAULT_LEARNING_RATE = 0.001 - -export function createSimpleNN( - maxLength: number, - numIntents: number, - embeddingsMatrix: Tensor2D, - params: IntentClassifierParameters = { - dropout: DEFAULT_DROPOUT, - units: DEFAULT_UNITS, - learningRate: DEFAULT_LEARNING_RATE, - } -): LayersModel { - const inputs = input({ name: `${MODEL_NAME}_InputLayer`, shape: [maxLength] }) - - const embeddingsLayer = layers.embedding({ - name: `${MODEL_NAME}_EmbeddingsLayer`, - inputDim: embeddingsMatrix.shape[0], - outputDim: embeddingsMatrix.shape[1], - inputLength: maxLength, - weights: [embeddingsMatrix], - trainable: true, - }) - - const lstmLayer = layers.lstm({ - name: `${MODEL_NAME}_LSTMLayer`, - units: params.units ?? DEFAULT_UNITS, - dropout: params.dropout ?? DEFAULT_DROPOUT, - recurrentDropout: 0.3, - }) - - const denseLayer = layers.dense({ - name: `${MODEL_NAME}_DenseLayer`, - units: numIntents, - activation: 'softmax', - }) - - const outputs = denseLayer.apply( - lstmLayer.apply(embeddingsLayer.apply(inputs)) - ) as SymbolicTensor - - const intentClassifierModel = model({ - name: MODEL_NAME, - inputs, - outputs, - }) - - intentClassifierModel.compile({ - optimizer: train.adam(params.learningRate ?? DEFAULT_LEARNING_RATE), - loss: 'categoricalCrossentropy', - metrics: ['accuracy'], - }) - - return intentClassifierModel -} diff --git a/packages/botonic-nlp/src/tasks/intent-classification/models/types.ts b/packages/botonic-nlp/src/tasks/intent-classification/models/types.ts deleted file mode 100644 index ace8fb0041..0000000000 --- a/packages/botonic-nlp/src/tasks/intent-classification/models/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -export type IntentClassifierParameters = { - dropout?: number - units?: number - learningRate?: number -} - -export enum INTENT_CLASSIFIER_TEMPLATE { - SIMPLE_NN, -} diff --git a/packages/botonic-nlp/src/tasks/intent-classification/process/index.ts b/packages/botonic-nlp/src/tasks/intent-classification/process/index.ts deleted file mode 100644 index c276d7c157..0000000000 --- a/packages/botonic-nlp/src/tasks/intent-classification/process/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './prediction-processor' -export * from './processor' diff --git a/packages/botonic-nlp/src/tasks/intent-classification/process/prediction-processor.ts b/packages/botonic-nlp/src/tasks/intent-classification/process/prediction-processor.ts deleted file mode 100644 index a9f99b1c2b..0000000000 --- a/packages/botonic-nlp/src/tasks/intent-classification/process/prediction-processor.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { OutputData } from './types' - -export class Intent { - constructor(readonly label: string, readonly confidence: number) {} -} - -export class PredictionProcessor { - constructor(private readonly intents: string[]) {} - - process(prediction: OutputData): Intent[] { - const confidences = prediction.arraySync()[0] - const intents = this.createIntents(confidences) - return this.sortIntentsByConfidence(intents) - } - - private createIntents(confidences: number[]): Intent[] { - return confidences.map( - (confidence, idx) => new Intent(this.intents[idx], confidence) - ) - } - - private sortIntentsByConfidence(intents: Intent[]): Intent[] { - return intents.sort((a, b) => (a.confidence > b.confidence ? -1 : 1)) - } -} diff --git a/packages/botonic-nlp/src/tasks/intent-classification/process/processor.ts b/packages/botonic-nlp/src/tasks/intent-classification/process/processor.ts deleted file mode 100644 index f3fa827e93..0000000000 --- a/packages/botonic-nlp/src/tasks/intent-classification/process/processor.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { tensor } from '@tensorflow/tfjs-node' - -import { Sample } from '../../../dataset/input-data-parser' -import { LabelEncoder } from '../../../encode/label-encoder' -import { OneHotEncoder } from '../../../encode/one-hot-encoder' -import { PADDING_TOKEN, UNKNOWN_TOKEN } from '../../../preprocess/constants' -import { Preprocessor } from '../../../preprocess/preprocessor' -import { InputData, OutputData } from './types' - -export class Processor { - constructor( - readonly preprocessor: Preprocessor, - readonly tokensEncoder: LabelEncoder, - readonly intentEncoder: OneHotEncoder - ) {} - - processSamples(samples: Sample[]): { x: InputData; y: OutputData } { - const texts = samples.map(sample => sample.text) - const intents = samples.map(sample => sample.intent) - - return { x: this.processTexts(texts), y: this.generateOutput(intents) } - } - - processTexts(texts: string[]): InputData { - return tensor(texts.map(text => this.processText(text))) - } - - private processText(text: string): number[] { - const sequence = this.generateSequence(text) - return this.tokensEncoder.encode(sequence) - } - - private generateSequence(text: string): string[] { - const sequence = this.preprocessor.preprocess(text, PADDING_TOKEN) - return this.maskUnknownTokens(sequence) - } - - private maskUnknownTokens(sequence: string[]): string[] { - return sequence.map(token => - this.tokensEncoder.items.includes(token) ? token : UNKNOWN_TOKEN - ) - } - - //TODO: modify encoders to just encode one token (not sequences). - private generateOutput(intents: string[]): OutputData { - return tensor(this.intentEncoder.encode(intents)) - } -} diff --git a/packages/botonic-nlp/src/tasks/intent-classification/process/types.ts b/packages/botonic-nlp/src/tasks/intent-classification/process/types.ts deleted file mode 100644 index 95b86cf3fa..0000000000 --- a/packages/botonic-nlp/src/tasks/intent-classification/process/types.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Tensor2D } from '@tensorflow/tfjs-node' - -export type InputData = Tensor2D -export type OutputData = Tensor2D diff --git a/packages/botonic-nlp/src/tasks/ner/botonic-ner.ts b/packages/botonic-nlp/src/tasks/ner/botonic-ner.ts deleted file mode 100644 index 3727478e7d..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/botonic-ner.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { LayersModel, Tensor3D } from '@tensorflow/tfjs-node' -import { join } from 'path' - -import { Dataset } from '../../dataset' -import { - generateEmbeddingsMatrix, - WordEmbeddingStorage, -} from '../../embeddings' -import { IndexedItems, LabelEncoder, OneHotEncoder } from '../../encode' -import { ModelEvaluation, ModelManager } from '../../model' -import { Preprocessor } from '../../preprocess' -import { ConfigStorage, ModelStorage, NlpTaskConfig } from '../../storage' -import { unique } from '../../utils' -import { createBiLstmModel, NER_TEMPLATE, NerModelParameters } from './models' -import { - Entity, - NEUTRAL_ENTITY, - PredictionProcessor, - Processor, -} from './process' - -export interface NerConfig extends NlpTaskConfig { - entities: string[] -} - -export class NerConfigStorage extends ConfigStorage {} - -export class BotonicNer { - private readonly config: Readonly - private readonly processor: Processor - private readonly predictionProcessor: PredictionProcessor - private modelManager: ModelManager - - constructor(config: NerConfig, preprocessor: Preprocessor) { - this.config = { - ...config, - entities: unique([NEUTRAL_ENTITY].concat(config.entities)), - } - this.processor = new Processor( - preprocessor, - new LabelEncoder(new IndexedItems(this.config.vocabulary)), - new OneHotEncoder(new IndexedItems(this.config.entities)) - ) - this.predictionProcessor = new PredictionProcessor(this.config.entities) - } - - static async load( - path: string, - preprocessor: Preprocessor - ): Promise { - const config = new NerConfigStorage().load(path) - const ner = new BotonicNer(config, preprocessor) - const model = await new ModelStorage().load(path) - ner.modelManager = new ModelManager(model) - return ner - } - - async createModel( - template: NER_TEMPLATE, - storage: WordEmbeddingStorage, - params?: NerModelParameters - ): Promise { - // TODO: set embeddings as optional - const embeddingsMatrix = await generateEmbeddingsMatrix( - storage, - this.config.vocabulary - ) - - switch (template) { - case NER_TEMPLATE.BILSTM: - return createBiLstmModel( - this.config.maxLength, - this.config.entities, - embeddingsMatrix, - params - ) - default: - throw new Error(`"${String(template)}" is an invalid model template.`) - } - } - - setModel(model: LayersModel): void { - this.modelManager = new ModelManager(model) - } - - async train( - dataset: Dataset, - epochs: number, - batchSize: number - ): Promise { - const { x, y } = this.processor.process(dataset.samples) - await this.modelManager.train(x, y, { epochs, batchSize }) - } - - async evaluate(dataset: Dataset): Promise { - const { x, y } = this.processor.process(dataset.samples) - return await this.modelManager.evaluate(x, y) - } - - recognizeEntities(text: string): Entity[] { - const { sequence, input } = this.processor.generateInput(text) - const prediction = this.modelManager.predict(input) as Tensor3D - return this.predictionProcessor.process(sequence, prediction) - } - - async saveModel(path: string): Promise { - path = join(path, this.config.locale) - new NerConfigStorage().save(this.config, path) - await new ModelStorage().save(this.modelManager.model, path) - } -} diff --git a/packages/botonic-nlp/src/tasks/ner/index.ts b/packages/botonic-nlp/src/tasks/ner/index.ts deleted file mode 100644 index b0bb917dff..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './botonic-ner' -export * from './models' -export * from './process' diff --git a/packages/botonic-nlp/src/tasks/ner/models/bilstm-model.ts b/packages/botonic-nlp/src/tasks/ner/models/bilstm-model.ts deleted file mode 100644 index f47b9fbb7e..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/models/bilstm-model.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { - input, - layers, - LayersModel, - model, - RNN, - SymbolicTensor, - Tensor2D, - train, -} from '@tensorflow/tfjs-node' - -import { NerModelParameters } from './types' - -const MODEL_NAME = 'BiLstmNerModel' - -const DEFAULT_DROPOUT = 0.1 -const DEFAULT_UNITS = 128 -const DEFAULT_LEARNING_RATE = 0.001 - -export function createBiLstmModel( - maxLength: number, - entities: string[], - embeddingsMatrix: Tensor2D, - params: NerModelParameters = { - dropout: DEFAULT_DROPOUT, - units: DEFAULT_UNITS, - learningRate: DEFAULT_LEARNING_RATE, - } -): LayersModel { - const inputs = input({ name: `${MODEL_NAME}_InputLayer`, shape: [maxLength] }) - - const embeddingsLayer = layers.embedding({ - name: `${MODEL_NAME}_EmbeddingsLayer`, - inputDim: embeddingsMatrix.shape[0] as number, - outputDim: embeddingsMatrix.shape[1] as number, - inputLength: maxLength, - weights: [embeddingsMatrix], - trainable: true, - }) - - const dropoutLayer = layers.dropout({ - name: `${MODEL_NAME}_DropoutLayer`, - rate: params.dropout ?? DEFAULT_DROPOUT, - }) - - const bidirectionalLSTM = layers.bidirectional({ - name: `${MODEL_NAME}_BidirectionalLayer`, - layer: layers.lstm({ - units: params.units ?? DEFAULT_UNITS, - returnSequences: true, - recurrentDropout: 0.1, - }) as RNN, - }) - - const timeDistributedLayer = layers.timeDistributed({ - name: `${MODEL_NAME}_TimeDistributedLayer`, - layer: layers.dense({ - units: entities.length, - activation: 'softmax', - }), - }) - - const outputs = timeDistributedLayer.apply( - bidirectionalLSTM.apply(dropoutLayer.apply(embeddingsLayer.apply(inputs))) - ) as SymbolicTensor - - const nerModel = model({ name: MODEL_NAME, inputs, outputs }) - nerModel.compile({ - optimizer: train.adam(params.learningRate ?? DEFAULT_LEARNING_RATE), - loss: 'categoricalCrossentropy', - metrics: ['acc'], - }) - return nerModel -} diff --git a/packages/botonic-nlp/src/tasks/ner/models/index.ts b/packages/botonic-nlp/src/tasks/ner/models/index.ts deleted file mode 100644 index bb093b0f09..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/models/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './bilstm-model' -export * from './types' diff --git a/packages/botonic-nlp/src/tasks/ner/models/types.ts b/packages/botonic-nlp/src/tasks/ner/models/types.ts deleted file mode 100644 index 2790bb56ce..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/models/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -export type NerModelParameters = { - dropout?: number - units?: number - learningRate?: number -} - -export enum NER_TEMPLATE { - BILSTM, -} diff --git a/packages/botonic-nlp/src/tasks/ner/process/constants.ts b/packages/botonic-nlp/src/tasks/ner/process/constants.ts deleted file mode 100644 index d9d90f093e..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/process/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export const NEUTRAL_ENTITY = 'O' diff --git a/packages/botonic-nlp/src/tasks/ner/process/index.ts b/packages/botonic-nlp/src/tasks/ner/process/index.ts deleted file mode 100644 index 39e6373889..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/process/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './constants' -export * from './prediction-processor' -export * from './processor' -export * from './types' diff --git a/packages/botonic-nlp/src/tasks/ner/process/prediction-processor.ts b/packages/botonic-nlp/src/tasks/ner/process/prediction-processor.ts deleted file mode 100644 index 342c4c3cd2..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/process/prediction-processor.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Tensor3D } from '@tensorflow/tfjs-node' - -import { PADDING_TOKEN } from '../../../preprocess/constants' -import { NEUTRAL_ENTITY } from './constants' -import { Entity, Prediction } from './types' - -export class PredictionProcessor { - constructor(private readonly entities: string[]) {} - - process(sequence: string[], prediction: Tensor3D): Entity[] { - const confidences = prediction.arraySync()[0] - const entities = sequence.map((token, idx) => { - return this.getEntity(token, confidences[idx]) - }) - return entities.filter( - e => e.text != PADDING_TOKEN && e.label != NEUTRAL_ENTITY - ) - } - - private getEntity(token, confidences): Entity { - const confidence = Math.max(...confidences) - const label = this.entities[confidences.indexOf(confidence)] - const predictions = this.getPredictions(confidences) - return { text: token, label, confidence, predictions } - } - - private getPredictions(confidences): Prediction[] { - return confidences.map((c, i) => { - return { label: this.entities[i], confidence: c } - }) - } -} diff --git a/packages/botonic-nlp/src/tasks/ner/process/processor.ts b/packages/botonic-nlp/src/tasks/ner/process/processor.ts deleted file mode 100644 index 25b238daec..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/process/processor.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { tensor, Tensor2D } from '@tensorflow/tfjs-node' - -import { Sample } from '../../../dataset/input-data-parser' -import { LabelEncoder } from '../../../encode/label-encoder' -import { OneHotEncoder } from '../../../encode/one-hot-encoder' -import { PADDING_TOKEN, UNKNOWN_TOKEN } from '../../../preprocess/constants' -import { Preprocessor } from '../../../preprocess/preprocessor' -import { NEUTRAL_ENTITY } from './constants' -import { InputData, OutputData } from './types' - -export class Processor { - constructor( - readonly preprocessor: Preprocessor, - readonly tokenEncoder: LabelEncoder, - readonly entityEncoder: OneHotEncoder - ) {} - - // Processes samples and generates the Input and Output data. - process(samples: Sample[]): { x: InputData; y: OutputData } { - const processedSamples = samples.map(s => this.processSample(s)) - return { - x: tensor(processedSamples.map(s => s.x)), - y: tensor(processedSamples.map(s => s.y)), - } - } - - // Generates the Input data and the unmasked sequence. - generateInput(text: string): { sequence: string[]; input: InputData } { - const sequence = this.preprocessor.truncate( - this.preprocessor.pad(this.processText(text), PADDING_TOKEN) - ) - const input = tensor([this.processTokens(sequence)]) as Tensor2D - return { sequence, input } - } - - private processSample(sample: Sample): { x: number[]; y: number[][] } { - let tokens: string[] = [] - let entities: string[] = [] - - let start = 0 - let partialSequence: string[] - let partialEntities: string[] - - sample.entities.forEach(e => { - let text = sample.text.slice(start, e.start) - partialSequence = this.processText(text) - partialEntities = Array(partialSequence.length).fill(NEUTRAL_ENTITY) - - tokens = tokens.concat(partialSequence) - entities = entities.concat(partialEntities) - - text = sample.text.slice(e.start, e.end) - partialSequence = this.processText(text) - partialEntities = Array(partialSequence.length).fill(e.label) - - tokens = tokens.concat(partialSequence) - entities = entities.concat(partialEntities) - - start = e.end - }) - - const text = sample.text.slice(start) - partialSequence = this.processText(text) - partialEntities = Array(partialSequence.length).fill(NEUTRAL_ENTITY) - - tokens = tokens.concat(partialSequence) - entities = entities.concat(partialEntities) - - return { - x: this.processTokens(tokens), - y: this.processEntities(entities), - } - } - - private processText(text: string): string[] { - return this.preprocessor.stem( - this.preprocessor.removeStopwords( - this.preprocessor.tokenize(this.preprocessor.normalize(text)) - ) - ) - } - - private maskUnknownTokens(tokens: string[]): string[] { - return tokens.map(t => - this.tokenEncoder.items.includes(t) ? t : UNKNOWN_TOKEN - ) - } - - private processTokens(sequence: string[]): number[] { - return this.tokenEncoder.encode( - this.preprocessor.truncate( - this.preprocessor.pad(this.maskUnknownTokens(sequence), PADDING_TOKEN) - ) - ) - } - - private processEntities(sequence: string[]): number[][] { - return this.entityEncoder.encode( - this.preprocessor.truncate( - this.preprocessor.pad(sequence, NEUTRAL_ENTITY) - ) - ) - } -} diff --git a/packages/botonic-nlp/src/tasks/ner/process/types.ts b/packages/botonic-nlp/src/tasks/ner/process/types.ts deleted file mode 100644 index 9944d10394..0000000000 --- a/packages/botonic-nlp/src/tasks/ner/process/types.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Tensor2D, Tensor3D } from '@tensorflow/tfjs-node' - -export type InputData = Tensor2D -export type OutputData = Tensor3D - -export type Prediction = { label: string; confidence: number } -export type Entity = { - text: string - label: string - confidence: number - predictions: Prediction[] -} diff --git a/packages/botonic-nlp/src/types.ts b/packages/botonic-nlp/src/types.ts deleted file mode 100644 index 3d9b7d39be..0000000000 --- a/packages/botonic-nlp/src/types.ts +++ /dev/null @@ -1,14 +0,0 @@ -export type Locale = - | 'en' - | 'es' - | 'ca' - | 'de' - | 'fr' - | 'hi' - | 'id' - | 'it' - | 'pt' - | 'ru' - | 'tr' - | 'zh' - | 'ro' diff --git a/packages/botonic-nlp/src/utils/array-utils.ts b/packages/botonic-nlp/src/utils/array-utils.ts deleted file mode 100644 index 5ca7d64872..0000000000 --- a/packages/botonic-nlp/src/utils/array-utils.ts +++ /dev/null @@ -1,17 +0,0 @@ -export function unique(array: T[]): T[] { - return Array.from(new Set(array)) -} - -export function flatten(nestedArrays: T[][]): T[] { - return [].concat(...nestedArrays) -} - -export function shuffle(array: T[]): T[] { - for (let i = array.length - 1; i > 0; i--) { - const j = Math.floor(Math.random() * (i + 1)) - const temp = array[i] - array[i] = array[j] - array[j] = temp - } - return array -} diff --git a/packages/botonic-nlp/src/utils/file-utils.ts b/packages/botonic-nlp/src/utils/file-utils.ts deleted file mode 100644 index 90cf894c9f..0000000000 --- a/packages/botonic-nlp/src/utils/file-utils.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { readFileSync } from 'fs' - -export function readJSON(path: string): any { - return JSON.parse(readFileSync(path, 'utf8')) -} diff --git a/packages/botonic-nlp/src/utils/index.ts b/packages/botonic-nlp/src/utils/index.ts deleted file mode 100644 index 9e053967f8..0000000000 --- a/packages/botonic-nlp/src/utils/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './array-utils' -export * from './file-utils' diff --git a/packages/botonic-nlp/tests/dataset/data-augmenter.test.ts b/packages/botonic-nlp/tests/dataset/data-augmenter.test.ts deleted file mode 100644 index 2fd623c475..0000000000 --- a/packages/botonic-nlp/tests/dataset/data-augmenter.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { DataAugmenter } from '../../src/dataset/data-augmenter' - -describe('Data augmentation', () => { - test('Generating variations of the given samples', () => { - const augmenter = new DataAugmenter( - { product: ['jacket', 'hoodie'], material: ['leather', 'cotton'] }, - ['O', 'product'] - ) - expect( - augmenter.augment([ - 'Where can I buy this [material] [product]?', - "I don't like this [material] [jacket](product)", - ]) - ).toEqual([ - 'Where can I buy this cotton [hoodie](product)?', - 'Where can I buy this cotton [jacket](product)?', - 'Where can I buy this leather [hoodie](product)?', - 'Where can I buy this leather [jacket](product)?', - "I don't like this cotton [jacket](product)", - "I don't like this leather [jacket](product)", - ]) - }) -}) diff --git a/packages/botonic-nlp/tests/dataset/dataset.test.ts b/packages/botonic-nlp/tests/dataset/dataset.test.ts deleted file mode 100644 index b92a9580f8..0000000000 --- a/packages/botonic-nlp/tests/dataset/dataset.test.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Dataset } from '../../src/dataset/dataset' -import { PADDING_TOKEN, UNKNOWN_TOKEN } from '../../src/preprocess/constants' -import * as constantsHelper from '../helpers/constants-helper' -import * as toolsHelper from '../helpers/tools-helper' - -describe('Dataset', () => { - const sut = Dataset.load(constantsHelper.DATA_DIR_PATH) - - test('Load Dataset', () => { - expect(sut.intents.sort()).toEqual(constantsHelper.INTENTS.sort()) - expect(sut.entities.sort()).toEqual(constantsHelper.ENTITIES.sort()) - expect(sut.samples.length).toEqual(180) - }) - - test('Split Dataset', () => { - const { trainSet, testSet } = sut.split(0.25) - expect(trainSet.length).toEqual(135) - expect(testSet.length).toEqual(45) - }) - - test('Wrong Split Proportions', () => { - expect(() => { - sut.split(2) - }).toThrowError() - }) - - test('Vocabulary Extraction', () => { - const vocabulary = toolsHelper.dataset.extractVocabulary( - toolsHelper.preprocessor - ) - expect(vocabulary.length).toBeGreaterThan(2) - expect(vocabulary.includes(PADDING_TOKEN)).toBeTruthy() - expect(vocabulary.includes(UNKNOWN_TOKEN)).toBeTruthy() - }) -}) diff --git a/packages/botonic-nlp/tests/dataset/entities-parser.test.ts b/packages/botonic-nlp/tests/dataset/entities-parser.test.ts deleted file mode 100644 index e741451eb4..0000000000 --- a/packages/botonic-nlp/tests/dataset/entities-parser.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { EntitiesParser } from '../../src/dataset/entities-parser' - -describe('Entity definitions Parser', () => { - test('Parsing entities of a given text', () => { - const sut = new EntitiesParser(['material', 'product']) - const { text, entities } = sut.parse( - 'Where can I buy this [leather](material) [jacket](product)?' - ) - expect(text).toEqual('Where can I buy this leather jacket?') - expect(entities).toEqual([ - { label: 'material', start: 21, end: 28 }, - { label: 'product', start: 29, end: 35 }, - ]) - }) -}) diff --git a/packages/botonic-nlp/tests/dataset/input-data-parser.test.ts b/packages/botonic-nlp/tests/dataset/input-data-parser.test.ts deleted file mode 100644 index 70a3c519e4..0000000000 --- a/packages/botonic-nlp/tests/dataset/input-data-parser.test.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { InputDataParser } from '../../src/dataset/input-data-parser' -import { InputDataReader } from '../../src/dataset/input-data-reader' -import * as helper from '../helpers/constants-helper' - -describe('Input Data Parser', () => { - test('Parse Input Data', () => { - const inputData = new InputDataReader(helper.DATA_DIR_PATH).read() - - const sut = new InputDataParser() - - const { intents, entities, samples } = sut.parse(inputData) - expect(intents.sort()).toEqual(helper.INTENTS.sort()) - expect(entities.sort()).toEqual(helper.ENTITIES.sort()) - expect(samples.length).toEqual(180) - }) -}) diff --git a/packages/botonic-nlp/tests/dataset/input-data-reader.test.ts b/packages/botonic-nlp/tests/dataset/input-data-reader.test.ts deleted file mode 100644 index facea7cef7..0000000000 --- a/packages/botonic-nlp/tests/dataset/input-data-reader.test.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { InputDataReader } from '../../src/dataset/input-data-reader' -import * as helper from '../helpers/constants-helper' - -describe('Input Data Reader', () => { - test('Read Input Data', () => { - const sut = new InputDataReader(helper.DATA_DIR_PATH) - const inputData = sut.read() - expect(inputData.length).toEqual(2) - expect(inputData.map(i => i.intent).sort()).toEqual(helper.INTENTS.sort()) - expect(inputData.map(i => i.entities).sort()).toEqual( - Array(helper.INTENTS.length).fill(helper.ENTITIES).sort() - ) - expect( - inputData.filter(i => i.intent == 'BuyProduct').map(i => i.samples.length) - ).toEqual([5]) - }) -}) diff --git a/packages/botonic-nlp/tests/embeddings/database/storage.test.ts b/packages/botonic-nlp/tests/embeddings/database/storage.test.ts deleted file mode 100644 index 9ae11c56b2..0000000000 --- a/packages/botonic-nlp/tests/embeddings/database/storage.test.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { DatabaseStorage } from '../../../src/embeddings/database/storage' - -describe('Database storage', () => { - test('Check compatibility', async () => { - expect((await DatabaseStorage.with('es', 'glove', 50)).compatible).toEqual( - false - ) - expect( - (await DatabaseStorage.with('es', '10k-fasttext', 300)).compatible - ).toEqual(true) - }) - - test('Get word embedding', async () => { - const manager = await DatabaseStorage.with('es', '10k-fasttext', 300) - expect((await manager.getWordEmbedding('rojo')).length).toEqual(300) - }) -}) diff --git a/packages/botonic-nlp/tests/embeddings/downloader.test.ts b/packages/botonic-nlp/tests/embeddings/downloader.test.ts deleted file mode 100644 index 8b5adc8bc0..0000000000 --- a/packages/botonic-nlp/tests/embeddings/downloader.test.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { existsSync, unlinkSync } from 'fs' -import { join } from 'path' - -import { - EMBEDDINGS_URL, - GLOBAL_EMBEDDINGS_PATH, -} from '../../src/embeddings/database/constants' -import { Downloader } from '../../src/embeddings/downloader' - -describe('Downloader', () => { - test('Download embeddings file', async () => { - const url = `${EMBEDDINGS_URL}/10k-fasttext-300d-en.db` - const path = join(GLOBAL_EMBEDDINGS_PATH, '10k-fasttext-300d-en.db') - if (existsSync(path)) { - unlinkSync(path) - } - expect(existsSync(path)).toEqual(false) - await Downloader.download(url, path) - expect(existsSync(path)).toEqual(true) - }) -}) diff --git a/packages/botonic-nlp/tests/embeddings/embeddings-matrix.test.ts b/packages/botonic-nlp/tests/embeddings/embeddings-matrix.test.ts deleted file mode 100644 index 3e7d66c4cf..0000000000 --- a/packages/botonic-nlp/tests/embeddings/embeddings-matrix.test.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { generateEmbeddingsMatrix } from '../../src/embeddings/embeddings-matrix' -import * as helper from '../helpers/tools-helper' - -describe('Embedder', () => { - test('Generate embeddings matrix', async () => { - const matrix = await generateEmbeddingsMatrix(helper.wordEmbeddingStorage, [ - 'red', - 'blue', - ]) - expect(matrix.shape).toEqual([2, 50]) - }) -}) diff --git a/packages/botonic-nlp/tests/encode/indexed-items.test.ts b/packages/botonic-nlp/tests/encode/indexed-items.test.ts deleted file mode 100644 index bc633404e3..0000000000 --- a/packages/botonic-nlp/tests/encode/indexed-items.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { IndexedItems } from '../../src/encode/indexed-items' - -describe('Vocabulary', () => { - const sut = new IndexedItems(['hat', 'shirt', 'jeans', 'hat', 'jacket']) - - test('Unique items', () => { - expect(sut.items).toEqual(['hat', 'shirt', 'jeans', 'jacket']) - }) - - test('Correct length', () => { - expect(sut.length).toEqual(4) - }) - - test('Check if item included', () => { - expect(sut.includes('hat')).toBeTruthy() - expect(sut.includes('coat')).toBeFalsy() - }) - - test('Get Index', () => { - expect(sut.getIndex('jacket')).toEqual(3) - }) - - test('Get Item', () => { - expect(sut.getItem(1)).toEqual('shirt') - }) - - test('Invalid Item', () => { - expect(() => { - sut.getIndex('hoodie') - }).toThrowError() - }) - - test('Invalid Index', () => { - expect(() => { - sut.getItem(10) - }).toThrowError() - }) -}) diff --git a/packages/botonic-nlp/tests/encode/label-encoder.test.ts b/packages/botonic-nlp/tests/encode/label-encoder.test.ts deleted file mode 100644 index 03fcb8189f..0000000000 --- a/packages/botonic-nlp/tests/encode/label-encoder.test.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { IndexedItems } from '../../src/encode/indexed-items' -import { LabelEncoder } from '../../src/encode/label-encoder' - -describe('Label Encoder', () => { - const sut = new LabelEncoder( - new IndexedItems(['this', 'test', 'is', 'yes', 'no', 'a', 'it']) - ) - - test('Encoding', () => { - expect(sut.encode(['is', 'this', 'a', 'test'])).toEqual([2, 0, 5, 1]) - }) - - test('Decoding', () => { - expect(sut.decode([3, 6, 2])).toEqual(['yes', 'it', 'is']) - }) - - test('Invalid Token', () => { - expect(() => { - sut.encode(['is', 'this', 'nlp', '?']) - }).toThrowError() - }) - - test('Invalid Token Id', () => { - expect(() => { - sut.decode([-1, 0, 10]) - }).toThrowError() - }) -}) diff --git a/packages/botonic-nlp/tests/encode/one-hot-codifier.test.ts b/packages/botonic-nlp/tests/encode/one-hot-codifier.test.ts deleted file mode 100644 index 2a0c51da69..0000000000 --- a/packages/botonic-nlp/tests/encode/one-hot-codifier.test.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { IndexedItems } from '../../src/encode/indexed-items' -import { OneHotEncoder } from '../../src/encode/one-hot-encoder' - -describe('One Hot Encoder', () => { - const sut = new OneHotEncoder( - new IndexedItems(['product', 'material', 'size']) - ) - - test('Encoding', () => { - expect(sut.encode(['product', 'product', 'size'])).toEqual([ - [1, 0, 0], - [1, 0, 0], - [0, 0, 1], - ]) - }) - - test('Decoding', () => { - expect( - sut.decode([ - [0, 1, 0], - [1, 0, 0], - [0, 0, 1], - ]) - ).toEqual(['material', 'product', 'size']) - }) - - test('Invalid Token', () => { - expect(() => { - sut.encode(['product', 'product', 'material', 'color']) - }).toThrowError() - }) - - test('Invalid Categorical Length', () => { - expect(() => { - sut.decode([ - [0, 1, 0, 0], - [0, 0, 1, 0], - [0, 0, 0, 1], - ]) - }).toThrowError() - }) -}) diff --git a/packages/botonic-nlp/tests/helpers/constants-helper.ts b/packages/botonic-nlp/tests/helpers/constants-helper.ts deleted file mode 100644 index 28ca02724d..0000000000 --- a/packages/botonic-nlp/tests/helpers/constants-helper.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { tensor, Tensor2D } from '@tensorflow/tfjs-node' -import { join } from 'path' - -export const LOCALE = 'en' -export const MAX_SEQUENCE_LENGTH = 12 - -export const INTENTS = ['BuyProduct', 'ReturnProduct'] -export const ENTITIES = ['product', 'color', 'size'] - -export const VOCABULARY = [ - '', - '', - 'shirt', - 'not', - 'correct', - 'size', - 'i', - 'want', - 'return', - 'buy', - 'hat', - 'love', - 'brown', - 'can', - 'please', - 'hoodie', - 'a', - 'xl', - 'fit', - 'perfect', - 'l', - 'coat', - 'xs', - 'blue', - 'black', - 's', - 'm', - 'jacket', - 't-shirt', - 'white', -] - -export const EMBEDDINGS_TYPE = 'glove' -export const EMBEDDINGS_DIMENSION = 50 - -export const EMBEDDINGS_MATRIX = tensor( - Array(VOCABULARY.length).fill(Array(EMBEDDINGS_DIMENSION).fill(1)) -) as Tensor2D - -export const HELPER_DIR = __dirname -export const MODEL_DIR = 'models' -export const NER_DIR = 'ner' -export const INTENT_CLASSIFICATION_DIR = 'intent-classification' - -export const DATA_DIR_PATH = join(HELPER_DIR, 'data') - -export const NER_MODEL_DIR_PATH = join(HELPER_DIR, MODEL_DIR, NER_DIR, LOCALE) - -export const INTENT_CLASSIFIER_MODEL_DIR_PATH = join( - HELPER_DIR, - MODEL_DIR, - INTENT_CLASSIFICATION_DIR, - LOCALE -) diff --git a/packages/botonic-nlp/tests/helpers/data/buy-product.yaml b/packages/botonic-nlp/tests/helpers/data/buy-product.yaml deleted file mode 100644 index 8d629f5e20..0000000000 --- a/packages/botonic-nlp/tests/helpers/data/buy-product.yaml +++ /dev/null @@ -1,35 +0,0 @@ -intent: BuyProduct - -entities: - - product - - color - - size - -data-augmentation: - product: - - shirt - - hat - - t-shirt - - hoodie - - jacket - - coat - - color: - - blue - - black - - brown - - white - - size: - - xs - - s - - m - - l - - xl - -samples: - - I want to buy this [product]. - - I would like to buy this [color] [product]. - - This [product] is perfect. I want to buy it. - - Can I please buy this [product], I want it in size [size]. - - I want to buy this [product] because I love it in [color]. diff --git a/packages/botonic-nlp/tests/helpers/data/return-product.yaml b/packages/botonic-nlp/tests/helpers/data/return-product.yaml deleted file mode 100644 index 505a460e38..0000000000 --- a/packages/botonic-nlp/tests/helpers/data/return-product.yaml +++ /dev/null @@ -1,35 +0,0 @@ -intent: ReturnProduct - -entities: - - product - - color - - size - -data-augmentation: - product: - - shirt - - hat - - t-shirt - - hoodie - - jacket - - coat - - color: - - blue - - black - - brown - - white - - size: - - xs - - s - - m - - l - - xl - -samples: - - I want to return this [product]. - - I would like to return this [color] [product]. - - This [product] is not my correct size. I want to return it. - - Can I please return this [product], a [size] does not fit me. - - I want to return this [product] because I don't like it in [color]. diff --git a/packages/botonic-nlp/tests/helpers/models/intent-classification/en/config.json b/packages/botonic-nlp/tests/helpers/models/intent-classification/en/config.json deleted file mode 100644 index c25e585b34..0000000000 --- a/packages/botonic-nlp/tests/helpers/models/intent-classification/en/config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "locale": "en", - "maxLength": 12, - "vocabulary": [ - "", - "", - "shirt", - "not", - "correct", - "size", - "i", - "want", - "return", - "buy", - "hat", - "love", - "brown", - "can", - "please", - "hoodie", - "a", - "xl", - "fit", - "perfect", - "l", - "coat", - "xs", - "blue", - "black", - "s", - "m", - "jacket", - "t-shirt", - "white" - ], - "intents": ["BuyProduct", "ReturnProduct"] -} diff --git a/packages/botonic-nlp/tests/helpers/models/intent-classification/en/model.json b/packages/botonic-nlp/tests/helpers/models/intent-classification/en/model.json deleted file mode 100644 index a933fb2b39..0000000000 --- a/packages/botonic-nlp/tests/helpers/models/intent-classification/en/model.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "modelTopology": { - "class_name": "Model", - "config": { - "name": "SimpleIntentClassifier", - "layers": [ - { - "name": "InputLayer", - "class_name": "InputLayer", - "config": { - "batch_input_shape": [null, 12], - "dtype": "float32", - "sparse": false, - "name": "InputLayer" - }, - "inbound_nodes": [] - }, - { - "name": "EmbeddingsLayer", - "class_name": "Embedding", - "config": { - "input_dim": 30, - "output_dim": 50, - "embeddings_initializer": { - "class_name": "RandomUniform", - "config": { "minval": -0.05, "maxval": 0.05, "seed": null } - }, - "embeddings_regularizer": null, - "activity_regularizer": null, - "embeddings_constraint": null, - "mask_zero": null, - "input_length": 12, - "name": "EmbeddingsLayer", - "trainable": true, - "batch_input_shape": [null, 12] - }, - "inbound_nodes": [[["InputLayer", 0, 0, {}]]] - }, - { - "name": "LSTMLayer", - "class_name": "LSTM", - "config": { - "name": "LSTMLayer", - "trainable": true, - "units": 128, - "activation": "tanh", - "recurrent_activation": "hard_sigmoid", - "use_bias": true, - "kernel_initializer": { - "class_name": "VarianceScaling", - "config": { - "scale": 1, - "mode": "fan_avg", - "distribution": "normal", - "seed": null - } - }, - "recurrent_initializer": { - "class_name": "Orthogonal", - "config": { "gain": 1, "seed": null } - }, - "bias_initializer": { "class_name": "Zeros", "config": {} }, - "unit_forget_bias": null, - "kernel_regularizer": null, - "recurrent_regularizer": null, - "bias_regularizer": null, - "activity_regularizer": null, - "kernel_constraint": null, - "recurrent_constraint": null, - "bias_constraint": null, - "dropout": 0.30000001192092896, - "recurrent_dropout": 0.30000001192092896, - "implementation": null, - "return_sequences": false, - "return_state": false, - "go_backwards": false, - "stateful": false, - "unroll": false - }, - "inbound_nodes": [[["EmbeddingsLayer", 0, 0, {}]]] - }, - { - "name": "DenseLayer", - "class_name": "Dense", - "config": { - "units": 2, - "activation": "softmax", - "use_bias": true, - "kernel_initializer": { - "class_name": "VarianceScaling", - "config": { - "scale": 1, - "mode": "fan_avg", - "distribution": "normal", - "seed": null - } - }, - "bias_initializer": { "class_name": "Zeros", "config": {} }, - "kernel_regularizer": null, - "bias_regularizer": null, - "activity_regularizer": null, - "kernel_constraint": null, - "bias_constraint": null, - "name": "DenseLayer", - "trainable": true - }, - "inbound_nodes": [[["LSTMLayer", 0, 0, {}]]] - } - ], - "input_layers": [["InputLayer", 0, 0]], - "output_layers": [["DenseLayer", 0, 0]] - }, - "keras_version": "tfjs-layers 2.8.5", - "backend": "tensor_flow.js" - }, - "weightsManifest": [ - { - "paths": ["weights.bin"], - "weights": [ - { - "name": "EmbeddingsLayer/embeddings", - "shape": [30, 50], - "dtype": "float32" - }, - { "name": "LSTMLayer/kernel", "shape": [50, 512], "dtype": "float32" }, - { - "name": "LSTMLayer/recurrent_kernel", - "shape": [128, 512], - "dtype": "float32" - }, - { "name": "LSTMLayer/bias", "shape": [512], "dtype": "float32" }, - { "name": "DenseLayer/kernel", "shape": [128, 2], "dtype": "float32" }, - { "name": "DenseLayer/bias", "shape": [2], "dtype": "float32" } - ] - } - ], - "format": "layers-model", - "generatedBy": "TensorFlow.js tfjs-layers v2.8.5", - "convertedBy": null -} diff --git a/packages/botonic-nlp/tests/helpers/models/intent-classification/en/weights.bin b/packages/botonic-nlp/tests/helpers/models/intent-classification/en/weights.bin deleted file mode 100644 index b4483f8cedbdc1360161c31d05f6a29493863185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373624 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℘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 W9@mU5y@BNCJ6RktQHm2j{Qm$L5`z2y diff --git a/packages/botonic-nlp/tests/helpers/models/ner/en/config.json b/packages/botonic-nlp/tests/helpers/models/ner/en/config.json deleted file mode 100644 index 967cd0a5e9..0000000000 --- a/packages/botonic-nlp/tests/helpers/models/ner/en/config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "locale": "en", - "maxLength": 12, - "vocabulary": [ - "", - "", - "shirt", - "not", - "correct", - "size", - "i", - "want", - "return", - "buy", - "hat", - "love", - "brown", - "can", - "please", - "hoodie", - "a", - "xl", - "fit", - "perfect", - "l", - "coat", - "xs", - "blue", - "black", - "s", - "m", - "jacket", - "t-shirt", - "white" - ], - "entities": ["O", "product", "color", "size"] -} diff --git a/packages/botonic-nlp/tests/helpers/models/ner/en/model.json b/packages/botonic-nlp/tests/helpers/models/ner/en/model.json deleted file mode 100644 index 19075e1b78..0000000000 --- a/packages/botonic-nlp/tests/helpers/models/ner/en/model.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "modelTopology": { - "class_name": "Model", - "config": { - "name": "BiLstmNerModel", - "layers": [ - { - "name": "InputLayer", - "class_name": "InputLayer", - "config": { - "batch_input_shape": [null, 12], - "dtype": "float32", - "sparse": false, - "name": "InputLayer" - }, - "inbound_nodes": [] - }, - { - "name": "EmbeddingsLayer", - "class_name": "Embedding", - "config": { - "input_dim": 30, - "output_dim": 50, - "embeddings_initializer": { - "class_name": "RandomUniform", - "config": { "minval": -0.05, "maxval": 0.05, "seed": null } - }, - "embeddings_regularizer": null, - "activity_regularizer": null, - "embeddings_constraint": null, - "mask_zero": null, - "input_length": 12, - "name": "EmbeddingsLayer", - "trainable": true, - "batch_input_shape": [null, 12] - }, - "inbound_nodes": [[["InputLayer", 0, 0, {}]]] - }, - { - "name": "DropoutLayer", - "class_name": "Dropout", - "config": { - "rate": 0.1, - "noise_shape": null, - "seed": null, - "name": "DropoutLayer", - "trainable": true - }, - "inbound_nodes": [[["EmbeddingsLayer", 0, 0, {}]]] - }, - { - "name": "BidirectionalLayer", - "class_name": "Bidirectional", - "config": { - "merge_mode": "concat", - "layer": { - "class_name": "LSTM", - "config": { - "name": "lstm_LSTM1", - "trainable": true, - "units": 128, - "activation": "tanh", - "recurrent_activation": "hard_sigmoid", - "use_bias": true, - "kernel_initializer": { - "class_name": "VarianceScaling", - "config": { - "scale": 1, - "mode": "fan_avg", - "distribution": "normal", - "seed": null - } - }, - "recurrent_initializer": { - "class_name": "Orthogonal", - "config": { "gain": 1, "seed": null } - }, - "bias_initializer": { "class_name": "Zeros", "config": {} }, - "unit_forget_bias": null, - "kernel_regularizer": null, - "recurrent_regularizer": null, - "bias_regularizer": null, - "activity_regularizer": null, - "kernel_constraint": null, - "recurrent_constraint": null, - "bias_constraint": null, - "dropout": 0, - "recurrent_dropout": 0.10000000149011612, - "implementation": null, - "return_sequences": true, - "return_state": false, - "go_backwards": false, - "stateful": false, - "unroll": false - } - }, - "name": "BidirectionalLayer", - "trainable": true - }, - "inbound_nodes": [[["DropoutLayer", 0, 0, {}]]] - }, - { - "name": "TimeDistributedLayer", - "class_name": "TimeDistributed", - "config": { - "layer": { - "class_name": "Dense", - "config": { - "units": 4, - "activation": "softmax", - "use_bias": true, - "kernel_initializer": { - "class_name": "VarianceScaling", - "config": { - "scale": 1, - "mode": "fan_avg", - "distribution": "normal", - "seed": null - } - }, - "bias_initializer": { "class_name": "Zeros", "config": {} }, - "kernel_regularizer": null, - "bias_regularizer": null, - "activity_regularizer": null, - "kernel_constraint": null, - "bias_constraint": null, - "name": "dense_Dense1", - "trainable": true - } - }, - "name": "TimeDistributedLayer", - "trainable": true - }, - "inbound_nodes": [[["BidirectionalLayer", 0, 0, {}]]] - } - ], - "input_layers": [["InputLayer", 0, 0]], - "output_layers": [["TimeDistributedLayer", 0, 0]] - }, - "keras_version": "tfjs-layers 2.8.5", - "backend": "tensor_flow.js" - }, - "weightsManifest": [ - { - "paths": ["weights.bin"], - "weights": [ - { - "name": "EmbeddingsLayer/embeddings", - "shape": [30, 50], - "dtype": "float32" - }, - { - "name": "BidirectionalLayer/forward_lstm_LSTM1/kernel", - "shape": [50, 512], - "dtype": "float32" - }, - { - "name": "BidirectionalLayer/forward_lstm_LSTM1/recurrent_kernel", - "shape": [128, 512], - "dtype": "float32" - }, - { - "name": "BidirectionalLayer/forward_lstm_LSTM1/bias", - "shape": [512], - "dtype": "float32" - }, - { - "name": "BidirectionalLayer/backward_lstm_LSTM1/kernel", - "shape": [50, 512], - "dtype": "float32" - }, - { - "name": "BidirectionalLayer/backward_lstm_LSTM1/recurrent_kernel", - "shape": [128, 512], - "dtype": "float32" - }, - { - "name": "BidirectionalLayer/backward_lstm_LSTM1/bias", - "shape": [512], - "dtype": "float32" - }, - { - "name": "TimeDistributedLayer/kernel", - "shape": [256, 4], - "dtype": "float32" - }, - { - "name": "TimeDistributedLayer/bias", - "shape": [4], - "dtype": "float32" - } - ] - } - ], - "format": "layers-model", - "generatedBy": "TensorFlow.js tfjs-layers v2.8.5", - "convertedBy": null -} diff --git a/packages/botonic-nlp/tests/helpers/models/ner/en/weights.bin b/packages/botonic-nlp/tests/helpers/models/ner/en/weights.bin deleted file mode 100644 index 277cd5dd3727cf8d19cfb04c1cc301487e1bdab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 743296 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

}MV5J@% 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�d*WTZ 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�J=8!(zn=o1XSU4k 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�MnqQU0+S`IuCt8*2KR0CudrRT*0zk2i3%R`tM0LT(*e4N7 zyGstB`9B^s8B(M#{W+IrPAiwANaM9qO^6;%hpHTk*Hq&m_qZ4#(`7h5i4Z*Zc>_}? z-lDI?8R8v!0G;P6g7hmTY&J-N6MiD#>i-{``>=s-nJ$iF0cPO*Hxh0fmcVuU6sS_w z9T@xXJqh3T5_QgLLs|D(GSMPO;u#h4#M}!OZcnb8FL)5$LjI5rUKbMF`~`HvMS-ti zgg8A7#pUV?!QuRJIMA~grd&Hr-q=ZSj@ww+wVnlc;by#kNf8doXv4M$Vf?CZ4eM6j zCA{ZP<9@F`GIyMN5B(j9S#tKk+rahZ2ObmC*dl=IJm!>}E3ZD(LmlHE5|P<_^{|7R z5iW0sw}zqgOclqhyE6)lUxs0JL?P2?I~6|LuL8GCjxh5($EUTdBwiB&VA7Gz9C2QS zkA1~J0d8W#wU6ZM6U92Z*@hhPtcUX8Bv`wW`#<0FoxN@ipq0EE{(X(0GlmP{hN%xc zh#6ocHMlH?C!HGP--oDar$JWI87}VR=FRHU@B}Y|19#?`jn@1}#J=5Nl$V&YAM|Iz zs6t!qom6o+bw`T|?pZ^Zyn93}+63{+tWXF|bjCC5{IR=GmvwjNJkcTNV33i<%~B@t zgL6RY?j&ST>IbnBPpAD6583@@T`-R$@Mi3Zg1wf4Fz;|MM4nCn&~wJEi{?Z8AqDe| z?^eOwMQh2v=98qyDwURHE+Hx>&%vg77s=M|ee5s3VY2kj&$>?4hwR24mi~CWf;{!- z_Uj#dq0vtnqJ?i#_g!)9w}7KGFjtMPHWq=09Tyn2)M66#XD@cg`r*@j6=?o+7nb3IxFwkZ} zstoO*>$)m*@vg>qwXlYScAE9Xfkx*NXLE72yXJ2`5>; zb5r5V$QU!?84o)=q-bP-60Rs0f_lw!AY66?6Qcy6T}uT{OXomgZzeP9JxP|@3gFy7 zQ_w0~25kR0!te)Y$gk1`AFVj>)l5Ju-N)qCbX6v;{{=l$qKp<-+Q~654RGJK8WzvE z!z$PIVB&Ng^j+LdPsr)wxgjeW-v1FwFWO^P{3fy>rJPKxmt^4FJv?zZ67PHtqwBsu zfu@*P(h@F)BAq9heb(DZvW)^azs#qF9T(Zvrw8fQkv_UgV;0Eo3I?Csi-<<)Vmvn8 zAEZ0xfx&WlCZ}*4*3S88b~w<4gmRhFFLxDKdM%TB%sRncn&0SuyWH5BqiNvNy^(~( zZ9$>!sdUk%Jeu0N3H;oT;&Ykzcu$)L+BCB<+m!RLw4_lJq5V*CcrN~Ek;U7^;^yzh z?=u#hdwt~kK}Ktj0d4-sG09F;;)9xST4G*^7G*D~WXmbi{yl^kb(vrh6HKPA-36Aq zwwS~tgfb6VntLi7y4rq_>#<>UXkiH}8xcqN+T-!M27y1;8Fl??ckx!qG`XLfHd*d1){`@ff*M@@a8E`S4MYfF=fNda$quj9;{B%Xh z?ItbobR;y&O$Ne`SdhW(XX@yI)wD%2lXfJD)327!`21!%G^MU|98NV3pOoc`BRF@}>x0zd)o0@QIS5dh6C@(7Pki=$9Wuj3guBI_X7R@Zu20=jolaT338MCrluy^j8Du#3>{t$ znL7*_pLR;vqHy#NjYIRpW#HQs&aUp-h6(@XWAK+0Y~}7t><%yJ=TX4k)172o&yvXR zNG6Z&ARKsb0P`BtsIj9U`geuXb-&6%SI-5rW*3vO)31p}_8cf4x?6iLI+TiR(jjX6 zp=NGo>X06Bgg9|Cl<7`!__Xg6*B59Y-@8TeuDKBe>s*0?xBDn>)*5gUii7jcZ`kAg z6(|)lLNwn$gr(N48VJ{exK5J#T<2V%b$LcH5m8hqm}lQpG<)QY4)=!ZhMCd+w8-e)w%}KIfk< z?Em+Q%>B9*(?faTYeq50Ju9MVQz~GnARHn^UxC}lyYM4UhCE&VmUBM}VY&STo1!OP zzoMWG_J+?OL(BP42JSHp-&s5qtB4PFdf|_ncCvd}2a_AQi25GWqSpJ1=~##|jF}ao z$;*2<{FZx;AC959_0D*<<2C-P-Ay9@`$FgZF+h7`dq(G9nAwl)cvAl0DsHV=MTOgz z(@U3KV6GC(b9AVn0z};uY8q*DJO;KnEiRYx`Pke z<`ZUocMG;3MNH3lNX6bwW0u8LfJk92Zj0=qJG#xOeWfLa_NQT>@*7HT$bqbb6*w=Q zh4EvR$e-VVrKV>gy(JF~I0o!SVLwJM?+>}4Dvo*$rWkCiN$j?U;GRn-V9+cKGkw)D zUdEIL#a^d=m4V=YhM`f?S$L!PDK60{#7(zTiOtb<>}7LPoY~z$zy48z)JySnrD`EY z>bR2D$62UTGC?osalKuYccdXoo?Nn1AbRUP=<#>U(Lv6IJX;V&d!o4_PDB`3_Fciv z%qjR4;)hT6C?Z$jfa2z@c(s>OyPz;)sCFM47fMs+n<2Y4c`Ysy|4ka_Xv5kn&OLTL zm5Ki*fH(e0<4Y5BXgahV@ZD9W#J>WiAB++8Y0DsF**vJ+Uk1O;PZ7ZyaS-OtsWbLS zlkyP{d@x6oYStMdV-rX#epRBt_hJwY^dcP}zJl#}j{p573^A1-j)trTS3X-f(rOMo z=E}I93}bi-w@l=|lx~VyjI*>d$fe<7HkdbxJu5Ll=dJJp&v;|@xx;n#Sa21)g5hS~ zCk?^$Rxi7Q=sY(HTFI(t2!;_3z%X-qOJ zbh$?^kLEI2+wPK3=VZ7o9zj&y`kC@GPl!j656u`YrbU@D=3_34V9@9R`}R&r-RojO z$ZT*X<*I4W^j-t5pEyOu-s_TtOB(de=@XF5EXSWmztPWId9g4#3jSzv-Qi?eDBRzsNgD5ofFcu`h|9@(-P{!~{X zaXmq#uI9h zJr})Y;%I8hI(DboCRBWxY|8KRj(&ObgZ|ugj|7&R(dOUFhz!pVdS~?46<_~F=6`<< z)(rwE6RJix9*d+ii&UYl{15wjcL;gz=|uxdYso5e26uUUXEtvsWfq86;txG@%nA;n z`lAVTJ8Za2>sly^^(!M!sRw4R@q*3PeBh~ZhMX#yQ-3Z>1`cp+pN4uKjQ^a73h!UA zSE|p_w$;~(({wwKPyB=0FJjofwH(7UlZ641Yjm5jBzdf}2HiNPd7)1kwm%bvs38NQ zdAgmQ)#gCzQV~B2g@LawQ=dDq9t1W&r&~M4v6H5gw_oL`6wM&B72eTn!fj-v^dTzF zxWg2uCE;N%@5^Y~hprdHX}Je~eKhy?zwUXORcYg|53sDnAcJUFvP%&q7VJgA(cidZ z=MHGScbk@;djr?nFVP#k(R7I0Z!6WRrF~QRaD3}u+Tj<1=628Ny^r1Caxb0`(;@c4 z&x`bj-b&n7?*ax)D2#4sN35U1?z3abhB$vb!|`0aek_A65ngy_p%GavQOd}^maW^| zs}HZW$0@(=0;uVoiTTbysh6|{efo$G-nPwS`=tVx{`_BvNEAt`o?mS2uK~{F#FwBnB06&|vFn_i##PLQ# zfSCa1D@(%t(q%;ZwG(vjA0evd(fGhm9M3hLfnM`-g#Pp(y3+A*ou6ahXmaO{+Dgd( zR7RV}t6_70HZe=vg?E#s!0mlI$93gF`NTdjTc5y5v{GQ@k-fmP(STHx6rh{hV{*-O z0yL}lf@`%T`K5J*x>pP{7dMN7@vFZiuri49y}Sq)S93n#?j+hCCk~^2wV=M*0yg@6 zHET_)M=PN$D!F(&9C6{EXO{J_^YRiXZcKxS)HoovvY5Ld2~K%6kWATEwAf`e zGc5dok#FxM7Q;258EgeF)GWF0Qvq(-Ds}OjG8xfpk07gH1m5@kCGX6Knd+vKkm%#X z-t7sensWPK*Wu^nOVJHzU3n3P&z-0FgF&EvrkuXydIkR5XTqb2AFwj!HuA4Yzy?ou z_;~z2^q2_~zs!ZGmRLXzsm?Yx9GWD-zh{B>{l6sMM44<+ctGP)cGBLwY*KS;J!$1( zFf_S`?&3cRUegJPyuQh99p{`~pQo^Xy(OS$aFu!btqwo5XG26uF4c3?AvCkSZu7-# zCcw-UZwL3%<9(y7Mikd2(!4;3w}+Q0y2OJz!r#d(`*fT$TLDfUa>4E{9*q3{0(M_=f@3odv*ya}be?Yo z`SrkwypS$|JugG)>HE3#_vqQW&m5zo<+&<0IzKu5 z#`A=(SAItNxHH(l$NND=u@+hl@3Z|%Met5)CCps8i{?5^!+$D@X!OUJo}mXI%%qFV z+NgjBeAjcj013*Q7)E%z_JdBT1;=0sXL(W{uo^G&&78iNlI99?wDxXdC$>jm{kki} zb^1;AZSH^c;ZX&grpv?ZpEDDFzW;%T1X(7dFAV1!2f3Z9Bn9#LF|d zo{b}M)#o~KlY8m%x;T1$*JiknFv&#nS3KM9j`k&F z+50-!GPs_mZ8?IStF-BZ_7W1iBn@16EzCCeOQE6rV|I0u66`R%LDd_ou!Hbo%ab@* z#^aCvNh0_vb`Smxj3oQJzYy)_+swQaK73miLk(sQkme6o5Rlwp_8*@&$UR?xpN+zB zlYJTYCg+ZBR;C!H-bU=eAG9o@$;yS2ur|mA&#jq)^1qW{?+y<#ZB-n*vTzEt%5ynG zF+hsXT4Hj$lI{9*9s)!{7(uV4IOB^eo-xd$1qM8fjpyCE@85Ostf>{bqbG%_D{ag| z?Ayr#dKx$R8erD_d5oTVBqZG4k9teBKtVNws!q8K#S?P4?C>`7In)4hf@i?t>Nv0% ztS2*O{bt70Dj@GF#|yg`%{B=vMPrp(cz?N=92!cY6Y}w(q7sho#qYU}U??MBvL0{l z+6%M&wt=*f1*FLw1pm2nA@f5CURmJAn zlp!WOE8y8&H3;7@K(gcVaIeuHs!$XM4jm7vH~%r1AG8-<+1laG69V<3i+yS(DyPv* zp*%LAUB~?Hg|~E8&nw8kf1HZ#SquKrQy|l_nZA{nMW>i3n`JS%kX^*m$S4D9D{sj0 zRYYLXx&;{csQ_HIodUb2bWnFSA`NN>$@MXtx+uX6lHI_$OLDS_{n7JO(mV@NC4@m$ zw#`)N&=R;f*4D`hM7EBVa) z2}%bqumRaHEv&ANVfio2C3g?*#&3$}>eQ@fVBTg2*syaJK>9;i(3eWix3$2!Nij70 zAVHI#PD9;|66VV0(~$KELP*}YYi;vADjz1+(sck77{ca86dNpMJzEl`)ttA1M z)KSWGK0UYI6l=xS!tv64MoLiylcL|4O|^5OzmC+gI|p9StW`)p9oom`;Fn=>^aVCL zT^?1J8Nz*!R6M`fiqzRlgN?W}Bta*v{1Oa%tPY^l3q{aB)KB%rwaC?kNQky7pw{ze zqET4~(Hkye_HfMhM41^F*W5r~pYNiZheb%XU^AU*xd-pG*GcnXe@V@aZ_7E z%$jmIU2q1gk>o?$RF*@r zvj#cw^Bxv7yu_T>)>O&G5&bu;hNE0J@z5nT%$VlEp1@Tnu`LLh#{gJ|) zH80rd+Z^frm^;+QEd>t-#gL?ePC7K#0Rti~(nB5d(5NN>R>bLGn4ubMzE+0y+G2Q^ zPoVzpJq_wUZ6mvCES}ojPC>1q*R<>QYkE%O5|fuBhSPXQs2RU7ByN9$hjtCpCwt?_ zt6Px}8EyiZg^lR!Ut#u0(on;93l0Kv@iNv`JS2H%8c2)D z1jzmjgO#y0_-tV>b~S#5`D=S%xswgUmB!WB;mcsePC z>nB%HE6GU8_o*0Hmzrakdn?g7pii`|s$ixrKU(cM1tC`_OwV@qVO-Qc)VownR(FNa zmCclTFUWzNa`hx9Z7QlscvG!@d5oJ7pg5om{|$!{!B7QqX=)?q94#SR77kLE>&rke zb{%{Z3&#_tT+XxP9@~G?2KK4-kb8Fus0Yr1n$Oy}#LpS_^>g#WEj;*s_9AF|I6$^7 z{RIuy(&SU+Q##<{M9=#1*T3Mn#6#L{c)fQjw1(o{J?%oT^c@Od9_w zg`h)53{h~=z($EbH1}gW)3=0U$j*{Lvc7?1EbqsAi}O%Iq6S^PWpPYa1S9?)f&}My z^5-Zo*!zEj_|I2p^3fx3%xE^0ap$JhA`E)F^w+g=x#rE)>hS$!6uIf-i!(AqIQG>h zGz2mBsO%EDWb1M`arPQrWbR8vtNAc6(*Q>gdC*cxaX4gOh=u2^06bpcxk6>K;+-Tj zXRM0uwJqg>Y7wMd?_NMz9b<%Mz^AxZz|TiHWX~!9H;mB6Z@J zd5*j|Cj)TJhLfcGf(E(0=rgmW=?EbYr^6-HMBKid^A7(WrBi--ZAN#+!-a%j>@mTOYQE6fn`^<+Yu2F}{S{n~^$#<1A-79^!vMa#yGV=V6HzhH7_9sKaJiBZ{0m(M z16k|f(^W^}_b-IraCm`pCo@SIX~o4}mF%Laf;hNzoGzKahCb41&hqYjl-#IxB2j(`K3xti-y_f~*-MUwYg2DZ?|5$kKP{10pf$l&FzdV-u{KK6= zoQt_`5Gv=o6XtClwaPSuTan$gee$DOWMvELM7_sPi=EKUr4?;mztgnO-K;%7=Z4%` zMXS`qsq0!PoXw{TM}*Z(tB5|iw(mZB=s-LS-86;7!zNI3CIES)f7JP(mH;jDP}-<= zo7#FO;oH1uo7`Bn2wsL}u@1SWsVxjR#tAD?gWWYM0}G z?RT(U>?K(@Z#5h!u0@3lcUjAkEIRb7nafYh;G>8#$?#dl6-Z6lC$?vC&R>3%tGrLE ze;L!rVxSR$cNy(h7ic@z+dUk;8ChOeEIM+5Zu$F(YCrfx*Q?*8^|M2XNk|(uIhqjh z_wu;qUq0h4mXBV>_sIeGP-6XVdcEd~3|cDVj(ps6#5=Z@$oj|PmY+Xa(Z7N;Ql4`` zENlR!f9=#ul>uX;VY2h*T-5X0gVP#g(fr^%8WSv5|3)o|-VTwc3OS9e3AB^OY=2aL zI|Vu4CeiHtZT3M%1P?5~hPNK2!>^OV^ysHjI>_~?yWa}cSJaBqpZhi-|L)h!7w5IG zg4Y(e=l&&o`L^Ksf;FUQmK0f?lSj@kowbYmO-qznoA z;EN)Wzsd2{XIU#tZr7#E4>zsx#j)GV>VtSy+3|`Ov^DSr=B`;xx5r<`eD?$*XqAS# z+3k|ou$DEppRB~o6?)4YIT{3~}%T_rIdVdWk`m5P0xdd!7 zG=NVH9{BfG2OW_*Nn)=bMWsqVd>(&s z8o{N#Ca5w)m>$dPA(^+w=*&j0m*w<|UaUETuV#kOQc+2w;QyMDRn5SAjW1b$8(}n$ zW4U|CH5xu3j!R?{$O+#m_=*k34NH@tWt$Z~i!LV0-`8T$4PG?a5lJ+aHOa@h-0tJa z_ta~R9TR4piBB{VX)KqW2pR38ZhsEIrC3*VGj_q?BfmIrG!K0o@5cPrB{WI2g7U^I z0IODn7t%^WZRs!kc_#t>(^?HZ!|Ei|uas=OwTV0z6vuUYjj>QHiu5n5AOPp_^pHc{ z-2egTZM3G5a6h5P2aJY?pQsovkZC zZr*jqMd<@oXb^@k$Nvzo?2QOks_^_yJq#EplFJXL&~IxjK988$2_k8p(( zJOcPD;v9NrrPIp?ufyKUEeOZL5#5Su$YWJDnn|I9cH6)&B%g6#aRuh-G?S5}MBEj1 zn_7fvlMT_Y$ZhVOe9pdQpz<&T_VuJtZ{ujNUCjBbpT4F`L+;e2v}s_Ti#^2f>%&Yl z1^iv}7H;S-Mh8zNQfQYA&(~;^17~hvm~;n?^a3JrDV3hR+>CRzwPCS#5w_UfAiFk4 zndN`C!_N5*s8yQDUf}i(KU+wHVXHBI9V$Z4qG{~T6ArLV=^VG?saUTPosPk~7vRL( zt?=WtH-3e4Ftjj}fnFycdV0ooO(`t26tjsdOGafI2V+)>mfr(7OrY2GMk6vX|_xveZN}*&zT6| zfujuZHi}{TWK7_#$0xR}YZpvW4W?1&1F44hOwi%>GOt)|fcss3Ot4KVx|)^O9Vwoq zt;;Wipt%Y=UCNX`$i9Y;>!)CGbtRLt^(W1f(*@Uj5o&Oxl@`dEJj2OVNg3iAuKHV6j&r zE$yw^U;Uc#upiQ)sc9DxR-f(0fg536AMWc2*fJ=n} zF=*i&T3X+T@rQdPRj-__nHdeuB@w8W8BLGuJq!sF8)(6w|2QY)Jea3w#hwhlO1{_| zVoUQ?5VzcgbmMRGPUBe}5BI+E<+cc{kMO3?k1Jx&%0=K|>yIy|YjS5DagR!Wu~X7Pe#iJh)U^v$k`$RRVCu|=Q(6P z6dqz%gouNUpaEMKwvZKG30Ms2Bzm?Yx{Q{f(BLI9=5rA4@jamJ?|I?9)nmAHX9b=% zyh8UazD!S!@?*7VD80tbB<(tdxIOiIb!)`9{AOGao^0-<`*!=HY2E^KcwLC9ok?Ih zn89xQ5zTQy>`*1~5LQinO0CEJaVnS7xi=hP<7PkOKy3%1Ur>k|Y&(eMb4{@2zeXx6 z;{Yn>$4HH3E{y(FB?hq0 zY|@@Z6^#nCb1w(~+-&-8ZUiWBepjU>hanNnQTbdBJCEy2Mr@x7BQck;$zV6O_A7Dj z_x^F_(`I4@`^0zJ*Fyl$Jx!EaQB!u{$BN zz8iN`*n*(99;WMkq{-{w(GSC-u*SrTEeO$rM~_0#H(jj$h_WS`9s+icbQcN#a~LfH zw!&DO0o4Bh94j%QJSU!0J@1>ST9w0Sk6AFxo>DgL=1gdfvA{i}J^1#gGa3#yV`G(Y zy`1I&`n5t5PxDUF;hq9&bYBZ2UWKEGd=B1^H^Ge~CD?UDpW2;mtNT`Ai%|>1sL!|n z3F;UmI{oR8y|=tBH_DDw&HYxF9Dbe(|F**O<~d~Z1mKAu+fnTJH&W12Lc%#;7k-kh zUpFR!o!ox?mm_7QD_R2CqdJi9c8ST?Tn7#pW$|W#FlcMGknw8?Fkg2A`PTX$#FhrL zx9%vw+0jW-{znE@X$k<-E^0nsYZ3FeOb_Q=o(oHYo9ia)#(_`#JOsVzBR3<8A^*n} zFuL7IC*SjuX*OvRp+C~xGoV0odsPS^Hn$9k&aPA*dfpb341Ox_PnXY zVs`?ne6FSw54S?(e=$V-uPSLnPWF<;TIVv z=XagQqe*Ash39Q{y>Td`zG09wkHye;k++~{?kq^$pAGB+9!9vk2G;hO649PgbZTm) zgP)`Ew;ZcKT%fUCgX9v&F}WdO1MS=Vse;RK z(sk=PY_j}I$N$w5dX**mUghLtaWV#8kB8BFvmmC^8J$)=0wI+ijO22GC#DN<_LaFX zIj#$fcV~gy^XEj|zKU208R4@T4a~&ld|ZvaW($)QFi&F&5tDsDq_X$Z-

w?Gi(@ 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 { - return Promise.resolve(Array(this.dimension).fill(Math.random() * 2 - 1)) - } -} - -export const wordEmbeddingStorage = new TestWordEmbeddingStorage( - EMBEDDINGS_DIMENSION -) diff --git a/packages/botonic-nlp/tests/model/model-manager.test.ts b/packages/botonic-nlp/tests/model/model-manager.test.ts deleted file mode 100644 index 9c33de7448..0000000000 --- a/packages/botonic-nlp/tests/model/model-manager.test.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { tensor } from '@tensorflow/tfjs-node' - -import { ModelManager } from '../../src/model/manager' -import { ModelStorage } from '../../src/storage/model-storage' -import * as helper from '../helpers/constants-helper' - -describe('Model Manager', () => { - test('Predict', async () => { - const model = await new ModelStorage().load(helper.NER_MODEL_DIR_PATH) - const sut = new ModelManager(model) - const x = tensor([[2, 10, 14, 13, 0, 0, 0, 0, 0, 0, 0, 0]]) - const prediction = sut.predict(x) - expect(prediction.shape).toEqual([ - 1, - helper.MAX_SEQUENCE_LENGTH, - helper.ENTITIES.length + 1, - ]) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/de/normalizer-de.test.ts b/packages/botonic-nlp/tests/preprocess/engines/de/normalizer-de.test.ts deleted file mode 100644 index 022c368cff..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/de/normalizer-de.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NormalizerDe } from '../../../../src/preprocess/engines/de/normalizer-de' - -describe('Deutsch normalizer', () => { - test.each([ - ['Wo ist meine XGTSZF-Bestellung?', 'wo ist meine xgtszf-bestellung?'], - [ - 'WO KANN ICH DIESE BESTELLUNG FINDEN?', - 'wo kann ich diese bestellung finden?', - ], - ])('normalize sentence', (raw: string, expected: string) => { - const normalizer = new NormalizerDe() - expect(normalizer.normalize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/de/stemmer-de.test.ts b/packages/botonic-nlp/tests/preprocess/engines/de/stemmer-de.test.ts deleted file mode 100644 index 581c848010..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/de/stemmer-de.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { StemmerDe } from '../../../../src/preprocess/engines/de/stemmer-de' - -describe('Deutsch stemmer', () => { - test('stemming sentence', () => { - const stemmer = new StemmerDe() - expect(stemmer.stem(['testen', 'denken'])).toEqual(['test', 'denk']) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/de/tokenizer-de.test.ts b/packages/botonic-nlp/tests/preprocess/engines/de/tokenizer-de.test.ts deleted file mode 100644 index 4d1158fcc4..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/de/tokenizer-de.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { TokenizerEs } from '../../../../src/preprocess/engines/es/tokenizer-es' - -describe('Deutsch tokenizer', () => { - test.each([ - ['wo ist meine Bestellung?', ['wo', 'ist', 'meine', 'Bestellung']], - [ - 'Guten Morgen, ich möchte dieses Shirt zurückgeben', - ['Guten', 'Morgen', 'ich', 'möchte', 'dieses', 'Shirt', 'zurückgeben'], - ], - ])('tokenizing sentence', (raw: string, expected: string[]) => { - const tokenizer = new TokenizerEs() - expect(tokenizer.tokenize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/en/normalizer-en.test.ts b/packages/botonic-nlp/tests/preprocess/engines/en/normalizer-en.test.ts deleted file mode 100644 index 94ece3cc3e..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/en/normalizer-en.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NormalizerEn } from '../../../../src/preprocess/engines/en/normalizer-en' - -describe('English normalizer', () => { - test.each([ - ['I want to test this NLP package', 'i want to test this nlp package'], - ['WHERE IS MY ORDER!?', 'where is my order!?'], - ])('normalize sentence', (raw: string, expected: string) => { - const normalizer = new NormalizerEn() - expect(normalizer.normalize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/en/stemmer-en.test.ts b/packages/botonic-nlp/tests/preprocess/engines/en/stemmer-en.test.ts deleted file mode 100644 index 0227ac7ede..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/en/stemmer-en.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { StemmerEn } from '../../../../src/preprocess/engines/en/stemmer-en' - -describe('English stemmer', () => { - test('stemming sentence', () => { - const stemmer = new StemmerEn() - expect(stemmer.stem(['testing', 'booked'])).toEqual(['test', 'book']) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/en/tokenizer-en.test.ts b/packages/botonic-nlp/tests/preprocess/engines/en/tokenizer-en.test.ts deleted file mode 100644 index 0fb757abc3..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/en/tokenizer-en.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { TokenizerEn } from '../../../../src/preprocess/engines/en/tokenizer-en' - -describe('English tokenizer', () => { - test.each([ - [ - 'i want to test this nlp package', - ['i', 'want', 'to', 'test', 'this', 'nlp', 'package'], - ], - ['where is my order!?', ['where', 'is', 'my', 'order']], - ])('tokenizing sentence', (raw: string, expected: string[]) => { - const tokenizer = new TokenizerEn() - expect(tokenizer.tokenize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/es/normalizer-es.test.ts b/packages/botonic-nlp/tests/preprocess/engines/es/normalizer-es.test.ts deleted file mode 100644 index 3502272e3f..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/es/normalizer-es.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NormalizerEs } from '../../../../src/preprocess/engines/es/normalizer-es' - -describe('Spanish normalizer', () => { - test.each([ - ['Donde está mi pedido XGTSZF?', 'donde esta mi pedido xgtszf?'], - [ - 'DONDE PUEDO ENCONTRAR ESTE PEDIDO?', - 'donde puedo encontrar este pedido?', - ], - ])('normalize sentence', (raw: string, expected: string) => { - const normalizer = new NormalizerEs() - expect(normalizer.normalize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/es/stemmer-es.test.ts b/packages/botonic-nlp/tests/preprocess/engines/es/stemmer-es.test.ts deleted file mode 100644 index 35704c1773..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/es/stemmer-es.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { StemmerEs } from '../../../../src/preprocess/engines/es/stemmer-es' - -describe('Spanish stemmer', () => { - test('stemming sentence', () => { - const stemmer = new StemmerEs() - expect(stemmer.stem(['probando', 'caminado'])).toEqual(['prob', 'camin']) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/es/tokenizer-es.test.ts b/packages/botonic-nlp/tests/preprocess/engines/es/tokenizer-es.test.ts deleted file mode 100644 index 676e6637ad..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/es/tokenizer-es.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { TokenizerEs } from '../../../../src/preprocess/engines/es/tokenizer-es' - -describe('Spanish tokenizer', () => { - test.each([ - ['donde esta mi pedido?', ['donde', 'esta', 'mi', 'pedido']], - [ - 'buenas, quiero devolver esta camiseta', - ['buenas', 'quiero', 'devolver', 'esta', 'camiseta'], - ], - ])('tokenizing sentence', (raw: string, expected: string[]) => { - const tokenizer = new TokenizerEs() - expect(tokenizer.tokenize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/fr/normalizer-fr.test.ts b/packages/botonic-nlp/tests/preprocess/engines/fr/normalizer-fr.test.ts deleted file mode 100644 index 8631dc81f2..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/fr/normalizer-fr.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NormalizerFr } from '../../../../src/preprocess/engines/fr/normalizer-fr' - -describe('French normalizer', () => { - test.each([ - ['Où est ma commande XGTSZF?', 'ou est ma commande xgtszf?'], - ['O PUIS-JE TROUVER CETTE COMMANDE?', 'o puis-je trouver cette commande?'], - ])('normalize sentence', (raw: string, expected: string) => { - const normalizer = new NormalizerFr() - expect(normalizer.normalize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/fr/stemmer-fr.test.ts b/packages/botonic-nlp/tests/preprocess/engines/fr/stemmer-fr.test.ts deleted file mode 100644 index 1f90fe463c..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/fr/stemmer-fr.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { StemmerFr } from '../../../../src/preprocess/engines/fr/stemmer-fr' - -describe('French stemmer', () => { - test('stemming sentence', () => { - const stemmer = new StemmerFr() - expect(stemmer.stem(['parlant', 'pensée'])).toEqual(['parl', 'pens']) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/fr/tokenizer-fr.test.ts b/packages/botonic-nlp/tests/preprocess/engines/fr/tokenizer-fr.test.ts deleted file mode 100644 index cdb45bca7e..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/fr/tokenizer-fr.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { TokenizerFr } from '../../../../src/preprocess/engines/fr/tokenizer-fr' - -describe('French tokenizer', () => { - test.each([ - ['Où est ma commande? ', ['Où', 'est', 'ma', 'commande']], - [ - 'bonjour, je veux retourner cette chemise', - ['bonjour', 'je', 'veux', 'retourner', 'cette', 'chemise'], - ], - ])('tokenizing sentence', (raw: string, expected: string[]) => { - const tokenizer = new TokenizerFr() - expect(tokenizer.tokenize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/it/normalizer-it.test.ts b/packages/botonic-nlp/tests/preprocess/engines/it/normalizer-it.test.ts deleted file mode 100644 index 8f4bbee74f..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/it/normalizer-it.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NormalizerIt } from '../../../../src/preprocess/engines/it/normalizer-it' - -describe('Italian normalizer', () => { - test.each([ - ["Dov'è il mio ordine XGTSZF?", "dov'e il mio ordine xgtszf?"], - ['DOVE POSSO TROVARE QUESTO ORDINE?', 'dove posso trovare questo ordine?'], - ])('normalize sentence', (raw: string, expected: string) => { - const normalizer = new NormalizerIt() - expect(normalizer.normalize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/it/stemmer-it.test.ts b/packages/botonic-nlp/tests/preprocess/engines/it/stemmer-it.test.ts deleted file mode 100644 index 233033fdaf..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/it/stemmer-it.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { StemmerIt } from '../../../../src/preprocess/engines/it/stemmer-it' - -describe('Italian stemmer', () => { - test('Stemming sentence', () => { - const stemmer = new StemmerIt() - expect(stemmer.stem(['parlando', 'pensiero'])).toEqual(['parl', 'pensier']) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/it/tokenizer-it.test.ts b/packages/botonic-nlp/tests/preprocess/engines/it/tokenizer-it.test.ts deleted file mode 100644 index 8a927b129a..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/it/tokenizer-it.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { TokenizerIt } from '../../../../src/preprocess/engines/it/tokenizer-it' - -describe('Italian tokenizer', () => { - test.each([ - ["Dov'è il mio ordine?", ['Dov', 'è', 'il', 'mio', 'ordine']], - [ - 'bene, voglio restituire questa maglietta', - ['bene', 'voglio', 'restituire', 'questa', 'maglietta'], - ], - ])('tokenizing sentence', (raw: string, expected: string[]) => { - const tokenizer = new TokenizerIt() - expect(tokenizer.tokenize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/ru/normalizer-ru.test.ts b/packages/botonic-nlp/tests/preprocess/engines/ru/normalizer-ru.test.ts deleted file mode 100644 index e17a5051a7..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/ru/normalizer-ru.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NormalizerRu } from '../../../../src/preprocess/engines/ru/normalizer-ru' - -describe('Russian normalizer', () => { - test.each([ - ['Где мой заказ XGTSZF?', 'где мои заказ xgtszf?'], - ['ГДЕ Я МОГУ НАЙТИ ЗАКАЗ?', 'где я могу наити заказ?'], - ])('normalize sentence', (raw: string, expected: string) => { - const normalizer = new NormalizerRu() - expect(normalizer.normalize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/ru/stemmer-ru.test.ts b/packages/botonic-nlp/tests/preprocess/engines/ru/stemmer-ru.test.ts deleted file mode 100644 index 9ed2467750..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/ru/stemmer-ru.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { StemmerRu } from '../../../../src/preprocess/engines/ru/stemmer-ru' - -describe('Russian stemmer', () => { - test('Stemming sentence', () => { - const stemmer = new StemmerRu() - expect(stemmer.stem(['Говорящий', 'мысль'])).toEqual(['Говоря', 'мысл']) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/engines/ru/tokenizer-ru.test.ts b/packages/botonic-nlp/tests/preprocess/engines/ru/tokenizer-ru.test.ts deleted file mode 100644 index 42936c6917..0000000000 --- a/packages/botonic-nlp/tests/preprocess/engines/ru/tokenizer-ru.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { TokenizerRu } from '../../../../src/preprocess/engines/ru/tokenizer-ru' - -describe('Russian tokenizer', () => { - test.each([ - ['Где мой заказ?', ['Где', 'мой', 'заказ']], - [ - 'доброе утро я хочу вернуть эту рубашку', - ['доброе', 'утро', 'я', 'хочу', 'вернуть', 'эту', 'рубашку'], - ], - ])('tokenizing sentence', (raw: string, expected: string[]) => { - const tokenizer = new TokenizerRu() - expect(tokenizer.tokenize(raw)).toEqual(expected) - }) -}) diff --git a/packages/botonic-nlp/tests/preprocess/preprocessor.test.ts b/packages/botonic-nlp/tests/preprocess/preprocessor.test.ts deleted file mode 100644 index 7a0bc69108..0000000000 --- a/packages/botonic-nlp/tests/preprocess/preprocessor.test.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { - Preprocessor, - SEQUENCE_POSITION, -} from '../../src/preprocess/preprocessor' - -describe('Preprocessor with loaded engines', () => { - const sut = new Preprocessor('en', 6) - - test('Preprocess', () => { - expect(sut.preprocess('This is a test', '')).toEqual([ - 'test', - '', - '', - '', - '', - '', - ]) - }) - - test('Normalize', () => { - expect(sut.normalize('This')).toEqual('this') - }) - - test('Tokenize', () => { - expect(sut.tokenize('this is a test')).toEqual(['this', 'is', 'a', 'test']) - }) - - test('Stopwords removal', () => { - expect(sut.removeStopwords(['this', 'is', 'a', 'test'])).toEqual(['test']) - }) - - test('Stem', () => { - expect(sut.stem(['testing', 'stemmer'])).toEqual(['testing', 'stemmer']) - }) - - test('Pad', () => { - expect( - sut.pad(['This', 'is', 'a', 'test'], '', SEQUENCE_POSITION.PRE) - ).toEqual(['', '', 'This', 'is', 'a', 'test']) - expect( - sut.pad(['This', 'is', 'a', 'test'], '', SEQUENCE_POSITION.POST) - ).toEqual(['This', 'is', 'a', 'test', '', '']) - }) - - test('Truncate', () => { - expect( - sut.truncate( - ['This', 'is', 'a', 'long', 'test', 'sentence', 'to', 'truncate'], - SEQUENCE_POSITION.PRE - ) - ).toEqual(['a', 'long', 'test', 'sentence', 'to', 'truncate']) - expect( - sut.truncate( - ['This', 'is', 'a', 'long', 'test', 'sentence', 'to', 'truncate'], - SEQUENCE_POSITION.POST - ) - ).toEqual(['This', 'is', 'a', 'long', 'test', 'sentence']) - }) -}) diff --git a/packages/botonic-nlp/tests/storage/config-storage.test.ts b/packages/botonic-nlp/tests/storage/config-storage.test.ts deleted file mode 100644 index 0528543704..0000000000 --- a/packages/botonic-nlp/tests/storage/config-storage.test.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { existsSync, rmdirSync } from 'fs' -import { join } from 'path' - -import { ConfigStorage } from '../../src/storage/config-storage' -import { IntentClassifierConfig } from '../../src/tasks/intent-classification' -import { NerConfig } from '../../src/tasks/ner' -import * as helper from '../helpers/constants-helper' - -describe('Config Storage', () => { - test('Load NER Config', () => { - const sut = new ConfigStorage() - const config = sut.load(helper.NER_MODEL_DIR_PATH) - expect(config).toEqual({ - locale: helper.LOCALE, - maxLength: helper.MAX_SEQUENCE_LENGTH, - vocabulary: helper.VOCABULARY, - entities: ['O'].concat(helper.ENTITIES), - }) - }) - - test('Load Intent Config', () => { - const sut = new ConfigStorage() - const config = sut.load(helper.INTENT_CLASSIFIER_MODEL_DIR_PATH) - expect(config).toEqual({ - locale: helper.LOCALE, - maxLength: helper.MAX_SEQUENCE_LENGTH, - vocabulary: helper.VOCABULARY, - intents: helper.INTENTS, - }) - }) - - test('Save Intent Config', () => { - const sut = new ConfigStorage() - const tmpPath = join(helper.HELPER_DIR, 'tmpConfigStorage') - sut.save( - { - locale: helper.LOCALE, - maxLength: helper.MAX_SEQUENCE_LENGTH, - vocabulary: helper.VOCABULARY, - intents: helper.INTENTS, - }, - tmpPath - ) - const configPath = join(tmpPath, sut.CONFIG_FILENAME) - expect(existsSync(configPath)).toBeTruthy() - rmdirSync(tmpPath, { recursive: true }) - expect(existsSync(configPath)).toBeFalsy() - }) -}) diff --git a/packages/botonic-nlp/tests/storage/model-storage.test.ts b/packages/botonic-nlp/tests/storage/model-storage.test.ts deleted file mode 100644 index c5188757d9..0000000000 --- a/packages/botonic-nlp/tests/storage/model-storage.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { existsSync, rmdirSync } from 'fs' -import { join } from 'path' - -import { ModelStorage } from '../../src/storage/model-storage' -import * as helper from '../helpers/constants-helper' - -describe('Model Storage', () => { - const sut = new ModelStorage() - test('Load model', async () => { - const model = await sut.load(helper.NER_MODEL_DIR_PATH) - expect(model.name).toEqual('BiLstmNerModel') - }) - - test('Save model', async () => { - const model = await sut.load(helper.NER_MODEL_DIR_PATH) - const path = join( - __dirname, - '..', - 'helpers', - 'models', - 'testing-model-handler' - ) - await sut.save(model, path) - expect(existsSync(path)).toBeTruthy() - expect(existsSync(join(path, 'model.json'))).toBeTruthy() - expect(existsSync(join(path, 'weights.bin'))).toBeTruthy() - rmdirSync(path, { recursive: true }) - expect(existsSync(path)).toBeFalsy() - }) -}) diff --git a/packages/botonic-nlp/tests/tasks/intent-classification/botonic-intent-classifier.test.ts b/packages/botonic-nlp/tests/tasks/intent-classification/botonic-intent-classifier.test.ts deleted file mode 100644 index 5b02ed7307..0000000000 --- a/packages/botonic-nlp/tests/tasks/intent-classification/botonic-intent-classifier.test.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { DatabaseStorage } from '../../../src/embeddings/database/storage' -import { BotonicIntentClassifier } from '../../../src/tasks/intent-classification/botonic-intent-classifier' -import { INTENT_CLASSIFIER_TEMPLATE } from '../../../src/tasks/intent-classification/models/types' -import * as constantsHelper from '../../helpers/constants-helper' -import * as toolsHelper from '../../helpers/tools-helper' - -describe('Botonic Intent Classifier', () => { - const { trainSet, testSet } = toolsHelper.dataset.split() - const vocabulary = trainSet.extractVocabulary(toolsHelper.preprocessor) - const sut = new BotonicIntentClassifier( - { - locale: constantsHelper.LOCALE, - maxLength: constantsHelper.MAX_SEQUENCE_LENGTH, - vocabulary: vocabulary, - intents: constantsHelper.INTENTS, - }, - toolsHelper.preprocessor - ) - - test('Train and Evaluate model', async () => { - const model = await sut.createModel( - INTENT_CLASSIFIER_TEMPLATE.SIMPLE_NN, - await DatabaseStorage.with( - constantsHelper.LOCALE, - constantsHelper.EMBEDDINGS_TYPE, - constantsHelper.EMBEDDINGS_DIMENSION - ) - ) - sut.setModel(model) - await sut.train(trainSet, 4, 8) - - const { accuracy, loss } = await sut.evaluate(testSet) - - expect(accuracy).toBeGreaterThan(0.01) - expect(loss).toBeLessThan(2) - }) - - test('Classify Intent', async () => { - const sut = await BotonicIntentClassifier.load( - constantsHelper.INTENT_CLASSIFIER_MODEL_DIR_PATH, - toolsHelper.preprocessor - ) - - const intents = sut.classify('I want to return this jacket') - - expect(intents.length).toEqual(constantsHelper.INTENTS.length) - expect(intents[0].label).toEqual('ReturnProduct') - }) -}) diff --git a/packages/botonic-nlp/tests/tasks/intent-classification/models/simple-nn.test.ts b/packages/botonic-nlp/tests/tasks/intent-classification/models/simple-nn.test.ts deleted file mode 100644 index c7275ea2ed..0000000000 --- a/packages/botonic-nlp/tests/tasks/intent-classification/models/simple-nn.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { createSimpleNN } from '../../../../src/tasks/intent-classification/models/simple-nn' -import * as helper from '../../../helpers/constants-helper' - -describe('Simple NN Model', () => { - test('Model Creation', () => { - const model = createSimpleNN( - helper.MAX_SEQUENCE_LENGTH, - helper.INTENTS.length, - helper.EMBEDDINGS_MATRIX, - { units: 64, dropout: 0.2, learningRate: 0.1 } - ) - expect(model.name).toEqual('SimpleIntentClassifier') - expect(model.layers.length).toEqual(4) - }) -}) diff --git a/packages/botonic-nlp/tests/tasks/intent-classification/process/prediction-processor.test.ts b/packages/botonic-nlp/tests/tasks/intent-classification/process/prediction-processor.test.ts deleted file mode 100644 index 402e943934..0000000000 --- a/packages/botonic-nlp/tests/tasks/intent-classification/process/prediction-processor.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { tensor } from '@tensorflow/tfjs-node' - -import { PredictionProcessor } from '../../../../src/tasks/intent-classification/process/prediction-processor' -import { OutputData } from '../../../../src/tasks/intent-classification/process/types' -import * as helper from '../../../helpers/constants-helper' - -describe('Prediction Processor', () => { - test('Process Prediction', () => { - const prediction = tensor([[0.3, 0.7]]) as OutputData - const sut = new PredictionProcessor(helper.INTENTS) - const intents = sut.process(prediction) - expect(intents.length).toEqual(helper.INTENTS.length) - expect(intents[0].label).toEqual(helper.INTENTS[1]) - }) -}) diff --git a/packages/botonic-nlp/tests/tasks/intent-classification/process/processor.test.ts b/packages/botonic-nlp/tests/tasks/intent-classification/process/processor.test.ts deleted file mode 100644 index 34ac02cfcd..0000000000 --- a/packages/botonic-nlp/tests/tasks/intent-classification/process/processor.test.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Processor } from '../../../../src/tasks/intent-classification/process/processor' -import * as constantsHelper from '../../../helpers/constants-helper' -import * as toolsHelper from '../../../helpers/tools-helper' - -// Short and long texts are used for testing because we need to check that the Processor always returns the data with the correct shape. -const SHORT_TEXT = 'I want to buy this pair of shoes.' -const LONG_TEXT = - 'I want to buy this pair of shoes, this t-shirt and also, this jacket. I also want to know if this fur coat is on sale, because I love it!' - -describe('Intent Classification Processor', () => { - const sut = new Processor( - toolsHelper.preprocessor, - toolsHelper.tokenEncoder, - toolsHelper.intentEncoder - ) - - test('Process samples', () => { - const { x, y } = sut.processSamples([ - { - intent: 'BuyProduct', - entities: [{ start: 27, end: 32, label: 'product' }], - text: SHORT_TEXT, - }, - { - intent: 'BuyProduct', - entities: [{ start: 27, end: 32, label: 'product' }], - text: LONG_TEXT, - }, - ]) - expect(x.shape).toEqual([2, constantsHelper.MAX_SEQUENCE_LENGTH]) - expect(x.arraySync()).toEqual([ - [7, 9, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], - [7, 9, 1, 1, 28, 27, 7, 1, 1, 21, 1, 11], - ]) - expect(y.shape).toEqual([2, constantsHelper.INTENTS.length]) - expect(y.arraySync()).toEqual([ - [1, 0], - [1, 0], - ]) - }) - - test('Texts Processing', () => { - const input = sut.processTexts([SHORT_TEXT, LONG_TEXT]) - expect(input.arraySync()).toEqual([ - [7, 9, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], - [7, 9, 1, 1, 28, 27, 7, 1, 1, 21, 1, 11], - ]) - }) -}) diff --git a/packages/botonic-nlp/tests/tasks/ner/botonic-ner.test.ts b/packages/botonic-nlp/tests/tasks/ner/botonic-ner.test.ts deleted file mode 100644 index 88290ff702..0000000000 --- a/packages/botonic-nlp/tests/tasks/ner/botonic-ner.test.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { BotonicNer } from '../../../src/tasks/ner/botonic-ner' -import { NER_TEMPLATE } from '../../../src/tasks/ner/models/types' -import * as constantsHelper from '../../helpers/constants-helper' -import * as toolsHelper from '../../helpers/tools-helper' - -describe('Botonic NER', () => { - const { trainSet, testSet } = toolsHelper.dataset.split() - const vocabulary = trainSet.extractVocabulary(toolsHelper.preprocessor) - const sut = new BotonicNer( - { - locale: constantsHelper.LOCALE, - maxLength: constantsHelper.MAX_SEQUENCE_LENGTH, - vocabulary: vocabulary, - entities: constantsHelper.ENTITIES, - }, - toolsHelper.preprocessor - ) - - test('Train and Evaluate model', async () => { - // arrange - const model = await sut.createModel( - NER_TEMPLATE.BILSTM, - toolsHelper.wordEmbeddingStorage - ) - sut.setModel(model) - await sut.train(trainSet, 4, 8) - - // act - const { loss, accuracy } = await sut.evaluate(testSet) - - // assert - expect(loss).toBeLessThan(3) - expect(accuracy).toBeGreaterThan(0) - }) - - test('Recognize entities', async () => { - // arrange - const sut = await BotonicNer.load( - constantsHelper.NER_MODEL_DIR_PATH, - toolsHelper.preprocessor - ) - - // act - const entities = sut.recognizeEntities('I want to return this jacket') - - // assert - expect(entities.length).toEqual(1) - expect(entities.map(e => e.label)).toEqual(['product']) - expect(entities.map(e => e.text)).toEqual(['jacket']) - }) -}) diff --git a/packages/botonic-nlp/tests/tasks/ner/models/bilstm-model.test.ts b/packages/botonic-nlp/tests/tasks/ner/models/bilstm-model.test.ts deleted file mode 100644 index c90b8a90dd..0000000000 --- a/packages/botonic-nlp/tests/tasks/ner/models/bilstm-model.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { createBiLstmModel } from '../../../../src/tasks/ner/models/bilstm-model' -import * as helper from '../../../helpers/constants-helper' - -describe('Bidirectional LSTM Model', () => { - test('Creating model', () => { - const model = createBiLstmModel( - 12, - ['O', 'product', 'material'], - helper.EMBEDDINGS_MATRIX - ) - expect(model.name).toEqual('BiLstmNerModel') - }) -}) diff --git a/packages/botonic-nlp/tests/tasks/ner/process/prediction-processor.test.ts b/packages/botonic-nlp/tests/tasks/ner/process/prediction-processor.test.ts deleted file mode 100644 index 650ffdfe32..0000000000 --- a/packages/botonic-nlp/tests/tasks/ner/process/prediction-processor.test.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Tensor3D } from '@tensorflow/tfjs-node' - -import { ModelManager } from '../../../../src/model/manager' -import { ModelStorage } from '../../../../src/storage/model-storage' -import { NEUTRAL_ENTITY } from '../../../../src/tasks/ner/process/constants' -import { PredictionProcessor } from '../../../../src/tasks/ner/process/prediction-processor' -import * as constantsHelper from '../../../helpers/constants-helper' -import * as toolsHelper from '../../../helpers/tools-helper' - -describe('Prediction processor', () => { - test('process prediction', async () => { - const model = await new ModelStorage().load( - constantsHelper.NER_MODEL_DIR_PATH - ) - const manager = new ModelManager(model) - const { sequence, input } = toolsHelper.nerProcessor.generateInput( - 'I want to return this jacket' - ) - const prediction = manager.predict(input) as Tensor3D - - const sut = new PredictionProcessor( - [NEUTRAL_ENTITY].concat(constantsHelper.ENTITIES) - ) - - const entities = sut.process(sequence, prediction) - expect(entities.length).toEqual(1) - expect(entities.map(e => e.label)).toEqual(['product']) - expect(entities.map(e => e.text)).toEqual(['jacket']) - expect(entities.some(e => e.label === NEUTRAL_ENTITY)).toBeFalsy() - }) -}) diff --git a/packages/botonic-nlp/tests/tasks/ner/process/processor.test.ts b/packages/botonic-nlp/tests/tasks/ner/process/processor.test.ts deleted file mode 100644 index 50463be66e..0000000000 --- a/packages/botonic-nlp/tests/tasks/ner/process/processor.test.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { PADDING_TOKEN } from '../../../../src/preprocess/constants' -import { Processor } from '../../../../src/tasks/ner/process/processor' -import * as constantsHelper from '../../../helpers/constants-helper' -import * as toolsHelper from '../../../helpers/tools-helper' - -// Short and long texts are used for testing because we need to check that the Processor always returns the data with the correct shape. -const SHORT_TEXT = 'I want to buy this pair of shoes.' -const LONG_TEXT = - 'I want to buy this pair of shoes, this t-shirt and also, this jacket. I also want to know if this fur coat is on sale, because I love it!' - -describe('NER Processor', () => { - const sut = new Processor( - toolsHelper.preprocessor, - toolsHelper.tokenEncoder, - toolsHelper.entitiesEncoder - ) - test('Process samples', () => { - const { x, y } = sut.process([ - { - intent: 'BuyProduct', - entities: [{ start: 27, end: 32, label: 'product' }], - text: SHORT_TEXT, - }, - { - intent: 'BuyProduct', - entities: [{ start: 27, end: 32, label: 'product' }], - text: LONG_TEXT, - }, - ]) - expect(x.shape).toEqual([2, constantsHelper.MAX_SEQUENCE_LENGTH]) - expect(x.arraySync()).toEqual([ - [7, 9, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], - [7, 9, 1, 1, 28, 27, 7, 1, 1, 21, 1, 11], - ]) - expect(y.shape).toEqual([ - 2, - constantsHelper.MAX_SEQUENCE_LENGTH, - constantsHelper.ENTITIES.length + 1, - ]) - expect(y.arraySync()).toEqual([ - [ - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [0, 1, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - ], - [ - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [0, 1, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - ], - ]) - }) - - test('Generate Sequence and Input of short text', () => { - const { sequence, input } = sut.generateInput(SHORT_TEXT) - expect(sequence.length).toEqual(constantsHelper.MAX_SEQUENCE_LENGTH) - expect(sequence).toEqual([ - 'want', - 'buy', - 'pair', - 'shoes', - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - ]) - expect(input.shape).toEqual([1, constantsHelper.MAX_SEQUENCE_LENGTH]) - expect(input.arraySync()).toEqual([[7, 9, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]) - }) - - test('Generate Sequence and Input of long text', () => { - const { sequence, input } = sut.generateInput(LONG_TEXT) - expect(sequence.length).toEqual(constantsHelper.MAX_SEQUENCE_LENGTH) - expect(sequence).toEqual([ - 'want', - 'buy', - 'pair', - 'shoes', - 't-shirt', - 'jacket', - 'want', - 'know', - 'fur', - 'coat', - 'sale', - 'love', - ]) - expect(input.shape).toEqual([1, constantsHelper.MAX_SEQUENCE_LENGTH]) - expect(input.arraySync()).toEqual([ - [7, 9, 1, 1, 28, 27, 7, 1, 1, 21, 1, 11], - ]) - }) -}) diff --git a/packages/botonic-nlp/tests/tsconfig.json b/packages/botonic-nlp/tests/tsconfig.json deleted file mode 100644 index 4f25129040..0000000000 --- a/packages/botonic-nlp/tests/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../tsconfig", - // include need to be specified for running tsc on tests - "include": ["**/*.ts", "**/*.tsx", "../src/**/*.ts", "../src/**/*.tsx"], - "compilerOptions": { - "rootDir": "../", - // Options below are for compiling @botonic js/jsx files - "allowJs": true, //when set, jest does not validate types anymore https://github.com/kulshekhar/ts-jest/issues/740#issuecomment-424123303 - "declaration": false, - "declarationDir": null - } -} diff --git a/packages/botonic-nlp/tsconfig.eslint.json b/packages/botonic-nlp/tsconfig.eslint.json deleted file mode 100644 index 6159398625..0000000000 --- a/packages/botonic-nlp/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tests/tsconfig.json", - "include": [".*.js", "*.js", "**/*.ts", "**/*.tsx"] -} diff --git a/packages/botonic-nlp/tsconfig.json b/packages/botonic-nlp/tsconfig.json deleted file mode 100644 index 3fb1b522bd..0000000000 --- a/packages/botonic-nlp/tsconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "moduleResolution": "node", - "noImplicitAny": false, - "sourceMap": true, - "removeComments": false, - "preserveConstEnums": true, - "declaration": true, - "target": "es5", - "lib": ["es2015", "dom"], - "outDir": "./lib", - "noUnusedLocals": false, - "noImplicitReturns": true, - "noImplicitThis": true, - "alwaysStrict": true, - "noUnusedParameters": false, - "pretty": true, - "noFallthroughCasesInSwitch": true, - "allowUnreachableCode": false - }, - "include": ["src/"], - "exclude": ["node_modules/"] -} From 6566f475f21911317b05a6eb577d2be4903f0882 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:31:34 +0100 Subject: [PATCH 03/46] chore(botonic): remove botonic-intent-classification package --- .../README.md | 52 - .../jest.config.js | 5 - .../package-lock.json | 2357 ----------------- .../package.json | 39 - .../src/index.ts | 35 - .../src/model/intent-classifier.ts | 31 - .../src/model/model-selector.ts | 29 - .../src/options.ts | 3 - .../src/process/prediction-processor.ts | 22 - .../src/process/text-processor.ts | 30 - .../tests/helper/constants-helper.ts | 36 - .../tests/helper/tools-helper.ts | 5 - .../process/prediction-processor.test.ts | 12 - .../tests/process/text-processor.test.ts | 59 - .../tests/tsconfig.json | 15 - .../tsconfig.eslint.json | 4 - .../tsconfig.json | 34 - 17 files changed, 2768 deletions(-) delete mode 100644 packages/botonic-plugin-intent-classification/README.md delete mode 100644 packages/botonic-plugin-intent-classification/jest.config.js delete mode 100644 packages/botonic-plugin-intent-classification/package-lock.json delete mode 100644 packages/botonic-plugin-intent-classification/package.json delete mode 100644 packages/botonic-plugin-intent-classification/src/index.ts delete mode 100644 packages/botonic-plugin-intent-classification/src/model/intent-classifier.ts delete mode 100644 packages/botonic-plugin-intent-classification/src/model/model-selector.ts delete mode 100644 packages/botonic-plugin-intent-classification/src/options.ts delete mode 100644 packages/botonic-plugin-intent-classification/src/process/prediction-processor.ts delete mode 100644 packages/botonic-plugin-intent-classification/src/process/text-processor.ts delete mode 100644 packages/botonic-plugin-intent-classification/tests/helper/constants-helper.ts delete mode 100644 packages/botonic-plugin-intent-classification/tests/helper/tools-helper.ts delete mode 100644 packages/botonic-plugin-intent-classification/tests/process/prediction-processor.test.ts delete mode 100644 packages/botonic-plugin-intent-classification/tests/process/text-processor.test.ts delete mode 100644 packages/botonic-plugin-intent-classification/tests/tsconfig.json delete mode 100644 packages/botonic-plugin-intent-classification/tsconfig.eslint.json delete mode 100644 packages/botonic-plugin-intent-classification/tsconfig.json diff --git a/packages/botonic-plugin-intent-classification/README.md b/packages/botonic-plugin-intent-classification/README.md deleted file mode 100644 index 3e460692df..0000000000 --- a/packages/botonic-plugin-intent-classification/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# Botonic Plugin Intent Classification - -## What does this plugin do? - -Botonic Plugin Intent Classification uses the trained models to predict the intent of the input text. - -## Setup - -### Install the plugin - -From your project, install the plugin by using the following command: - -```bash -npm install @botonic/plugin-intent-classification -``` - -> **Note**: Windows users should first use the command -> `npm install --global --production windows-build-tools --vs2015` - -### Requiring the plugin - -The plugin must be required in `src/plugins.js` and, the locales of the trained models must be defined in their options. - -```javascript -export const plugins = [ - { - id: 'intent-classification', - resolve: require('@botonic/plugin-intent-classification'), - options: { - locales: ['en', 'es'], - }, - }, -] -``` - -## Use - -You can now create new routes in **`src/routes.js`** depending on the intent information added by this plugin: - -```javascript -import BuyProduct from './actions/buy-product' -import NotFound from './actions/not-found' -import ReturnProduct from './actions/return-product' -import Start from './actions/start' - -export const routes = [ - { input: i => i.intents[0].confidence < 0.7, action: NotFound }, - { intent: 'Greeting', action: Start }, - { intent: 'BuyProduct', action: BuyProduct }, - { intent: 'ReturnProduct', action: ReturnProduct }, -] -``` diff --git a/packages/botonic-plugin-intent-classification/jest.config.js b/packages/botonic-plugin-intent-classification/jest.config.js deleted file mode 100644 index 2617562f06..0000000000 --- a/packages/botonic-plugin-intent-classification/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}', '!/node_modules/'], - preset: 'ts-jest', - testEnvironment: 'node', -} diff --git a/packages/botonic-plugin-intent-classification/package-lock.json b/packages/botonic-plugin-intent-classification/package-lock.json deleted file mode 100644 index 49029e91ac..0000000000 --- a/packages/botonic-plugin-intent-classification/package-lock.json +++ /dev/null @@ -1,2357 +0,0 @@ -{ - "name": "@botonic/plugin-intent-classification", - "version": "0.21.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" - }, - "@babel/core": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", - "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", - "requires": { - "@babel/code-frame": "^7.15.8", - "@babel/generator": "^7.15.8", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.8", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.8", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" - }, - "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==" - }, - "@babel/runtime": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz", - "integrity": "sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "@botonic/core": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.20.0.tgz", - "integrity": "sha512-aU6seeU0N0zD2/6/lw8aMsu89hTn4vENjvehnViTiFMkLTl44AXR3CvvDaIMqNVVdDiP+4eSUo2+5igZdfzPfw==", - "requires": { - "aws-sdk": "^2.997.0", - "axios": "^0.24.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.3.2", - "node-json-db": "^1.3.0", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - } - }, - "@botonic/nlp": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@botonic/nlp/-/nlp-0.20.0.tgz", - "integrity": "sha512-5cXIYKwgDtQfjey290vbweL8aYylQnDwnNPXfdH4dTP7Oqv02W/yUcqNhSy21p8jDOGOy8/R+Y15rytgJX2AQA==", - "requires": { - "@nlpjs/lang-de": "^4.22.0", - "@nlpjs/lang-en-min": "^4.22.0", - "@nlpjs/lang-es": "^4.22.0", - "@nlpjs/lang-fr": "^4.22.0", - "@nlpjs/lang-it": "^4.22.0", - "@nlpjs/lang-ru": "^4.22.0", - "@tensorflow/tfjs-node": "^2.8.6", - "axios": "^0.24.0", - "better-sqlite3": "^7.0.1", - "cross-fetch": "^3.1.4", - "js-yaml": "4.1.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@nlpjs/core": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/core/-/core-4.22.0.tgz", - "integrity": "sha512-L7Qb5kP+/ZJ7Wyjoli1nk+SQvvMY0BuuLfYLNvJ2vKL3tMmrSdYBJcXhgmOHEROU6jf4LFgY8VwBpFTsRJV97g==" - }, - "@nlpjs/lang-de": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-de/-/lang-de-4.22.0.tgz", - "integrity": "sha512-GCEYl1jL9fMod9VBmiucEd06mfEc1KGKPECwc5KeLdfAoAsZVm5BzDPxy4qGP7o7WZgwHLXPo0AuqmqFuTxLhQ==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-en-min": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-en-min/-/lang-en-min-4.22.0.tgz", - "integrity": "sha512-kmOH5xTTmUcM1hEPJTmN0v44Jp9ZFbSkrS+w8kjV7rFhGhQgIvifT2pVcBuRS7Ho7RSwT2EMSkyR3EiMohjhDQ==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-es": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-es/-/lang-es-4.22.0.tgz", - "integrity": "sha512-O/16imCVu5hW1a7oSN8OtxiN4wHtv372ka1HBnEjLx7VxNX6XVUiypOiz7Pzawl5hfOwrMM4+LNmK515Pe3jKg==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-fr": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-fr/-/lang-fr-4.22.0.tgz", - "integrity": "sha512-qhooplV3wRJjvnJXypuJGrY5juR4Lps9A3DQ6DhDoqDJq3o7fh4pMG+f/gaEgCzZ159ufOTQSlU0U+ds9vROeg==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-it": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-it/-/lang-it-4.22.0.tgz", - "integrity": "sha512-gMbsBli8ZlPmDWLX8aNbPfIT5KdP4EvuPr+rfZJBoaqG8U0q9Q/gpB3omj0BR1cxOSf51yLUj91Omg2eyT9npg==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-ru": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-ru/-/lang-ru-4.22.0.tgz", - "integrity": "sha512-a9FoXWIern7Nzg6+gfS1PrXtkF/JZzryrPu6dz2JnRC/KStOcH6OrW/a2/SzJ6SWisjbSZ5m7rol4X72I9DGIw==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@tensorflow/tfjs": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-2.8.6.tgz", - "integrity": "sha512-/Hk3YCAreNicuQJsAIG32UGHaQj8UwX8y8ZrKVb/CrXOhrRyZmxGSZt9KMVe8MDoydenuGhZCqJUIaWdIKIA5g==", - "requires": { - "@tensorflow/tfjs-backend-cpu": "2.8.6", - "@tensorflow/tfjs-backend-webgl": "2.8.6", - "@tensorflow/tfjs-converter": "2.8.6", - "@tensorflow/tfjs-core": "2.8.6", - "@tensorflow/tfjs-data": "2.8.6", - "@tensorflow/tfjs-layers": "2.8.6", - "argparse": "^1.0.10", - "chalk": "^4.1.0", - "core-js": "3", - "regenerator-runtime": "^0.13.5", - "yargs": "^16.0.3" - } - }, - "@tensorflow/tfjs-backend-cpu": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-2.8.6.tgz", - "integrity": "sha512-x9WTTE9p3Pon2D0d6HH1UCIJsU1w3v9sF3vxJcp+YStrjDefWoW5pwxHCckEKTRra7GWg3CwMKK3Si2dat4H1A==", - "requires": { - "@types/seedrandom": "2.4.27", - "seedrandom": "2.4.3" - } - }, - "@tensorflow/tfjs-backend-webgl": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-2.8.6.tgz", - "integrity": "sha512-kPgm3Dim0Li5MleybYKSZVUCu91ipDjZtTA5RrJx/Dli115qwWdiRGOHYwsIEY61hZoE0m3amjWLUBxtwMW1Nw==", - "requires": { - "@tensorflow/tfjs-backend-cpu": "2.8.6", - "@types/offscreencanvas": "~2019.3.0", - "@types/seedrandom": "2.4.27", - "@types/webgl-ext": "0.0.30", - "@types/webgl2": "0.0.5", - "seedrandom": "2.4.3" - }, - "dependencies": { - "@types/webgl2": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", - "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" - } - } - }, - "@tensorflow/tfjs-converter": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-2.8.6.tgz", - "integrity": "sha512-Uv4YC66qjVC9UwBxz0IeLZ8KS2CReh63WlGRtHcSwDEYiwsa7cvp9H6lFSSPT7kiJmrK6JtHeJGIVcTuNnSt9w==" - }, - "@tensorflow/tfjs-core": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-2.8.6.tgz", - "integrity": "sha512-jS28M1POUOjnWgx3jp1v5D45DUQE8USsAHHkL/01z75KnYCAAmgqJSH4YKLiYACg3eBLWXH/KTcSc6dHAX7Kfg==", - "requires": { - "@types/offscreencanvas": "~2019.3.0", - "@types/seedrandom": "2.4.27", - "@types/webgl-ext": "0.0.30", - "node-fetch": "~2.6.1", - "seedrandom": "2.4.3" - } - }, - "@tensorflow/tfjs-data": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-2.8.6.tgz", - "integrity": "sha512-zoDUfd5TfkYdviqu2bObwyJGXJiOvBckOTP9j36PUs6s+4DbTIDttyxdfeEaiiLX9ZUFU58CoW+3LI/dlFVyoQ==", - "requires": { - "@types/node-fetch": "^2.1.2", - "node-fetch": "~2.6.1" - } - }, - "@tensorflow/tfjs-layers": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.8.6.tgz", - "integrity": "sha512-fdZ0i/R2dIKmy8OB5tBAsm5IbAHfJpI6AlbjxpgoU3aWj1HCdDo+pMji928MkDJhP01ISgFTgw/7PseGNaUflw==" - }, - "@tensorflow/tfjs-node": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-2.8.6.tgz", - "integrity": "sha512-lq7fielTU42K8hyzvbmLTKzp4WqIAdgpWdbUPoHpXDCqTgWGb1UfMaDt/oxBkA7i9DFvyN3cem/tdeQRC95pLA==", - "requires": { - "@tensorflow/tfjs": "2.8.6", - "@tensorflow/tfjs-core": "2.8.6", - "adm-zip": "^0.4.11", - "google-protobuf": "^3.9.2", - "https-proxy-agent": "^2.2.1", - "node-pre-gyp": "0.14.0", - "progress": "^2.0.0", - "rimraf": "^2.6.2", - "tar": "^4.4.6" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "@types/node": { - "version": "16.4.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.6.tgz", - "integrity": "sha512-FKyawK3o5KL16AwbeFajen8G4K3mmqUrQsehn5wNKs8IzlKHE8TfnSmILXVMVziAEcnB23u1RCFU1NT6hSyr7Q==" - }, - "@types/node-fetch": { - "version": "2.5.12", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz", - "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==", - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "@types/offscreencanvas": { - "version": "2019.3.0", - "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", - "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" - }, - "@types/seedrandom": { - "version": "2.4.27", - "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz", - "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE=" - }, - "@types/webgl-ext": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", - "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" - }, - "@types/webgl2": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.6.tgz", - "integrity": "sha512-50GQhDVTq/herLMiqSQkdtRu+d5q/cWHn4VvKJtrj4DJAjo1MNkWYa2MA41BaBO1q1HgsUjuQvEOk0QHvlnAaQ==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "requires": { - "default-require-extensions": "^3.0.0" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" - }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "aws-sdk": { - "version": "2.1016.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1016.0.tgz", - "integrity": "sha512-6QY4sJBMtPzxJdzSMjmf22mASZ9RO7e5QjW4PMYI5PVal+jPdl7h37IbtC7abmWNgMubIQ1SIBoUktRQGIE8tw==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" - } - }, - "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "better-sqlite3": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.4.tgz", - "integrity": "sha512-CnK1JjchxbEumd2J6lqfzSG5nT4B/v+J9P0AKSm3NHSfcPsEGE4rHUp9lDlslJ1TL701RM7GWlTp3Pbacpn1/Q==", - "requires": { - "bindings": "^1.5.0", - "prebuild-install": "^6.1.4", - "tar": "^6.1.11" - }, - "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "browserslist": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz", - "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==", - "requires": { - "caniuse-lite": "^1.0.30001271", - "electron-to-chromium": "^1.3.878", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caniuse-lite": { - "version": "1.0.30001272", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001272.tgz", - "integrity": "sha512-DV1j9Oot5dydyH1v28g25KoVm7l8MTxazwuiH3utWiAS6iL/9Nh//TGwqFEeqqN8nnWYQ8HHhUq+o4QPt9kvYw==" - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "core-js": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", - "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cross-fetch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", - "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", - "requires": { - "node-fetch": "2.6.1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha1-4A4S0/qy1ZsfFg1x51FHS8sZZL8=", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "requires": { - "mimic-response": "^2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "requires": { - "strip-bom": "^4.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "dynamodb-toolbox": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.4.tgz", - "integrity": "sha512-5J4f4EMkcO8jJw/TDAVG4Vy0tlCaDOMYILutPUe1fvTFSuw0QKIYPifY17bAj1QKkx2tB96dLEXNntmWoWvDng==" - }, - "electron-to-chromium": { - "version": "1.3.883", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.883.tgz", - "integrity": "sha512-goyjNx4wB9j911PBteb+AXNbErug7rJVkmDXWdw5SCVn2JlARBwsqucPkvp1h5mXWxHUbBRK3bwXTrqSxSiAIQ==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" - }, - "fast-xml-parser": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.0.tgz", - "integrity": "sha512-6xvgn0YFGK/X6TRMaquooyXM/y60R0ER9DcRK23ckbmbTLThzIeBRFxjgwhdNzCsIzAKcHQAoZMjyHcx9hm/Jg==", - "requires": { - "nyc": "^15.1.0", - "strnum": "^1.0.4" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "follow-redirects": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", - "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" - }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==" - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "google-protobuf": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.19.0.tgz", - "integrity": "sha512-qXGAiv3OOlaJXJNeKOBKxbBAwjsxzhx+12ZdKOkZTsqsRkyiQRmr/nBkAkqnuQ8cmA9X5NVXvObQTpHVnXE2DQ==" - }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - } - }, - "html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "istanbul-reports": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz", - "integrity": "sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha1-HGZJKLCVZOk7mhPms9cgBw+itEk=" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" - }, - "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", - "requires": { - "mime-db": "1.49.0" - } - }, - "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - } - } - }, - "node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", - "requires": { - "semver": "^5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, - "node-json-db": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.4.1.tgz", - "integrity": "sha512-hyfnBtuN3kb88SMmDgVil53Frygx+yYkVi6t10VjpEsPseuMI8+gT+FF37DOcyGCr/1wq6qNIr5PnFimCDlzfA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "requires": { - "process-on-spawn": "^1.0.0" - } - }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - }, - "prebuild-install": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", - "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", - "requires": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.21.0", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "requires": { - "fromentries": "^1.2.0" - } - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "requires": { - "es6-error": "^4.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" - }, - "seedrandom": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz", - "integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "signal-exit": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" - }, - "simple-get": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", - "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", - "requires": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "strnum": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.4.tgz", - "integrity": "sha512-lMzNMfDpaQOLt4B2mEbfzYS0+T7dvCXeojnlGf6f1AygvWDMcWyXYaLbyICfjVu29sErR8fnRagQfBW/N/hGgw==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "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.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } -} diff --git a/packages/botonic-plugin-intent-classification/package.json b/packages/botonic-plugin-intent-classification/package.json deleted file mode 100644 index 444d42dfe0..0000000000 --- a/packages/botonic-plugin-intent-classification/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "@botonic/plugin-intent-classification", - "version": "0.21.0", - "license": "MIT", - "main": "lib/index.js", - "scripts": { - "clean_install": "npm i && npm run build", - "cloc": "../../scripts/qa/cloc-package.sh .", - "build": "rm -rf lib && ../../node_modules/.bin/tsc", - "test": "../../node_modules/.bin/jest", - "test_ci": "../../node_modules/.bin/jest --coverage --ci --reporters=default --reporters=jest-junit", - "prepare": "node ../../preinstall.js", - "lint": "npm run lint_core -- --fix", - "lint_ci": "npm run lint_core -- -c ../.eslintrc_slow.js", - "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'" - }, - "dependencies": { - "@babel/runtime": "^7.14.6", - "@botonic/core": "0.21.0", - "@botonic/nlp": "0.21.0", - "@tensorflow/tfjs": "^2.8.6" - }, - "devDependencies": { - "@types/webgl2": "0.0.6" - }, - "resolutions": { - "@types/webgl2": "0.0.6" - }, - "keywords": [ - "bot-framework", - "chatbot", - "conversational-app", - "conversational-ui", - "nlp", - "nlu", - "intent-classification", - "typescript" - ] -} diff --git a/packages/botonic-plugin-intent-classification/src/index.ts b/packages/botonic-plugin-intent-classification/src/index.ts deleted file mode 100644 index 4fc4ece909..0000000000 --- a/packages/botonic-plugin-intent-classification/src/index.ts +++ /dev/null @@ -1,35 +0,0 @@ -import type { Plugin, PluginPostRequest, PluginPreRequest } from '@botonic/core' -import { INPUT } from '@botonic/core' -import { Locale } from '@botonic/nlp' - -import { IntentModelSelector } from './model/model-selector' -import type { PluginOptions } from './options' - -export default class BotonicPluginIntentClassification implements Plugin { - private readonly modelsSelector: Promise - - constructor(readonly options: PluginOptions) { - this.modelsSelector = IntentModelSelector.build(this.options.locales) - } - - async pre(request: PluginPreRequest): Promise { - try { - const language = request.input.language || request.session.__locale - if (request.input.type == INPUT.TEXT && !request.input.payload) { - const inputText = request.input.data - const classifier = (await this.modelsSelector).select( - language as Locale - ) - const intents = classifier.classify(inputText) - Object.assign(request.input, { intent: intents[0].label, intents }) - } - } catch (e) { - console.error( - `Cannot classify the input: ${JSON.stringify(request.input)}`, - e - ) - } - } - - async post(request: PluginPostRequest): Promise {} -} diff --git a/packages/botonic-plugin-intent-classification/src/model/intent-classifier.ts b/packages/botonic-plugin-intent-classification/src/model/intent-classifier.ts deleted file mode 100644 index 79ec4fae81..0000000000 --- a/packages/botonic-plugin-intent-classification/src/model/intent-classifier.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Preprocessor } from '@botonic/nlp/lib/preprocess/preprocessor' -import { IntentClassifierConfig } from '@botonic/nlp/lib/tasks/intent-classification' -import { Intent } from '@botonic/nlp/lib/tasks/intent-classification/process/prediction-processor' -import type { Tensor2D } from '@tensorflow/tfjs' -import { LayersModel } from '@tensorflow/tfjs' - -import { PredictionProcessor } from '../process/prediction-processor' -import { TextProcessor } from '../process/text-processor' - -export class IntentClassifier { - private readonly textProcessor: TextProcessor - private readonly predictionProcessor: PredictionProcessor - - constructor( - private readonly config: IntentClassifierConfig, - private readonly model: LayersModel - ) { - this.textProcessor = new TextProcessor( - this.config.vocabulary, - new Preprocessor(this.config.locale, this.config.maxLength) - ) - this.predictionProcessor = new PredictionProcessor(this.config.intents) - } - - classify(text: string): Intent[] { - const { input } = this.textProcessor.process(text) - const prediction = this.model.predict(input) as Tensor2D - const intents = this.predictionProcessor.process(prediction) - return intents - } -} diff --git a/packages/botonic-plugin-intent-classification/src/model/model-selector.ts b/packages/botonic-plugin-intent-classification/src/model/model-selector.ts deleted file mode 100644 index 0e7da7469e..0000000000 --- a/packages/botonic-plugin-intent-classification/src/model/model-selector.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { ModelSelector } from '@botonic/nlp/lib/model/model-selector' -import { IntentClassifierConfig } from '@botonic/nlp/lib/tasks/intent-classification' -import { Locale } from '@botonic/nlp/lib/types' -import { LayersModel } from '@tensorflow/tfjs' - -import { IntentClassifier } from './intent-classifier' - -export class IntentModelSelector extends ModelSelector< - IntentClassifier, - IntentClassifierConfig -> { - static async build(locales: Locale[]): Promise { - const baseUrl: string = - (process.env.STATIC_URL && `${process.env.STATIC_URL}/assets/tasks/`) || - // @ts-ignore - (typeof MODELS_BASE_URL !== 'undefined' && MODELS_BASE_URL) || - process.env.MODELS_BASE_URL - const intentModelsUrl = `${baseUrl}/intent-classification/models` - const selector = new IntentModelSelector(locales, intentModelsUrl) - return await selector.load() - } - - protected createModel( - config: IntentClassifierConfig, - model: LayersModel - ): IntentClassifier { - return new IntentClassifier(config, model) - } -} diff --git a/packages/botonic-plugin-intent-classification/src/options.ts b/packages/botonic-plugin-intent-classification/src/options.ts deleted file mode 100644 index 87becec8da..0000000000 --- a/packages/botonic-plugin-intent-classification/src/options.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Locale } from '@botonic/nlp/lib/types' - -export type PluginOptions = { locales: Locale[] } diff --git a/packages/botonic-plugin-intent-classification/src/process/prediction-processor.ts b/packages/botonic-plugin-intent-classification/src/process/prediction-processor.ts deleted file mode 100644 index 168b77b0f6..0000000000 --- a/packages/botonic-plugin-intent-classification/src/process/prediction-processor.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Intent } from '@botonic/nlp/lib/tasks/intent-classification/process/prediction-processor' -import type { Tensor2D } from '@tensorflow/tfjs' - -export class PredictionProcessor { - constructor(private readonly intents: string[]) {} - - process(prediction: Tensor2D): Intent[] { - const confidences = prediction.arraySync()[0] - const intents = this.createIntents(confidences) - return this.sortIntentsByConfidence(intents) - } - - private createIntents(confidences: number[]): Intent[] { - return confidences.map( - (confidence, idx) => new Intent(this.intents[idx], confidence) - ) - } - - private sortIntentsByConfidence(intents: Intent[]): Intent[] { - return intents.sort((a, b) => (a.confidence > b.confidence ? -1 : 1)) - } -} diff --git a/packages/botonic-plugin-intent-classification/src/process/text-processor.ts b/packages/botonic-plugin-intent-classification/src/process/text-processor.ts deleted file mode 100644 index 1bb313aae0..0000000000 --- a/packages/botonic-plugin-intent-classification/src/process/text-processor.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { IndexedItems } from '@botonic/nlp/lib/encode/indexed-items' -import { LabelEncoder } from '@botonic/nlp/lib/encode/label-encoder' -import { - PADDING_TOKEN, - UNKNOWN_TOKEN, -} from '@botonic/nlp/lib/preprocess/constants' -import { Preprocessor } from '@botonic/nlp/lib/preprocess/preprocessor' -import { Tensor2D, tensor2d } from '@tensorflow/tfjs' - -export class TextProcessor { - private readonly encoder: LabelEncoder - - constructor( - readonly vocabulary: string[], - private readonly preprocessor: Preprocessor - ) { - this.encoder = new LabelEncoder(new IndexedItems(this.vocabulary)) - } - - process(text: string): { sequence: string[]; input: Tensor2D } { - const sequence = this.preprocessor.preprocess(text, PADDING_TOKEN) - const maskedSequence = this.encoder.items.maskUnknownItems( - sequence, - UNKNOWN_TOKEN - ) - const encodedSequence = this.encoder.encode(maskedSequence) - const input = tensor2d([encodedSequence]) - return { sequence, input } - } -} diff --git a/packages/botonic-plugin-intent-classification/tests/helper/constants-helper.ts b/packages/botonic-plugin-intent-classification/tests/helper/constants-helper.ts deleted file mode 100644 index 45b5d41ab9..0000000000 --- a/packages/botonic-plugin-intent-classification/tests/helper/constants-helper.ts +++ /dev/null @@ -1,36 +0,0 @@ -export const LOCALE = 'en' -export const MAX_SEQUENCE_LENGTH = 12 - -export const INTENTS = ['buy', 'return', 'availability'] -export const VOCABULARY = [ - '', - '', - 'shirt', - 'not', - 'correct', - 'size', - 'i', - 'want', - 'return', - 'buy', - 'hat', - 'love', - 'brown', - 'can', - 'please', - 'hoodie', - 'a', - 'xl', - 'fit', - 'perfect', - 'l', - 'coat', - 'xs', - 'blue', - 'black', - 's', - 'm', - 'jacket', - 't-shirt', - 'white', -] diff --git a/packages/botonic-plugin-intent-classification/tests/helper/tools-helper.ts b/packages/botonic-plugin-intent-classification/tests/helper/tools-helper.ts deleted file mode 100644 index a2c5ad057f..0000000000 --- a/packages/botonic-plugin-intent-classification/tests/helper/tools-helper.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Preprocessor } from '@botonic/nlp/lib/preprocess' - -import { LOCALE, MAX_SEQUENCE_LENGTH } from './constants-helper' - -export const preprocessor = new Preprocessor(LOCALE, MAX_SEQUENCE_LENGTH) diff --git a/packages/botonic-plugin-intent-classification/tests/process/prediction-processor.test.ts b/packages/botonic-plugin-intent-classification/tests/process/prediction-processor.test.ts deleted file mode 100644 index 806cb28d69..0000000000 --- a/packages/botonic-plugin-intent-classification/tests/process/prediction-processor.test.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { tensor2d } from '@tensorflow/tfjs' - -import { PredictionProcessor } from '../../src/process/prediction-processor' -import * as constantsHelper from '../helper/constants-helper' - -describe('Prediction processor', () => { - test('Process prediction', () => { - const sut = new PredictionProcessor(constantsHelper.INTENTS) - const intents = sut.process(tensor2d([[0.2, 0.7, 0.1]])) - expect(intents.map(i => i.label)).toEqual(['return', 'buy', 'availability']) - }) -}) diff --git a/packages/botonic-plugin-intent-classification/tests/process/text-processor.test.ts b/packages/botonic-plugin-intent-classification/tests/process/text-processor.test.ts deleted file mode 100644 index 93e9102e2e..0000000000 --- a/packages/botonic-plugin-intent-classification/tests/process/text-processor.test.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { PADDING_TOKEN } from '@botonic/nlp/lib/preprocess' -import { tensor2d } from '@tensorflow/tfjs' - -import { TextProcessor } from '../../src/process/text-processor' -import * as constantsHelper from '../helper/constants-helper' -import * as toolsHelper from '../helper/tools-helper' - -describe('Text Processor', () => { - const sut = new TextProcessor( - constantsHelper.VOCABULARY, - toolsHelper.preprocessor - ) - - test.each([ - [ - 'I want to buy this pair of shoes.', - [ - 'want', - 'buy', - 'pair', - 'shoes', - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - ], - [[7, 9, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]], - ], - [ - 'I want to buy this pair of shoes, this t-shirt and also, this jacket. I also want to know if this fur coat is on sale, because I love it!', - [ - 'want', - 'buy', - 'pair', - 'shoes', - 't-shirt', - 'jacket', - 'want', - 'know', - 'fur', - 'coat', - 'sale', - 'love', - ], - [[7, 9, 1, 1, 28, 27, 7, 1, 1, 21, 1, 11]], - ], - ])( - 'Generate sequence and input of text', - (text, expectedSequence, expectedInput) => { - const { sequence, input } = sut.process(text) - expect(sequence).toEqual(expectedSequence) - expect(input.arraySync()).toEqual(expectedInput) - } - ) -}) diff --git a/packages/botonic-plugin-intent-classification/tests/tsconfig.json b/packages/botonic-plugin-intent-classification/tests/tsconfig.json deleted file mode 100644 index a845b9c7e2..0000000000 --- a/packages/botonic-plugin-intent-classification/tests/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -// Only used for verifying the code -// use noEmit to have faster builds (~13s -> 9s) -{ - "extends": "../tsconfig", - // include need to be specified for running tsc on tests - "include": ["**/*.ts", "**/*.tsx", "../src/**/*.ts", "../src/**/*.tsx"], - "compilerOptions": { - "rootDir": "../", - // Options below are for compiling @botonic js/jsx files - "allowJs": true, //when set, jest does not validate types anymore https://github.com/kulshekhar/ts-jest/issues/740#issuecomment-424123303 - "declaration": false, - "declarationDir": null, - "noEmit": true - } -} diff --git a/packages/botonic-plugin-intent-classification/tsconfig.eslint.json b/packages/botonic-plugin-intent-classification/tsconfig.eslint.json deleted file mode 100644 index 6159398625..0000000000 --- a/packages/botonic-plugin-intent-classification/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tests/tsconfig.json", - "include": [".*.js", "*.js", "**/*.ts", "**/*.tsx"] -} diff --git a/packages/botonic-plugin-intent-classification/tsconfig.json b/packages/botonic-plugin-intent-classification/tsconfig.json deleted file mode 100644 index 13439f1196..0000000000 --- a/packages/botonic-plugin-intent-classification/tsconfig.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "include": ["src/**/*.ts", "src/**/*.tsx"], - "compilerOptions": { - "allowUnreachableCode": false, - "baseUrl": "src", - "paths": { - "*": ["src/*", "lib/src/*", "types/*"] - }, - "moduleResolution": "node", - "rootDir": "src", - "outDir": "lib", - "declaration": true, - "declarationDir": "lib", - "sourceMap": true, - "target": "es6", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "strict": false, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitAny": false, - "removeComments": false, - "preserveConstEnums": true, - "lib": ["dom", "es2015"], - "noUnusedLocals": false, - "noImplicitThis": true, - "alwaysStrict": true, - "noUnusedParameters": false, - "pretty": true, - "noFallthroughCasesInSwitch": true - }, - - "types": ["@types/jest"] -} From 987674062d95c9d9df15c9dfa7ccf3459ff62991 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:33:37 +0100 Subject: [PATCH 04/46] chore(botonic): remove botonic-ner package --- packages/botonic-plugin-ner/README.md | 71 - packages/botonic-plugin-ner/jest.config.js | 5 - packages/botonic-plugin-ner/package-lock.json | 2357 ----------------- packages/botonic-plugin-ner/package.json | 38 - packages/botonic-plugin-ner/src/index.ts | 30 - .../src/model/model-selector.ts | 29 - packages/botonic-plugin-ner/src/model/ner.ts | 30 - packages/botonic-plugin-ner/src/options.ts | 3 - .../src/process/prediction-processor.ts | 38 - .../src/process/text-processor.ts | 34 - .../tests/helper/constants-helper.ts | 36 - .../tests/helper/tools-helper.ts | 5 - .../process/prediction-processor.test.ts | 44 - .../tests/process/text-processor.test.ts | 61 - .../botonic-plugin-ner/tests/tsconfig.json | 15 - .../botonic-plugin-ner/tsconfig.eslint.json | 4 - packages/botonic-plugin-ner/tsconfig.json | 34 - 17 files changed, 2834 deletions(-) delete mode 100644 packages/botonic-plugin-ner/README.md delete mode 100644 packages/botonic-plugin-ner/jest.config.js delete mode 100644 packages/botonic-plugin-ner/package-lock.json delete mode 100644 packages/botonic-plugin-ner/package.json delete mode 100644 packages/botonic-plugin-ner/src/index.ts delete mode 100644 packages/botonic-plugin-ner/src/model/model-selector.ts delete mode 100644 packages/botonic-plugin-ner/src/model/ner.ts delete mode 100644 packages/botonic-plugin-ner/src/options.ts delete mode 100644 packages/botonic-plugin-ner/src/process/prediction-processor.ts delete mode 100644 packages/botonic-plugin-ner/src/process/text-processor.ts delete mode 100644 packages/botonic-plugin-ner/tests/helper/constants-helper.ts delete mode 100644 packages/botonic-plugin-ner/tests/helper/tools-helper.ts delete mode 100644 packages/botonic-plugin-ner/tests/process/prediction-processor.test.ts delete mode 100644 packages/botonic-plugin-ner/tests/process/text-processor.test.ts delete mode 100644 packages/botonic-plugin-ner/tests/tsconfig.json delete mode 100644 packages/botonic-plugin-ner/tsconfig.eslint.json delete mode 100644 packages/botonic-plugin-ner/tsconfig.json diff --git a/packages/botonic-plugin-ner/README.md b/packages/botonic-plugin-ner/README.md deleted file mode 100644 index 8df4b76176..0000000000 --- a/packages/botonic-plugin-ner/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# Botonic Plugin NER - -## What does this plugin do? - -Botonic Plugin NER uses the trained models to recognize named entities in the input text. - -## Setup - -### Installing the plugin - -From your project, install the plugin by using the following command: - -```bash -npm install @botonic/plugin-ner -``` - -> **Note**: Windows users should first use the command -> `npm install --global --production windows-build-tools --vs2015` - -### Requiring the plugin - -The plugin must be required in `src/plugins.js` and the locales of the trained models must be defined in their options. - -```javascript -export const plugins = [ - { - id: 'ner', - resolve: require('@botonic/plugin-ner'), - options: { - locales: ['en', 'es'], - }, - }, -] -``` - -## Use - -The plugin has just added the recognized entities. Now you can use them within actions to create better conversational flows: - -```javascript -import { RequestContext, Text } from '@botonic/react' -import React from 'react' - -export default class extends React.Component { - static contextType = RequestContext - - static async botonicInit({ input }) { - return { entities: input.entities } - } - - render() { - const products = this.props.entities.filter(e => e.label == 'product') - if (products.length === 0) { - return ( - <> - Which product do you want to return? - - ) - } else { - return ( - <> - - Do you have the ticket of the products:{' '} - {products.map(e => e.text).join(', ')}? - - - ) - } - } -} -``` diff --git a/packages/botonic-plugin-ner/jest.config.js b/packages/botonic-plugin-ner/jest.config.js deleted file mode 100644 index 2617562f06..0000000000 --- a/packages/botonic-plugin-ner/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}', '!/node_modules/'], - preset: 'ts-jest', - testEnvironment: 'node', -} diff --git a/packages/botonic-plugin-ner/package-lock.json b/packages/botonic-plugin-ner/package-lock.json deleted file mode 100644 index c3d2576366..0000000000 --- a/packages/botonic-plugin-ner/package-lock.json +++ /dev/null @@ -1,2357 +0,0 @@ -{ - "name": "@botonic/plugin-ner", - "version": "0.21.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" - }, - "@babel/core": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", - "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", - "requires": { - "@babel/code-frame": "^7.15.8", - "@babel/generator": "^7.15.8", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.8", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.8", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" - }, - "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==" - }, - "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "@botonic/core": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.20.0.tgz", - "integrity": "sha512-aU6seeU0N0zD2/6/lw8aMsu89hTn4vENjvehnViTiFMkLTl44AXR3CvvDaIMqNVVdDiP+4eSUo2+5igZdfzPfw==", - "requires": { - "aws-sdk": "^2.997.0", - "axios": "^0.24.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.3.2", - "node-json-db": "^1.3.0", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - } - }, - "@botonic/nlp": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@botonic/nlp/-/nlp-0.20.0.tgz", - "integrity": "sha512-5cXIYKwgDtQfjey290vbweL8aYylQnDwnNPXfdH4dTP7Oqv02W/yUcqNhSy21p8jDOGOy8/R+Y15rytgJX2AQA==", - "requires": { - "@nlpjs/lang-de": "^4.22.0", - "@nlpjs/lang-en-min": "^4.22.0", - "@nlpjs/lang-es": "^4.22.0", - "@nlpjs/lang-fr": "^4.22.0", - "@nlpjs/lang-it": "^4.22.0", - "@nlpjs/lang-ru": "^4.22.0", - "@tensorflow/tfjs-node": "^2.8.6", - "axios": "^0.24.0", - "better-sqlite3": "^7.0.1", - "cross-fetch": "^3.1.4", - "js-yaml": "4.1.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@nlpjs/core": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/core/-/core-4.22.0.tgz", - "integrity": "sha512-L7Qb5kP+/ZJ7Wyjoli1nk+SQvvMY0BuuLfYLNvJ2vKL3tMmrSdYBJcXhgmOHEROU6jf4LFgY8VwBpFTsRJV97g==" - }, - "@nlpjs/lang-de": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-de/-/lang-de-4.22.0.tgz", - "integrity": "sha512-GCEYl1jL9fMod9VBmiucEd06mfEc1KGKPECwc5KeLdfAoAsZVm5BzDPxy4qGP7o7WZgwHLXPo0AuqmqFuTxLhQ==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-en-min": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-en-min/-/lang-en-min-4.22.0.tgz", - "integrity": "sha512-kmOH5xTTmUcM1hEPJTmN0v44Jp9ZFbSkrS+w8kjV7rFhGhQgIvifT2pVcBuRS7Ho7RSwT2EMSkyR3EiMohjhDQ==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-es": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-es/-/lang-es-4.22.0.tgz", - "integrity": "sha512-O/16imCVu5hW1a7oSN8OtxiN4wHtv372ka1HBnEjLx7VxNX6XVUiypOiz7Pzawl5hfOwrMM4+LNmK515Pe3jKg==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-fr": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-fr/-/lang-fr-4.22.0.tgz", - "integrity": "sha512-qhooplV3wRJjvnJXypuJGrY5juR4Lps9A3DQ6DhDoqDJq3o7fh4pMG+f/gaEgCzZ159ufOTQSlU0U+ds9vROeg==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-it": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-it/-/lang-it-4.22.0.tgz", - "integrity": "sha512-gMbsBli8ZlPmDWLX8aNbPfIT5KdP4EvuPr+rfZJBoaqG8U0q9Q/gpB3omj0BR1cxOSf51yLUj91Omg2eyT9npg==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@nlpjs/lang-ru": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-ru/-/lang-ru-4.22.0.tgz", - "integrity": "sha512-a9FoXWIern7Nzg6+gfS1PrXtkF/JZzryrPu6dz2JnRC/KStOcH6OrW/a2/SzJ6SWisjbSZ5m7rol4X72I9DGIw==", - "requires": { - "@nlpjs/core": "^4.22.0" - } - }, - "@tensorflow/tfjs": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-2.8.6.tgz", - "integrity": "sha512-/Hk3YCAreNicuQJsAIG32UGHaQj8UwX8y8ZrKVb/CrXOhrRyZmxGSZt9KMVe8MDoydenuGhZCqJUIaWdIKIA5g==", - "requires": { - "@tensorflow/tfjs-backend-cpu": "2.8.6", - "@tensorflow/tfjs-backend-webgl": "2.8.6", - "@tensorflow/tfjs-converter": "2.8.6", - "@tensorflow/tfjs-core": "2.8.6", - "@tensorflow/tfjs-data": "2.8.6", - "@tensorflow/tfjs-layers": "2.8.6", - "argparse": "^1.0.10", - "chalk": "^4.1.0", - "core-js": "3", - "regenerator-runtime": "^0.13.5", - "yargs": "^16.0.3" - } - }, - "@tensorflow/tfjs-backend-cpu": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-2.8.6.tgz", - "integrity": "sha512-x9WTTE9p3Pon2D0d6HH1UCIJsU1w3v9sF3vxJcp+YStrjDefWoW5pwxHCckEKTRra7GWg3CwMKK3Si2dat4H1A==", - "requires": { - "@types/seedrandom": "2.4.27", - "seedrandom": "2.4.3" - } - }, - "@tensorflow/tfjs-backend-webgl": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-2.8.6.tgz", - "integrity": "sha512-kPgm3Dim0Li5MleybYKSZVUCu91ipDjZtTA5RrJx/Dli115qwWdiRGOHYwsIEY61hZoE0m3amjWLUBxtwMW1Nw==", - "requires": { - "@tensorflow/tfjs-backend-cpu": "2.8.6", - "@types/offscreencanvas": "~2019.3.0", - "@types/seedrandom": "2.4.27", - "@types/webgl-ext": "0.0.30", - "@types/webgl2": "0.0.5", - "seedrandom": "2.4.3" - }, - "dependencies": { - "@types/webgl2": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", - "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" - } - } - }, - "@tensorflow/tfjs-converter": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-2.8.6.tgz", - "integrity": "sha512-Uv4YC66qjVC9UwBxz0IeLZ8KS2CReh63WlGRtHcSwDEYiwsa7cvp9H6lFSSPT7kiJmrK6JtHeJGIVcTuNnSt9w==" - }, - "@tensorflow/tfjs-core": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-2.8.6.tgz", - "integrity": "sha512-jS28M1POUOjnWgx3jp1v5D45DUQE8USsAHHkL/01z75KnYCAAmgqJSH4YKLiYACg3eBLWXH/KTcSc6dHAX7Kfg==", - "requires": { - "@types/offscreencanvas": "~2019.3.0", - "@types/seedrandom": "2.4.27", - "@types/webgl-ext": "0.0.30", - "node-fetch": "~2.6.1", - "seedrandom": "2.4.3" - } - }, - "@tensorflow/tfjs-data": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-2.8.6.tgz", - "integrity": "sha512-zoDUfd5TfkYdviqu2bObwyJGXJiOvBckOTP9j36PUs6s+4DbTIDttyxdfeEaiiLX9ZUFU58CoW+3LI/dlFVyoQ==", - "requires": { - "@types/node-fetch": "^2.1.2", - "node-fetch": "~2.6.1" - } - }, - "@tensorflow/tfjs-layers": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.8.6.tgz", - "integrity": "sha512-fdZ0i/R2dIKmy8OB5tBAsm5IbAHfJpI6AlbjxpgoU3aWj1HCdDo+pMji928MkDJhP01ISgFTgw/7PseGNaUflw==" - }, - "@tensorflow/tfjs-node": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-2.8.6.tgz", - "integrity": "sha512-lq7fielTU42K8hyzvbmLTKzp4WqIAdgpWdbUPoHpXDCqTgWGb1UfMaDt/oxBkA7i9DFvyN3cem/tdeQRC95pLA==", - "requires": { - "@tensorflow/tfjs": "2.8.6", - "@tensorflow/tfjs-core": "2.8.6", - "adm-zip": "^0.4.11", - "google-protobuf": "^3.9.2", - "https-proxy-agent": "^2.2.1", - "node-pre-gyp": "0.14.0", - "progress": "^2.0.0", - "rimraf": "^2.6.2", - "tar": "^4.4.6" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "@types/node": { - "version": "16.4.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.6.tgz", - "integrity": "sha512-FKyawK3o5KL16AwbeFajen8G4K3mmqUrQsehn5wNKs8IzlKHE8TfnSmILXVMVziAEcnB23u1RCFU1NT6hSyr7Q==" - }, - "@types/node-fetch": { - "version": "2.5.12", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz", - "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==", - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "@types/offscreencanvas": { - "version": "2019.3.0", - "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", - "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" - }, - "@types/seedrandom": { - "version": "2.4.27", - "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz", - "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE=" - }, - "@types/webgl-ext": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", - "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" - }, - "@types/webgl2": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.6.tgz", - "integrity": "sha512-50GQhDVTq/herLMiqSQkdtRu+d5q/cWHn4VvKJtrj4DJAjo1MNkWYa2MA41BaBO1q1HgsUjuQvEOk0QHvlnAaQ==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "requires": { - "default-require-extensions": "^3.0.0" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" - }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "aws-sdk": { - "version": "2.1016.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1016.0.tgz", - "integrity": "sha512-6QY4sJBMtPzxJdzSMjmf22mASZ9RO7e5QjW4PMYI5PVal+jPdl7h37IbtC7abmWNgMubIQ1SIBoUktRQGIE8tw==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" - } - }, - "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "better-sqlite3": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.4.tgz", - "integrity": "sha512-CnK1JjchxbEumd2J6lqfzSG5nT4B/v+J9P0AKSm3NHSfcPsEGE4rHUp9lDlslJ1TL701RM7GWlTp3Pbacpn1/Q==", - "requires": { - "bindings": "^1.5.0", - "prebuild-install": "^6.1.4", - "tar": "^6.1.11" - }, - "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "browserslist": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz", - "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==", - "requires": { - "caniuse-lite": "^1.0.30001271", - "electron-to-chromium": "^1.3.878", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caniuse-lite": { - "version": "1.0.30001272", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001272.tgz", - "integrity": "sha512-DV1j9Oot5dydyH1v28g25KoVm7l8MTxazwuiH3utWiAS6iL/9Nh//TGwqFEeqqN8nnWYQ8HHhUq+o4QPt9kvYw==" - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "core-js": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", - "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cross-fetch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", - "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", - "requires": { - "node-fetch": "2.6.1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha1-4A4S0/qy1ZsfFg1x51FHS8sZZL8=", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "requires": { - "mimic-response": "^2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "requires": { - "strip-bom": "^4.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "dynamodb-toolbox": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.4.tgz", - "integrity": "sha512-5J4f4EMkcO8jJw/TDAVG4Vy0tlCaDOMYILutPUe1fvTFSuw0QKIYPifY17bAj1QKkx2tB96dLEXNntmWoWvDng==" - }, - "electron-to-chromium": { - "version": "1.3.883", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.883.tgz", - "integrity": "sha512-goyjNx4wB9j911PBteb+AXNbErug7rJVkmDXWdw5SCVn2JlARBwsqucPkvp1h5mXWxHUbBRK3bwXTrqSxSiAIQ==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" - }, - "fast-xml-parser": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.0.tgz", - "integrity": "sha512-6xvgn0YFGK/X6TRMaquooyXM/y60R0ER9DcRK23ckbmbTLThzIeBRFxjgwhdNzCsIzAKcHQAoZMjyHcx9hm/Jg==", - "requires": { - "nyc": "^15.1.0", - "strnum": "^1.0.4" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "follow-redirects": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", - "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" - }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==" - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "google-protobuf": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.19.0.tgz", - "integrity": "sha512-qXGAiv3OOlaJXJNeKOBKxbBAwjsxzhx+12ZdKOkZTsqsRkyiQRmr/nBkAkqnuQ8cmA9X5NVXvObQTpHVnXE2DQ==" - }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - } - }, - "html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "istanbul-reports": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz", - "integrity": "sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha1-HGZJKLCVZOk7mhPms9cgBw+itEk=" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" - }, - "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", - "requires": { - "mime-db": "1.49.0" - } - }, - "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - } - } - }, - "node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", - "requires": { - "semver": "^5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, - "node-json-db": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.4.1.tgz", - "integrity": "sha512-hyfnBtuN3kb88SMmDgVil53Frygx+yYkVi6t10VjpEsPseuMI8+gT+FF37DOcyGCr/1wq6qNIr5PnFimCDlzfA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "requires": { - "process-on-spawn": "^1.0.0" - } - }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - }, - "prebuild-install": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", - "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", - "requires": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.21.0", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "requires": { - "fromentries": "^1.2.0" - } - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "requires": { - "es6-error": "^4.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" - }, - "seedrandom": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz", - "integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "signal-exit": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" - }, - "simple-get": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", - "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", - "requires": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "strnum": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.4.tgz", - "integrity": "sha512-lMzNMfDpaQOLt4B2mEbfzYS0+T7dvCXeojnlGf6f1AygvWDMcWyXYaLbyICfjVu29sErR8fnRagQfBW/N/hGgw==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "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.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } -} diff --git a/packages/botonic-plugin-ner/package.json b/packages/botonic-plugin-ner/package.json deleted file mode 100644 index b90a763760..0000000000 --- a/packages/botonic-plugin-ner/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "@botonic/plugin-ner", - "version": "0.21.0", - "license": "MIT", - "main": "lib/index.js", - "scripts": { - "clean_install": "npm i && npm run-script build", - "cloc": "../../scripts/qa/cloc-package.sh .", - "build": "rm -rf lib && ../../node_modules/.bin/tsc", - "test": "../../node_modules/.bin/jest", - "test_ci": "../../node_modules/.bin/jest --coverage --ci --reporters=default --reporters=jest-junit", - "prepare": "node ../../preinstall.js", - "lint": "npm run lint_core -- --fix", - "lint_ci": "npm run lint_core -- -c ../.eslintrc_slow.js", - "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'" - }, - "dependencies": { - "@babel/runtime": "^7.15.4", - "@botonic/core": "0.21.0", - "@botonic/nlp": "0.21.0", - "@tensorflow/tfjs": "^2.8.6" - }, - "devDependencies": { - "@types/webgl2": "0.0.6" - }, - "resolutions": { - "@types/webgl2": "0.0.6" - }, - "keywords": [ - "bot-framework", - "chatbot", - "conversational-app", - "conversational-ui", - "nlp", - "nlu", - "typescript" - ] -} diff --git a/packages/botonic-plugin-ner/src/index.ts b/packages/botonic-plugin-ner/src/index.ts deleted file mode 100644 index 90cb8f4412..0000000000 --- a/packages/botonic-plugin-ner/src/index.ts +++ /dev/null @@ -1,30 +0,0 @@ -import type { Plugin, PluginPostRequest, PluginPreRequest } from '@botonic/core' -import { INPUT } from '@botonic/core' -import { Locale } from '@botonic/nlp' - -import { NerModelSelector } from './model/model-selector' -import { PluginOptions } from './options' - -export default class BotonicPluginNER implements Plugin { - private modelsSelector: Promise - - constructor(readonly options: PluginOptions) { - this.modelsSelector = NerModelSelector.build(this.options.locales) - } - - async pre(request: PluginPreRequest): Promise { - try { - const language = request.input.language || request.session.__locale - if (request.input.type == INPUT.TEXT && !request.input.payload) { - const inputText = request.input.data - const ner = (await this.modelsSelector).select(language as Locale) - const entities = ner.recognize(inputText) - Object.assign(request.input, { entities }) - } - } catch (e) { - console.log('Cannot recognize entities', e) - } - } - - post(request: PluginPostRequest): void {} -} diff --git a/packages/botonic-plugin-ner/src/model/model-selector.ts b/packages/botonic-plugin-ner/src/model/model-selector.ts deleted file mode 100644 index bf0be085bc..0000000000 --- a/packages/botonic-plugin-ner/src/model/model-selector.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { ModelSelector } from '@botonic/nlp/lib/model/model-selector' -import { NerConfig } from '@botonic/nlp/lib/tasks/ner' -import { Locale } from '@botonic/nlp/lib/types' -import { LayersModel } from '@tensorflow/tfjs' - -import { NamedEntityRecognizer } from './ner' - -export class NerModelSelector extends ModelSelector< - NamedEntityRecognizer, - NerConfig -> { - static async build(locales: Locale[]): Promise { - const baseUrl: string = - (process.env.STATIC_URL && `${process.env.STATIC_URL}/assets/tasks/`) || - // @ts-ignore - (typeof MODELS_BASE_URL !== 'undefined' && MODELS_BASE_URL) || - process.env.MODELS_BASE_URL - const nerModelsUrl = `${baseUrl}/ner/models` - const selector = new NerModelSelector(locales, nerModelsUrl) - return await selector.load() - } - - protected createModel( - config: NerConfig, - model: LayersModel - ): NamedEntityRecognizer { - return new NamedEntityRecognizer(config, model) - } -} diff --git a/packages/botonic-plugin-ner/src/model/ner.ts b/packages/botonic-plugin-ner/src/model/ner.ts deleted file mode 100644 index dcc370ae3e..0000000000 --- a/packages/botonic-plugin-ner/src/model/ner.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Preprocessor } from '@botonic/nlp/lib/preprocess' -import { NerConfig } from '@botonic/nlp/lib/tasks/ner' -import { Entity } from '@botonic/nlp/lib/tasks/ner/process' -import { LayersModel, Tensor3D } from '@tensorflow/tfjs' - -import { PredictionProcessor } from '../process/prediction-processor' -import { TextProcessor } from '../process/text-processor' - -export class NamedEntityRecognizer { - private readonly textProcessor: TextProcessor - private readonly predictionProcessor: PredictionProcessor - - constructor( - private readonly config: NerConfig, - private readonly model: LayersModel - ) { - this.textProcessor = new TextProcessor( - this.config.vocabulary, - new Preprocessor(this.config.locale, this.config.maxLength) - ) - this.predictionProcessor = new PredictionProcessor(this.config.entities) - } - - recognize(text: string): Entity[] { - const { sequence, input } = this.textProcessor.process(text) - const prediction = this.model.predict(input) as Tensor3D - const entities = this.predictionProcessor.process(sequence, prediction) - return entities - } -} diff --git a/packages/botonic-plugin-ner/src/options.ts b/packages/botonic-plugin-ner/src/options.ts deleted file mode 100644 index 87becec8da..0000000000 --- a/packages/botonic-plugin-ner/src/options.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Locale } from '@botonic/nlp/lib/types' - -export type PluginOptions = { locales: Locale[] } diff --git a/packages/botonic-plugin-ner/src/process/prediction-processor.ts b/packages/botonic-plugin-ner/src/process/prediction-processor.ts deleted file mode 100644 index e4a2b23e85..0000000000 --- a/packages/botonic-plugin-ner/src/process/prediction-processor.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { PADDING_TOKEN } from '@botonic/nlp/lib/preprocess/constants' -import { NEUTRAL_ENTITY } from '@botonic/nlp/lib/tasks/ner/process/constants' -import { Entity, Prediction } from '@botonic/nlp/lib/tasks/ner/process/types' -import { Tensor3D } from '@tensorflow/tfjs' -export class PredictionProcessor { - constructor(private readonly entities: string[]) {} - - process(sequence: string[], prediction: Tensor3D): Entity[] { - const confidences = prediction.arraySync()[0] - return this.getEntities(sequence, confidences) - } - - private getEntities(sequence: string[], confidences: number[][]): Entity[] { - const entities = sequence.map((token, idx) => - this.generateEntity(token, confidences[idx]) - ) - return this.filterEntities(entities) - } - - private generateEntity(token: string, confidences: number[]): Entity { - const confidence = Math.max(...confidences) - const label = this.entities[confidences.indexOf(confidence)] - const predictions = this.getPredictions(confidences) - return { text: token, label, confidence, predictions } - } - - private getPredictions(confidences: number[]): Prediction[] { - return confidences.map((c, i) => { - return { label: this.entities[i], confidence: c } - }) - } - - private filterEntities(entities: Entity[]): Entity[] { - return entities.filter( - entity => entity.text != PADDING_TOKEN && entity.label != NEUTRAL_ENTITY - ) - } -} diff --git a/packages/botonic-plugin-ner/src/process/text-processor.ts b/packages/botonic-plugin-ner/src/process/text-processor.ts deleted file mode 100644 index e775f20a1d..0000000000 --- a/packages/botonic-plugin-ner/src/process/text-processor.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { IndexedItems } from '@botonic/nlp/lib/encode/indexed-items' -import { LabelEncoder } from '@botonic/nlp/lib/encode/label-encoder' -import { - PADDING_TOKEN, - UNKNOWN_TOKEN, -} from '@botonic/nlp/lib/preprocess/constants' -import { Preprocessor } from '@botonic/nlp/lib/preprocess/preprocessor' -import { tensor, Tensor2D } from '@tensorflow/tfjs' - -export class TextProcessor { - constructor( - readonly vocabulary: string[], - readonly preprocessor: Preprocessor - ) {} - - process(text: string): { sequence: string[]; input: Tensor2D } { - const sequence = this.preprocessor.preprocess(text, PADDING_TOKEN) - const maskedSequence = this.maskUnknownTokens(sequence) - const encodedSequence = this.encodeSequence(maskedSequence) - const input = tensor([encodedSequence]) as Tensor2D - return { sequence, input } - } - - private maskUnknownTokens(sequence: string[]): string[] { - return sequence.map(token => - this.vocabulary.includes(token) ? token : UNKNOWN_TOKEN - ) - } - - private encodeSequence(sequence: string[]): number[] { - const codifier = new LabelEncoder(new IndexedItems(this.vocabulary)) - return codifier.encode(sequence) - } -} diff --git a/packages/botonic-plugin-ner/tests/helper/constants-helper.ts b/packages/botonic-plugin-ner/tests/helper/constants-helper.ts deleted file mode 100644 index 9efb75d890..0000000000 --- a/packages/botonic-plugin-ner/tests/helper/constants-helper.ts +++ /dev/null @@ -1,36 +0,0 @@ -export const LOCALE = 'en' -export const MAX_SEQUENCE_LENGTH = 12 - -export const ENTITIES = ['O', 'product', 'color', 'material', 'size'] -export const VOCABULARY = [ - '', - '', - 'shirt', - 'not', - 'correct', - 'size', - 'i', - 'want', - 'return', - 'buy', - 'hat', - 'love', - 'brown', - 'can', - 'please', - 'hoodie', - 'a', - 'xl', - 'fit', - 'perfect', - 'l', - 'coat', - 'xs', - 'blue', - 'black', - 's', - 'm', - 'jacket', - 't-shirt', - 'white', -] diff --git a/packages/botonic-plugin-ner/tests/helper/tools-helper.ts b/packages/botonic-plugin-ner/tests/helper/tools-helper.ts deleted file mode 100644 index a2c5ad057f..0000000000 --- a/packages/botonic-plugin-ner/tests/helper/tools-helper.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Preprocessor } from '@botonic/nlp/lib/preprocess' - -import { LOCALE, MAX_SEQUENCE_LENGTH } from './constants-helper' - -export const preprocessor = new Preprocessor(LOCALE, MAX_SEQUENCE_LENGTH) diff --git a/packages/botonic-plugin-ner/tests/process/prediction-processor.test.ts b/packages/botonic-plugin-ner/tests/process/prediction-processor.test.ts deleted file mode 100644 index f560de9207..0000000000 --- a/packages/botonic-plugin-ner/tests/process/prediction-processor.test.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { PADDING_TOKEN } from '@botonic/nlp/lib/preprocess' -import { tensor, Tensor3D } from '@tensorflow/tfjs' - -import { PredictionProcessor } from '../../src/process/prediction-processor' -import * as constantsHelper from '../helper/constants-helper' - -describe('Prediction processor', () => { - test('Process prediction', () => { - const sut = new PredictionProcessor(constantsHelper.ENTITIES) - const entities = sut.process( - [ - 'i', - 'want', - 'buy', - 'pair', - 'shoes', - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - ], - tensor([ - [ - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [0, 1, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - [1, 0, 0, 0], - ], - ]) as Tensor3D - ) - expect(entities.map(entity => entity.label)).toEqual(['product']) - }) -}) diff --git a/packages/botonic-plugin-ner/tests/process/text-processor.test.ts b/packages/botonic-plugin-ner/tests/process/text-processor.test.ts deleted file mode 100644 index c5ef2b0dad..0000000000 --- a/packages/botonic-plugin-ner/tests/process/text-processor.test.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { PADDING_TOKEN } from '@botonic/nlp/lib/preprocess' - -import { TextProcessor } from '../../src/process/text-processor' -import * as constantsHelper from '../helper/constants-helper' -import * as toolsHelper from '../helper/tools-helper' - -// Short and long texts are used for testing because we need to check that the Processor always returns the data with the correct shape. -const SHORT_TEXT = 'I want to buy this pair of shoes.' -const LONG_TEXT = - 'I want to buy this pair of shoes, this t-shirt and also, this jacket. I also want to know if this fur coat is on sale, because I love it!' - -describe('Text Processor', () => { - const sut = new TextProcessor( - constantsHelper.VOCABULARY, - toolsHelper.preprocessor - ) - - test('Generate Sequence and Input of short text', () => { - const { sequence, input } = sut.process(SHORT_TEXT) - expect(sequence.length).toEqual(constantsHelper.MAX_SEQUENCE_LENGTH) - expect(sequence).toEqual([ - 'want', - 'buy', - 'pair', - 'shoes', - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - PADDING_TOKEN, - ]) - expect(input.shape).toEqual([1, constantsHelper.MAX_SEQUENCE_LENGTH]) - expect(input.arraySync()).toEqual([[7, 9, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]) - }) - - test('Generate Sequence and Input of long text', () => { - const { sequence, input } = sut.process(LONG_TEXT) - expect(sequence.length).toEqual(constantsHelper.MAX_SEQUENCE_LENGTH) - expect(sequence).toEqual([ - 'want', - 'buy', - 'pair', - 'shoes', - 't-shirt', - 'jacket', - 'want', - 'know', - 'fur', - 'coat', - 'sale', - 'love', - ]) - expect(input.shape).toEqual([1, constantsHelper.MAX_SEQUENCE_LENGTH]) - expect(input.arraySync()).toEqual([ - [7, 9, 1, 1, 28, 27, 7, 1, 1, 21, 1, 11], - ]) - }) -}) diff --git a/packages/botonic-plugin-ner/tests/tsconfig.json b/packages/botonic-plugin-ner/tests/tsconfig.json deleted file mode 100644 index a845b9c7e2..0000000000 --- a/packages/botonic-plugin-ner/tests/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -// Only used for verifying the code -// use noEmit to have faster builds (~13s -> 9s) -{ - "extends": "../tsconfig", - // include need to be specified for running tsc on tests - "include": ["**/*.ts", "**/*.tsx", "../src/**/*.ts", "../src/**/*.tsx"], - "compilerOptions": { - "rootDir": "../", - // Options below are for compiling @botonic js/jsx files - "allowJs": true, //when set, jest does not validate types anymore https://github.com/kulshekhar/ts-jest/issues/740#issuecomment-424123303 - "declaration": false, - "declarationDir": null, - "noEmit": true - } -} diff --git a/packages/botonic-plugin-ner/tsconfig.eslint.json b/packages/botonic-plugin-ner/tsconfig.eslint.json deleted file mode 100644 index 6159398625..0000000000 --- a/packages/botonic-plugin-ner/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tests/tsconfig.json", - "include": [".*.js", "*.js", "**/*.ts", "**/*.tsx"] -} diff --git a/packages/botonic-plugin-ner/tsconfig.json b/packages/botonic-plugin-ner/tsconfig.json deleted file mode 100644 index 13439f1196..0000000000 --- a/packages/botonic-plugin-ner/tsconfig.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "include": ["src/**/*.ts", "src/**/*.tsx"], - "compilerOptions": { - "allowUnreachableCode": false, - "baseUrl": "src", - "paths": { - "*": ["src/*", "lib/src/*", "types/*"] - }, - "moduleResolution": "node", - "rootDir": "src", - "outDir": "lib", - "declaration": true, - "declarationDir": "lib", - "sourceMap": true, - "target": "es6", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "strict": false, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitAny": false, - "removeComments": false, - "preserveConstEnums": true, - "lib": ["dom", "es2015"], - "noUnusedLocals": false, - "noImplicitThis": true, - "alwaysStrict": true, - "noUnusedParameters": false, - "pretty": true, - "noFallthroughCasesInSwitch": true - }, - - "types": ["@types/jest"] -} From f31589731aa911cea8ff97a86ae4de96db86d857 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:39:38 +0100 Subject: [PATCH 05/46] chore(botonic): remove botonic-pulumi package --- packages/botonic-pulumi/jest.config.js | 21 - packages/botonic-pulumi/package-lock.json | 3544 ----------------- packages/botonic-pulumi/package.json | 41 - .../src/aws/cache-invalidator.ts | 70 - .../src/aws/deployment-stacks.ts | 158 - packages/botonic-pulumi/src/aws/dynamodb.ts | 51 - packages/botonic-pulumi/src/aws/index.ts | 36 - .../src/aws/nlp-models-bucket.ts | 50 - packages/botonic-pulumi/src/aws/policies.ts | 91 - .../botonic-pulumi/src/aws/rest-server.ts | 194 - .../src/aws/sqs-lambda-mapping.ts | 142 - .../src/aws/static-webchat-contents.ts | 388 -- .../src/aws/websocket-server-lambda.ts | 107 - .../src/aws/websocket-server.ts | 152 - packages/botonic-pulumi/src/index.ts | 50 - .../botonic-pulumi/src/pulumi-downloader.ts | 96 - packages/botonic-pulumi/src/pulumi-runner.ts | 300 -- packages/botonic-pulumi/src/system-utils.ts | 32 - .../tests/detect-updated-objects.test.ts | 56 - packages/botonic-pulumi/tsconfig.json | 8 - 20 files changed, 5587 deletions(-) delete mode 100644 packages/botonic-pulumi/jest.config.js delete mode 100644 packages/botonic-pulumi/package-lock.json delete mode 100644 packages/botonic-pulumi/package.json delete mode 100644 packages/botonic-pulumi/src/aws/cache-invalidator.ts delete mode 100644 packages/botonic-pulumi/src/aws/deployment-stacks.ts delete mode 100644 packages/botonic-pulumi/src/aws/dynamodb.ts delete mode 100644 packages/botonic-pulumi/src/aws/index.ts delete mode 100644 packages/botonic-pulumi/src/aws/nlp-models-bucket.ts delete mode 100644 packages/botonic-pulumi/src/aws/policies.ts delete mode 100644 packages/botonic-pulumi/src/aws/rest-server.ts delete mode 100644 packages/botonic-pulumi/src/aws/sqs-lambda-mapping.ts delete mode 100644 packages/botonic-pulumi/src/aws/static-webchat-contents.ts delete mode 100644 packages/botonic-pulumi/src/aws/websocket-server-lambda.ts delete mode 100644 packages/botonic-pulumi/src/aws/websocket-server.ts delete mode 100644 packages/botonic-pulumi/src/index.ts delete mode 100644 packages/botonic-pulumi/src/pulumi-downloader.ts delete mode 100644 packages/botonic-pulumi/src/pulumi-runner.ts delete mode 100644 packages/botonic-pulumi/src/system-utils.ts delete mode 100644 packages/botonic-pulumi/tests/detect-updated-objects.test.ts delete mode 100644 packages/botonic-pulumi/tsconfig.json diff --git a/packages/botonic-pulumi/jest.config.js b/packages/botonic-pulumi/jest.config.js deleted file mode 100644 index a28b769312..0000000000 --- a/packages/botonic-pulumi/jest.config.js +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - testTimeout: 1000000, - roots: [''], - testMatch: [ - '**/tests/**/*.+(ts|tsx|js)', - '**/+(*.)+(spec|test).+(ts|tsx|js)', - ], - transform: { - '^.+\\.(ts|tsx)$': 'ts-jest', - }, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}', '!/node_modules/'], - testPathIgnorePatterns: [ - 'lib', - '.*.d.ts', - 'tests/helpers', - '.*.helper.js', - 'tests/__mocks__', - ], -} diff --git a/packages/botonic-pulumi/package-lock.json b/packages/botonic-pulumi/package-lock.json deleted file mode 100644 index 88a390ce6a..0000000000 --- a/packages/botonic-pulumi/package-lock.json +++ /dev/null @@ -1,3544 +0,0 @@ -{ - "name": "@botonic/pulumi", - "version": "0.21.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@aws-crypto/crc32": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", - "requires": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/ie11-detection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", - "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", - "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/sha256-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", - "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", - "requires": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/sha256-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", - "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", - "requires": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", - "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", - "requires": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-sdk/client-cloudfront": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.370.0.tgz", - "integrity": "sha512-Ch5dx1sq313ogGIHj0Qaz8iSWj005Z7RfmPhG59/fbgu8BPue5vInIDvm92L+UZIfbaR+VS6+kNe9IKH+OJzbg==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.370.0", - "@aws-sdk/credential-provider-node": "3.370.0", - "@aws-sdk/middleware-host-header": "3.370.0", - "@aws-sdk/middleware-logger": "3.370.0", - "@aws-sdk/middleware-recursion-detection": "3.370.0", - "@aws-sdk/middleware-signing": "3.370.0", - "@aws-sdk/middleware-user-agent": "3.370.0", - "@aws-sdk/types": "3.370.0", - "@aws-sdk/util-endpoints": "3.370.0", - "@aws-sdk/util-user-agent-browser": "3.370.0", - "@aws-sdk/util-user-agent-node": "3.370.0", - "@aws-sdk/xml-builder": "3.310.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.2", - "@smithy/middleware-retry": "^1.0.3", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.1.0", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.3", - "@smithy/util-stream": "^1.0.1", - "@smithy/util-utf8": "^1.0.1", - "@smithy/util-waiter": "^1.0.1", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/client-sso": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.370.0.tgz", - "integrity": "sha512-0Ty1iHuzNxMQtN7nahgkZr4Wcu1XvqGfrQniiGdKKif9jG/4elxsQPiydRuQpFqN6b+bg7wPP7crFP1uTxx2KQ==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.370.0", - "@aws-sdk/middleware-logger": "3.370.0", - "@aws-sdk/middleware-recursion-detection": "3.370.0", - "@aws-sdk/middleware-user-agent": "3.370.0", - "@aws-sdk/types": "3.370.0", - "@aws-sdk/util-endpoints": "3.370.0", - "@aws-sdk/util-user-agent-browser": "3.370.0", - "@aws-sdk/util-user-agent-node": "3.370.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.2", - "@smithy/middleware-retry": "^1.0.3", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.1.0", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.3", - "@smithy/util-utf8": "^1.0.1", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/client-sso-oidc": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.370.0.tgz", - "integrity": "sha512-jAYOO74lmVXylQylqkPrjLzxvUnMKw476JCUTvCO6Q8nv3LzCWd76Ihgv/m9Q4M2Tbqi1iP2roVK5bstsXzEjA==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.370.0", - "@aws-sdk/middleware-logger": "3.370.0", - "@aws-sdk/middleware-recursion-detection": "3.370.0", - "@aws-sdk/middleware-user-agent": "3.370.0", - "@aws-sdk/types": "3.370.0", - "@aws-sdk/util-endpoints": "3.370.0", - "@aws-sdk/util-user-agent-browser": "3.370.0", - "@aws-sdk/util-user-agent-node": "3.370.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.2", - "@smithy/middleware-retry": "^1.0.3", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.1.0", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.3", - "@smithy/util-utf8": "^1.0.1", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/client-sts": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.370.0.tgz", - "integrity": "sha512-utFxOPWIzbN+3kc415Je2o4J72hOLNhgR2Gt5EnRSggC3yOnkC4GzauxG8n7n5gZGBX45eyubHyPOXLOIyoqQA==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.370.0", - "@aws-sdk/middleware-host-header": "3.370.0", - "@aws-sdk/middleware-logger": "3.370.0", - "@aws-sdk/middleware-recursion-detection": "3.370.0", - "@aws-sdk/middleware-sdk-sts": "3.370.0", - "@aws-sdk/middleware-signing": "3.370.0", - "@aws-sdk/middleware-user-agent": "3.370.0", - "@aws-sdk/types": "3.370.0", - "@aws-sdk/util-endpoints": "3.370.0", - "@aws-sdk/util-user-agent-browser": "3.370.0", - "@aws-sdk/util-user-agent-node": "3.370.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.2", - "@smithy/middleware-retry": "^1.0.3", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.1.0", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.3", - "@smithy/util-utf8": "^1.0.1", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/credential-provider-env": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.370.0.tgz", - "integrity": "sha512-raR3yP/4GGbKFRPP5hUBNkEmTnzxI9mEc2vJAJrcv4G4J4i/UP6ELiLInQ5eO2/VcV/CeKGZA3t7d1tsJ+jhCg==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/credential-provider-ini": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.370.0.tgz", - "integrity": "sha512-eJyapFKa4NrC9RfTgxlXnXfS9InG/QMEUPPVL+VhG7YS6nKqetC1digOYgivnEeu+XSKE0DJ7uZuXujN2Y7VAQ==", - "requires": { - "@aws-sdk/credential-provider-env": "3.370.0", - "@aws-sdk/credential-provider-process": "3.370.0", - "@aws-sdk/credential-provider-sso": "3.370.0", - "@aws-sdk/credential-provider-web-identity": "3.370.0", - "@aws-sdk/types": "3.370.0", - "@smithy/credential-provider-imds": "^1.0.1", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/credential-provider-node": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.370.0.tgz", - "integrity": "sha512-gkFiotBFKE4Fcn8CzQnMeab9TAR06FEAD02T4ZRYW1xGrBJOowmje9dKqdwQFHSPgnWAP+8HoTA8iwbhTLvjNA==", - "requires": { - "@aws-sdk/credential-provider-env": "3.370.0", - "@aws-sdk/credential-provider-ini": "3.370.0", - "@aws-sdk/credential-provider-process": "3.370.0", - "@aws-sdk/credential-provider-sso": "3.370.0", - "@aws-sdk/credential-provider-web-identity": "3.370.0", - "@aws-sdk/types": "3.370.0", - "@smithy/credential-provider-imds": "^1.0.1", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/credential-provider-process": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.370.0.tgz", - "integrity": "sha512-0BKFFZmUO779Xdw3u7wWnoWhYA4zygxJbgGVSyjkOGBvdkbPSTTcdwT1KFkaQy2kOXYeZPl+usVVRXs+ph4ejg==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/credential-provider-sso": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.370.0.tgz", - "integrity": "sha512-PFroYm5hcPSfC/jkZnCI34QFL3I7WVKveVk6/F3fud/cnP8hp6YjA9NiTNbqdFSzsyoiN/+e5fZgNKih8vVPTA==", - "requires": { - "@aws-sdk/client-sso": "3.370.0", - "@aws-sdk/token-providers": "3.370.0", - "@aws-sdk/types": "3.370.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/credential-provider-web-identity": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.370.0.tgz", - "integrity": "sha512-CFaBMLRudwhjv1sDzybNV93IaT85IwS+L8Wq6VRMa0mro1q9rrWsIZO811eF+k0NEPfgU1dLH+8Vc2qhw4SARQ==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/middleware-host-header": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.370.0.tgz", - "integrity": "sha512-CPXOm/TnOFC7KyXcJglICC7OiA7Kj6mT3ChvEijr56TFOueNHvJdV4aNIFEQy0vGHOWtY12qOWLNto/wYR1BAQ==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@smithy/protocol-http": "^1.1.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/middleware-logger": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.370.0.tgz", - "integrity": "sha512-cQMq9SaZ/ORmTJPCT6VzMML7OxFdQzNkhMAgKpTDl+tdPWynlHF29E5xGoSzROnThHlQPCjogU0NZ8AxI0SWPA==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/middleware-recursion-detection": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.370.0.tgz", - "integrity": "sha512-L7ZF/w0lAAY/GK1khT8VdoU0XB7nWHk51rl/ecAg64J70dHnMOAg8n+5FZ9fBu/xH1FwUlHOkwlodJOgzLJjtg==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@smithy/protocol-http": "^1.1.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/middleware-sdk-sts": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.370.0.tgz", - "integrity": "sha512-ykbsoVy0AJtVbuhAlTAMcaz/tCE3pT8nAp0L7CQQxSoanRCvOux7au0KwMIQVhxgnYid4dWVF6d00SkqU5MXRA==", - "requires": { - "@aws-sdk/middleware-signing": "3.370.0", - "@aws-sdk/types": "3.370.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/middleware-signing": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.370.0.tgz", - "integrity": "sha512-Dwr/RTCWOXdm394wCwICGT2VNOTMRe4IGPsBRJAsM24pm+EEqQzSS3Xu/U/zF4exuxqpMta4wec4QpSarPNTxA==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/protocol-http": "^1.1.0", - "@smithy/signature-v4": "^1.0.1", - "@smithy/types": "^1.1.0", - "@smithy/util-middleware": "^1.0.1", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/middleware-user-agent": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.370.0.tgz", - "integrity": "sha512-2+3SB6MtMAq1+gVXhw0Y3ONXuljorh6ijnxgTpv+uQnBW5jHCUiAS8WDYiDEm7i9euJPbvJfM8WUrSMDMU6Cog==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@aws-sdk/util-endpoints": "3.370.0", - "@smithy/protocol-http": "^1.1.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/token-providers": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.370.0.tgz", - "integrity": "sha512-EyR2ZYr+lJeRiZU2/eLR+mlYU9RXLQvNyGFSAekJKgN13Rpq/h0syzXVFLP/RSod/oZenh/fhVZ2HwlZxuGBtQ==", - "requires": { - "@aws-sdk/client-sso-oidc": "3.370.0", - "@aws-sdk/types": "3.370.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/types": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.357.0.tgz", - "integrity": "sha512-/riCRaXg3p71BeWnShrai0y0QTdXcouPSM0Cn1olZbzTf7s71aLEewrc96qFrL70XhY4XvnxMpqQh+r43XIL3g==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@aws-sdk/util-endpoints": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.370.0.tgz", - "integrity": "sha512-5ltVAnM79nRlywwzZN5i8Jp4tk245OCGkKwwXbnDU+gq7zT3CIOsct1wNZvmpfZEPGt/bv7/NyRcjP+7XNsX/g==", - "requires": { - "@aws-sdk/types": "3.370.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/util-locate-window": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", - "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@aws-sdk/util-user-agent-browser": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.370.0.tgz", - "integrity": "sha512-028LxYZMQ0DANKhW+AKFQslkScZUeYlPmSphrCIXgdIItRZh6ZJHGzE7J/jDsEntZOrZJsjI4z0zZ5W2idj04w==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@smithy/types": "^1.1.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/util-user-agent-node": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.370.0.tgz", - "integrity": "sha512-33vxZUp8vxTT/DGYIR3PivQm07sSRGWI+4fCv63Rt7Q++fO24E0kQtmVAlikRY810I10poD6rwILVtITtFSzkg==", - "requires": { - "@aws-sdk/types": "3.370.0", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - } - } - }, - "@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", - "requires": { - "tslib": "^2.3.1" - } - }, - "@aws-sdk/xml-builder": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.310.0.tgz", - "integrity": "sha512-TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@grpc/grpc-js": { - "version": "1.8.18", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.18.tgz", - "integrity": "sha512-2uWPtxhsXmVgd8WzDhfamSjHpZDXfMjMDciY6VRTq4Sn7rFzazyf0LLDa0oav+61UHIoEZb4KKaAV6S7NuJFbQ==", - "requires": { - "@grpc/proto-loader": "^0.7.0", - "@types/node": ">=12.12.47" - } - }, - "@grpc/proto-loader": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.8.tgz", - "integrity": "sha512-GU12e2c8dmdXb7XUlOgYWZ2o2i+z9/VeACkxTA/zzAe2IjclC5PnVL0lpgjhrqfpDYHzM8B1TF6pqWegMYAzlA==", - "requires": { - "@types/long": "^4.0.1", - "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", - "protobufjs": "^7.2.4", - "yargs": "^17.7.2" - }, - "dependencies": { - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - } - }, - "@logdna/tail-file": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@logdna/tail-file/-/tail-file-2.2.0.tgz", - "integrity": "sha512-XGSsWDweP80Fks16lwkAUIr54ICyBs6PsI4mpfTLQaWgEJRtY9xEV+PeyDpJ+sJEGZxqINlpmAwe/6tS1pP8Ng==" - }, - "@opentelemetry/api": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz", - "integrity": "sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==" - }, - "@opentelemetry/api-metrics": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.32.0.tgz", - "integrity": "sha512-g1WLhpG8B6iuDyZJFRGsR+JKyZ94m5LEmY2f+duEJ9Xb4XRlLHrZvh6G34OH6GJ8iDHxfHb/sWjJ1ZpkI9yGMQ==", - "requires": { - "@opentelemetry/api": "^1.0.0" - } - }, - "@opentelemetry/context-async-hooks": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.15.0.tgz", - "integrity": "sha512-sfxQOyAyV3WsKswGX0Yx3P+e7t3EtxpF/PC+6e4+rqs88oUfTaP3214iz4GQuuzV9yCG8DRWTZ96J6E/iD0qeA==", - "requires": { - "tslib": "^2.3.1" - } - }, - "@opentelemetry/core": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.15.0.tgz", - "integrity": "sha512-GGTS6BytfaN8OgbCUOnxg/a9WVsVUj0484zXHZuBzvIXx7V4Tmkb0IHnnhS7Q0cBLNLgjNuvrCpQaP8fIvO4bg==", - "requires": { - "@opentelemetry/semantic-conventions": "1.15.0", - "tslib": "^2.3.1" - } - }, - "@opentelemetry/exporter-zipkin": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.15.0.tgz", - "integrity": "sha512-vBE8vingVgT9jD8M2WTzhsSnkN0XPR5zEZeoy0KZzt+0g2tRyvb7qWVGucadU+nIq4Z3vhUoN855ZuInE+YJgQ==", - "requires": { - "@opentelemetry/core": "1.15.0", - "@opentelemetry/resources": "1.15.0", - "@opentelemetry/sdk-trace-base": "1.15.0", - "@opentelemetry/semantic-conventions": "1.15.0", - "tslib": "^2.3.1" - } - }, - "@opentelemetry/instrumentation": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.32.0.tgz", - "integrity": "sha512-y6ADjHpkUz/v1nkyyYjsQa/zorhX+0qVGpFvXMcbjU4sHnBnC02c6wcc93sIgZfiQClIWo45TGku1KQxJ5UUbQ==", - "requires": { - "@opentelemetry/api-metrics": "0.32.0", - "require-in-the-middle": "^5.0.3", - "semver": "^7.3.2", - "shimmer": "^1.2.1" - } - }, - "@opentelemetry/instrumentation-grpc": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.32.0.tgz", - "integrity": "sha512-Az6wdkPx/Mi26lT9LKFV6GhCA9prwQFPz5eCNSExTnSP49YhQ7XCjzPd2POPeLKt84ICitrBMdE1mj0zbPdLAQ==", - "requires": { - "@opentelemetry/api-metrics": "0.32.0", - "@opentelemetry/instrumentation": "0.32.0", - "@opentelemetry/semantic-conventions": "1.6.0" - }, - "dependencies": { - "@opentelemetry/semantic-conventions": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz", - "integrity": "sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ==" - } - } - }, - "@opentelemetry/propagator-b3": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.15.0.tgz", - "integrity": "sha512-YafSIITpCmo76VdlJ/GvS5x+uuRWCU5BqCOV9CITi11Tk4aqTxMR3pXlMoPYQWstUUgacQf4dGcdvdS+1rkDWQ==", - "requires": { - "@opentelemetry/core": "1.15.0", - "tslib": "^2.3.1" - } - }, - "@opentelemetry/propagator-jaeger": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.15.0.tgz", - "integrity": "sha512-OU6WNxuqjxNZoRcIBCsmvTBktAPuBUj1bh+DI+oYAvzwP2NXLavSDJWjVMGTJQDgZuR7lFijmx9EfwyAO9x37Q==", - "requires": { - "@opentelemetry/core": "1.15.0", - "tslib": "^2.3.1" - } - }, - "@opentelemetry/resources": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.15.0.tgz", - "integrity": "sha512-Sb8A6ZXHXDlgHv32UNRE3y8McWE3vkb5dsSttYArYa5ZpwjiF5ge0vnnKUUnG7bY0AgF9VBIOORZE8gsrnD2WA==", - "requires": { - "@opentelemetry/core": "1.15.0", - "@opentelemetry/semantic-conventions": "1.15.0", - "tslib": "^2.3.1" - } - }, - "@opentelemetry/sdk-trace-base": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.0.tgz", - "integrity": "sha512-udt1c9VHipbZwvCPIQR1VLg25Z4AMR/g0X8KmcInbFruGWQ/lptVPkz3yvWAsGSta5yHNQ3uoPwcyCygGnQ6Lg==", - "requires": { - "@opentelemetry/core": "1.15.0", - "@opentelemetry/resources": "1.15.0", - "@opentelemetry/semantic-conventions": "1.15.0", - "tslib": "^2.3.1" - } - }, - "@opentelemetry/sdk-trace-node": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.15.0.tgz", - "integrity": "sha512-TKBx9oThZUVKkoGpXhFT/XUgpjq28TWwc6j3JlsL+cJX77DKBnVC+2H+kdVVJHRzyfqDx4LEJJVCwQO3K+cbXA==", - "requires": { - "@opentelemetry/context-async-hooks": "1.15.0", - "@opentelemetry/core": "1.15.0", - "@opentelemetry/propagator-b3": "1.15.0", - "@opentelemetry/propagator-jaeger": "1.15.0", - "@opentelemetry/sdk-trace-base": "1.15.0", - "semver": "^7.5.1", - "tslib": "^2.3.1" - } - }, - "@opentelemetry/semantic-conventions": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.0.tgz", - "integrity": "sha512-f3wwFrFyCpGrFBrFs7lCUJSCSCGyeKG52c+EKeobs3Dd29M75yO6GYkt6PkYPfDawxSlV5p+4yJPPk8tPObzTQ==", - "requires": { - "tslib": "^2.3.1" - } - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "@pulumi/aws": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@pulumi/aws/-/aws-4.25.0.tgz", - "integrity": "sha512-CcK1zc3Exv77QGxxsGatMv3tuY1dMAdzDDbb7MpHrPHwEx2mo2hi6SX9nSdXepeSw6eH1N2NQEJx7zbQnpun+A==", - "requires": { - "@pulumi/pulumi": "^3.0.0", - "aws-sdk": "^2.0.0", - "builtin-modules": "3.0.0", - "mime": "^2.0.0", - "read-package-tree": "^5.2.1", - "resolve": "^1.7.1" - } - }, - "@pulumi/awsx": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/@pulumi/awsx/-/awsx-0.40.1.tgz", - "integrity": "sha512-ws5pIxq4tghP6keXBHaSMhuEY0mcxD7kO31rJDjgRL10bqnRGTtblXssULEYMM0dQWTfxXhSeXGwWKSTkalLIw==", - "requires": { - "@pulumi/docker": "^3.0.0", - "@types/aws-lambda": "8.10.93", - "mime": "^2.0.0" - } - }, - "@pulumi/docker": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@pulumi/docker/-/docker-3.6.1.tgz", - "integrity": "sha512-BZME50QkT556v+LvmTXPT8ssB2xxNkp9+msB5xYFEnUnWcdGAx5yUysQw70RJCb+U0GbkJSbxtlgMJgOQf/now==", - "requires": { - "@pulumi/pulumi": "^3.0.0", - "semver": "^5.4.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@pulumi/pulumi": { - "version": "3.73.0", - "resolved": "https://registry.npmjs.org/@pulumi/pulumi/-/pulumi-3.73.0.tgz", - "integrity": "sha512-Yln/3jeIW3G6VM3zZgF53twPC/Mzfwy4LkDxI5kaWppeB+34TmbCJJeq309dT1IvGWUpN33Sndu/81ouP3cmfg==", - "requires": { - "@grpc/grpc-js": "^1.3.8", - "@logdna/tail-file": "^2.0.6", - "@opentelemetry/api": "^1.2.0", - "@opentelemetry/exporter-zipkin": "^1.6.0", - "@opentelemetry/instrumentation-grpc": "^0.32.0", - "@opentelemetry/resources": "^1.6.0", - "@opentelemetry/sdk-trace-base": "^1.6.0", - "@opentelemetry/sdk-trace-node": "^1.6.0", - "@opentelemetry/semantic-conventions": "^1.6.0", - "@pulumi/query": "^0.3.0", - "execa": "^5.1.0", - "google-protobuf": "^3.5.0", - "ini": "^2.0.0", - "js-yaml": "^3.14.0", - "minimist": "^1.2.6", - "normalize-package-data": "^3.0.0", - "read-package-tree": "^5.3.1", - "require-from-string": "^2.0.1", - "semver": "^7.5.2", - "source-map-support": "^0.5.6", - "ts-node": "^7.0.1", - "typescript": "~3.8.3", - "upath": "^1.1.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - } - } - }, - "@pulumi/query": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@pulumi/query/-/query-0.3.0.tgz", - "integrity": "sha512-xfo+yLRM2zVjVEA4p23IjQWzyWl1ZhWOGobsBqRpIarzLvwNH/RAGaoehdxlhx4X92302DrpdIFgTICMN4P38w==" - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" - }, - "@smithy/abort-controller": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-1.1.0.tgz", - "integrity": "sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ==", - "requires": { - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/config-resolver": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-1.1.0.tgz", - "integrity": "sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w==", - "requires": { - "@smithy/types": "^1.2.0", - "@smithy/util-config-provider": "^1.1.0", - "@smithy/util-middleware": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/credential-provider-imds": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-1.1.0.tgz", - "integrity": "sha512-kUMOdEu3RP6ozH0Ga8OeMP8gSkBsK1UqZZKyPLFnpZHrtZuHSSt7M7gsHYB/bYQBZAo3o7qrGmRty3BubYtYxQ==", - "requires": { - "@smithy/node-config-provider": "^1.1.0", - "@smithy/property-provider": "^1.2.0", - "@smithy/types": "^1.2.0", - "@smithy/url-parser": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/eventstream-codec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-1.1.0.tgz", - "integrity": "sha512-3tEbUb8t8an226jKB6V/Q2XU/J53lCwCzULuBPEaF4JjSh+FlCMp7TmogE/Aij5J9DwlsZ4VAD/IRDuQ/0ZtMw==", - "requires": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^1.2.0", - "@smithy/util-hex-encoding": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/fetch-http-handler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-1.1.0.tgz", - "integrity": "sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg==", - "requires": { - "@smithy/protocol-http": "^1.2.0", - "@smithy/querystring-builder": "^1.1.0", - "@smithy/types": "^1.2.0", - "@smithy/util-base64": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/hash-node": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-1.1.0.tgz", - "integrity": "sha512-yiNKDGMzrQjnpnbLfkYKo+HwIxmBAsv0AI++QIJwvhfkLpUTBylelkv6oo78/YqZZS6h+bGfl0gILJsKE2wAKQ==", - "requires": { - "@smithy/types": "^1.2.0", - "@smithy/util-buffer-from": "^1.1.0", - "@smithy/util-utf8": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/invalid-dependency": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-1.1.0.tgz", - "integrity": "sha512-h2rXn68ClTwzPXYzEUNkz+0B/A0Hz8YdFNTiEwlxkwzkETGKMxmsrQGFXwYm3jd736R5vkXcClXz1ddKrsaBEQ==", - "requires": { - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/is-array-buffer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-1.1.0.tgz", - "integrity": "sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/middleware-content-length": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-1.1.0.tgz", - "integrity": "sha512-iNxwhZ7Xc5+LjeDElEOi/Nh8fFsc9Dw9+5w7h7/GLFIU0RgAwBJuJtcP1vNTOwzW4B3hG+gRu8sQLqA9OEaTwA==", - "requires": { - "@smithy/protocol-http": "^1.2.0", - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/middleware-endpoint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-1.1.0.tgz", - "integrity": "sha512-PvpazNjVpxX2ICrzoFYCpFnjB39DKCpZds8lRpAB3p6HGrx6QHBaNvOzVhJGBf0jcAbfCdc5/W0n9z8VWaSSww==", - "requires": { - "@smithy/middleware-serde": "^1.1.0", - "@smithy/types": "^1.2.0", - "@smithy/url-parser": "^1.1.0", - "@smithy/util-middleware": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/middleware-retry": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-1.1.0.tgz", - "integrity": "sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw==", - "requires": { - "@smithy/protocol-http": "^1.2.0", - "@smithy/service-error-classification": "^1.1.0", - "@smithy/types": "^1.2.0", - "@smithy/util-middleware": "^1.1.0", - "@smithy/util-retry": "^1.1.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - } - }, - "@smithy/middleware-serde": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-1.1.0.tgz", - "integrity": "sha512-RiBMxhxuO9VTjHsjJvhzViyceoLhU6gtrnJGpAXY43wE49IstXIGEQz8MT50/hOq5EumX16FCpup0r5DVyfqNQ==", - "requires": { - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/middleware-stack": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-1.1.0.tgz", - "integrity": "sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/node-config-provider": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-1.1.0.tgz", - "integrity": "sha512-2G4TlzUnmTrUY26VKTonQqydwb+gtM/mcl+TqDP8CnWtJKVL8ElPpKgLGScP04bPIRY9x2/10lDdoaRXDqPuCw==", - "requires": { - "@smithy/property-provider": "^1.2.0", - "@smithy/shared-ini-file-loader": "^1.1.0", - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/node-http-handler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-1.1.0.tgz", - "integrity": "sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg==", - "requires": { - "@smithy/abort-controller": "^1.1.0", - "@smithy/protocol-http": "^1.2.0", - "@smithy/querystring-builder": "^1.1.0", - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/property-provider": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-1.2.0.tgz", - "integrity": "sha512-qlJd9gT751i4T0t/hJAyNGfESfi08Fek8QiLcysoKPgR05qHhG0OYhlaCJHhpXy4ECW0lHyjvFM1smrCLIXVfw==", - "requires": { - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/protocol-http": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.2.0.tgz", - "integrity": "sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==", - "requires": { - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/querystring-builder": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-1.1.0.tgz", - "integrity": "sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA==", - "requires": { - "@smithy/types": "^1.2.0", - "@smithy/util-uri-escape": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/querystring-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-1.1.0.tgz", - "integrity": "sha512-Lm/FZu2qW3XX+kZ4WPwr+7aAeHf1Lm84UjNkKyBu16XbmEV7ukfhXni2aIwS2rcVf8Yv5E7wchGGpOFldj9V4Q==", - "requires": { - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/service-error-classification": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-1.1.0.tgz", - "integrity": "sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww==" - }, - "@smithy/shared-ini-file-loader": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-1.1.0.tgz", - "integrity": "sha512-S/v33zvCWzFyGZGlsEF0XsZtNNR281UhR7byk3nRfsgw5lGpg51rK/zjMgulM+h6NSuXaFILaYrw1I1v4kMcuA==", - "requires": { - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/signature-v4": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-1.1.0.tgz", - "integrity": "sha512-fDo3m7YqXBs7neciOePPd/X9LPm5QLlDMdIC4m1H6dgNLnXfLMFNIxEfPyohGA8VW9Wn4X8lygnPSGxDZSmp0Q==", - "requires": { - "@smithy/eventstream-codec": "^1.1.0", - "@smithy/is-array-buffer": "^1.1.0", - "@smithy/types": "^1.2.0", - "@smithy/util-hex-encoding": "^1.1.0", - "@smithy/util-middleware": "^1.1.0", - "@smithy/util-uri-escape": "^1.1.0", - "@smithy/util-utf8": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/smithy-client": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-1.1.0.tgz", - "integrity": "sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==", - "requires": { - "@smithy/middleware-stack": "^1.1.0", - "@smithy/types": "^1.2.0", - "@smithy/util-stream": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/types": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.2.0.tgz", - "integrity": "sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/url-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-1.1.0.tgz", - "integrity": "sha512-tpvi761kzboiLNGEWczuybMPCJh6WHB3cz9gWAG95mSyaKXmmX8ZcMxoV+irZfxDqLwZVJ22XTumu32S7Ow8aQ==", - "requires": { - "@smithy/querystring-parser": "^1.1.0", - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-base64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-1.1.0.tgz", - "integrity": "sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g==", - "requires": { - "@smithy/util-buffer-from": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-body-length-browser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-1.1.0.tgz", - "integrity": "sha512-cep3ioRxzRZ2Jbp3Kly7gy6iNVefYXiT6ETt8W01RQr3uwi1YMkrbU1p3lMR4KhX/91Nrk6UOgX1RH+oIt48RQ==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-body-length-node": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-1.1.0.tgz", - "integrity": "sha512-fRHRjkUuT5em4HZoshySXmB1n3HAU7IS232s+qU4TicexhyGJpXMK/2+c56ePOIa1FOK2tV1Q3J/7Mae35QVSw==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-buffer-from": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-1.1.0.tgz", - "integrity": "sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw==", - "requires": { - "@smithy/is-array-buffer": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-config-provider": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-1.1.0.tgz", - "integrity": "sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-defaults-mode-browser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-1.1.0.tgz", - "integrity": "sha512-0bWhs1e412bfC5gwPCMe8Zbz0J8UoZ/meEQdo6MYj8Ne+c+QZ+KxVjx0a1dFYOclvM33SslL9dP0odn8kfblkg==", - "requires": { - "@smithy/property-provider": "^1.2.0", - "@smithy/types": "^1.2.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-defaults-mode-node": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-1.1.0.tgz", - "integrity": "sha512-440e25TUH2b+TeK5CwsjYFrI9ShVOgA31CoxCKiv4ncSK4ZM68XW5opYxQmzMbRWARGEMu2XEUeBmOgMU2RLsw==", - "requires": { - "@smithy/config-resolver": "^1.1.0", - "@smithy/credential-provider-imds": "^1.1.0", - "@smithy/node-config-provider": "^1.1.0", - "@smithy/property-provider": "^1.2.0", - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-hex-encoding": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-1.1.0.tgz", - "integrity": "sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-middleware": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-1.1.0.tgz", - "integrity": "sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-retry": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-1.1.0.tgz", - "integrity": "sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==", - "requires": { - "@smithy/service-error-classification": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-1.1.0.tgz", - "integrity": "sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA==", - "requires": { - "@smithy/fetch-http-handler": "^1.1.0", - "@smithy/node-http-handler": "^1.1.0", - "@smithy/types": "^1.2.0", - "@smithy/util-base64": "^1.1.0", - "@smithy/util-buffer-from": "^1.1.0", - "@smithy/util-hex-encoding": "^1.1.0", - "@smithy/util-utf8": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-uri-escape": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-1.1.0.tgz", - "integrity": "sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@smithy/util-utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-1.1.0.tgz", - "integrity": "sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==", - "requires": { - "@smithy/util-buffer-from": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@smithy/util-waiter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-1.1.0.tgz", - "integrity": "sha512-S6FNIB3UJT+5Efd/0DeziO5Rs82QAMODHW4v2V3oNRrwaBigY/7Yx3SiLudZuF9WpVsV08Ih3BjIH34nzZiinQ==", - "requires": { - "@smithy/abort-controller": "^1.1.0", - "@smithy/types": "^1.2.0", - "tslib": "^2.5.0" - } - }, - "@types/aws-lambda": { - "version": "8.10.93", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.93.tgz", - "integrity": "sha512-Vsyi9ogDAY3REZDjYnXMRJJa62SDvxHXxJI5nGDQdZW058dDE+av/anynN2rLKbCKXDRNw3D/sQmqxVflZFi4A==" - }, - "@types/concurrently": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@types/concurrently/-/concurrently-6.2.1.tgz", - "integrity": "sha512-l+AH7GuHYSgIYoXAufh7P9/oYzRobM+m863XobAARzFiafcGdCjMQQ1grLbVc69+AJTBbO3S8mtt2UPsipk6WA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/decompress": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", - "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/download": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@types/download/-/download-8.0.1.tgz", - "integrity": "sha512-t5DjMD6Y1DxjXtEHl7Kt+nQn9rOmVLYD8p4Swrcc5QpgyqyqR2gXTIK6RwwMnNeFJ+ZIiIW789fQKzCrK7AOFA==", - "dev": true, - "requires": { - "@types/decompress": "*", - "@types/got": "^8", - "@types/node": "*" - } - }, - "@types/got": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@types/got/-/got-8.3.6.tgz", - "integrity": "sha512-nvLlj+831dhdm4LR2Ly+HTpdLyBaMynoOr6wpIxS19d/bPeHQxFU5XQ6Gp6ohBpxvCWZM1uHQIC2+ySRH1rGrQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, - "@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", - "dev": true - }, - "@types/minipass": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-3.1.0.tgz", - "integrity": "sha512-b2yPKwCrB8x9SB65kcCistMoe3wrYnxxt5rJSZ1kprw0uOXvhuKi9kTQ746Y+Pbqoh+9C0N4zt0ztmTnG9yg7A==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "15.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", - "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==" - }, - "@types/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==", - "dev": true - }, - "@types/tar": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-4.0.5.tgz", - "integrity": "sha512-cgwPhNEabHaZcYIy5xeMtux2EmYBitfqEceBUi2t5+ETy4dW6kswt6WX4+HqLeiiKOo42EXbGiDmVJ2x+vi37Q==", - "dev": true, - "requires": { - "@types/minipass": "*", - "@types/node": "*" - } - }, - "@vendia/serverless-express": { - "version": "4.10.4", - "resolved": "https://registry.npmjs.org/@vendia/serverless-express/-/serverless-express-4.10.4.tgz", - "integrity": "sha512-OH2cX+LqtrayCIkHAkShiLnvrgqGDvwIQEex5dHc/uJitBQjIz3q7dZtfU7cZ5vcR9Vkide5xJQDBEMbXoWLeA==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", - "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", - "requires": { - "file-type": "^4.2.0" - }, - "dependencies": { - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" - } - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "aws-sdk": { - "version": "2.1009.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1009.0.tgz", - "integrity": "sha512-qKbmt+vzQ7ZSnfEvA+u6d7CkV09AcAGnxZAiNgOAEn8GFFEtERy6C39VoAuWfON/B2avJDYvtRocjVmAxWpgjQ==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" - }, - "dependencies": { - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - } - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "builtin-modules": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz", - "integrity": "sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==" - }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concurrently": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz", - "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==", - "requires": { - "chalk": "^4.1.0", - "date-fns": "^2.16.1", - "lodash": "^4.17.21", - "rxjs": "^6.6.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^16.2.0" - } - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "date-fns": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", - "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - } - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" - }, - "download": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/download/-/download-8.0.0.tgz", - "integrity": "sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA==", - "requires": { - "archive-type": "^4.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.2.1", - "ext-name": "^5.0.0", - "file-type": "^11.1.0", - "filenamify": "^3.0.0", - "get-stream": "^4.1.0", - "got": "^8.3.1", - "make-dir": "^2.1.0", - "p-event": "^2.1.0", - "pify": "^4.0.1" - }, - "dependencies": { - "file-type": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-11.1.0.tgz", - "integrity": "sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g==" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "es-abstract": { - "version": "1.18.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz", - "integrity": "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-string": "^1.0.7", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - } - } - }, - "ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "requires": { - "mime-db": "^1.28.0" - } - }, - "ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "requires": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - } - }, - "fast-xml-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", - "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", - "requires": { - "strnum": "^1.0.5" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "requires": { - "pend": "~1.2.0" - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" - }, - "filenamify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-3.0.0.tgz", - "integrity": "sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g==", - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "google-protobuf": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz", - "integrity": "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==" - }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" - }, - "is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" - }, - "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "module-details-from-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", - "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "dependencies": { - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "requires": { - "is-plain-obj": "^1.0.0" - } - } - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" - }, - "p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "requires": { - "p-timeout": "^2.0.1" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "requires": { - "p-finally": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "protobufjs": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.4.tgz", - "integrity": "sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==", - "requires": { - "@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/node": ">=13.7.0", - "long": "^5.0.0" - }, - "dependencies": { - "long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "read-package-json": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", - "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", - "requires": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" - } - }, - "read-package-tree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", - "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", - "requires": { - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "util-promisify": "^2.1.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "require-in-the-middle": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.2.0.tgz", - "integrity": "sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==", - "requires": { - "debug": "^4.1.1", - "module-details-from-path": "^1.0.3", - "resolve": "^1.22.1" - }, - "dependencies": { - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "requires": { - "has": "^1.0.3" - } - }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" - }, - "seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "requires": { - "commander": "^2.8.1" - } - }, - "semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shimmer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", - "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", - "requires": { - "sort-keys": "^1.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==" - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", - "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "ts-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", - "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", - "requires": { - "arrify": "^1.0.0", - "buffer-from": "^1.1.0", - "diff": "^3.1.0", - "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.6", - "yn": "^2.0.0" - } - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" - }, - "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util-promisify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", - "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", - "requires": { - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "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.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==" - } - } -} diff --git a/packages/botonic-pulumi/package.json b/packages/botonic-pulumi/package.json deleted file mode 100644 index ba7d29f36b..0000000000 --- a/packages/botonic-pulumi/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "@botonic/pulumi", - "version": "0.21.0", - "scripts": { - "prepublishOnly": "npm run build", - "build": "rm -rf lib && ../../node_modules/.bin/tsc", - "build:watch": "rm -rf lib && ../../node_modules/.bin/tsc -w", - "lint": "npm run lint-core -- --fix", - "lint-ci": "npm run lint-core -- -c ../.eslintrc_slow.js", - "lint-core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'", - "test": "../../node_modules/.bin/jest --coverage", - "test-ci": "../../node_modules/.bin/jest --coverage --ci --reporters=default --reporters=jest-junit" - }, - "devDependencies": { - "@types/concurrently": "^6.2.0", - "@types/decompress": "^4.2.3", - "@types/download": "^8.0.0", - "@types/mime": "^2.0.3", - "@types/node": "^15.12.2", - "@types/semver": "^7.3.6", - "@types/tar": "^4.0.4" - }, - "engines": { - "node": ">=12" - }, - "dependencies": { - "@aws-sdk/client-cloudfront": "^3.370.0", - "@aws-sdk/types": "^3.357.0", - "@pulumi/aws": "^4.14.0", - "@pulumi/awsx": "^0.40.1", - "@pulumi/pulumi": "^3.73.0", - "@vendia/serverless-express": "^4.10.4", - "concurrently": "^6.5.1", - "decompress": "^4.2.1", - "download": "^8.0.0", - "mime": "^2.6.0", - "semver": "^7.5.3", - "tar": "^6.1.15" - }, - "main": "./lib/index.js" -} diff --git a/packages/botonic-pulumi/src/aws/cache-invalidator.ts b/packages/botonic-pulumi/src/aws/cache-invalidator.ts deleted file mode 100644 index bd9fa6017c..0000000000 --- a/packages/botonic-pulumi/src/aws/cache-invalidator.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { CloudFront, CloudFrontClientConfig } from '@aws-sdk/client-cloudfront' -import { Credentials } from '@aws-sdk/types' - -import { AWSCredentials } from '../pulumi-runner' - -export const INVALIDATION_PATH_PREFIX = '/' -export class CacheInvalidator { - client: CloudFront - constructor(awsConfig: AWSCredentials) { - const cfClientConfig: CloudFrontClientConfig = { - region: awsConfig.region, - } - const credentials = this.resolveCredentials(awsConfig) - if (credentials) cfClientConfig.credentials = credentials - this.client = new CloudFront(cfClientConfig) - } - - resolveCredentials(awsConfig: AWSCredentials): Credentials | undefined { - const credentials = {} - if (awsConfig.accessKey && awsConfig.secretKey) { - credentials['accessKeyId'] = awsConfig.accessKey - credentials['secretAccessKey'] = awsConfig.secretKey - } - if (awsConfig.token) { - credentials['sessionToken'] = awsConfig.token - } - if (Object.keys(credentials).length > 0) { - return credentials as Credentials - } - return undefined - } - - async invalidateBucketObjects( - distributionId: string, - pathPrefix = INVALIDATION_PATH_PREFIX, - bucketObjects: string[] - ): Promise { - const itemsToInvalidate = bucketObjects.map(e => `${pathPrefix}${e}`) - console.log('Running cache invalidations on updated files...') - await this.client.createInvalidation({ - DistributionId: distributionId, - InvalidationBatch: { - CallerReference: new Date().toISOString(), - Paths: { - Items: itemsToInvalidate, - Quantity: itemsToInvalidate.length, - }, - }, - }) - } -} - -export function getUpdatedObjectsFromPreview(previewStdout: string): string[] { - try { - const updatedObjectsRegex = /.*aws:s3:BucketObject(.*)update/ - return previewStdout - .trim() - .split('\n') - .map(e => e.trim()) - .filter(e => e.startsWith('~') && e.includes('aws:s3:BucketObject')) - .map((e: string) => { - const res = updatedObjectsRegex.exec(e) - if (!res) return '' - return res[1].trim() - }) - .filter(e => Boolean(e) && e) - } catch (e) { - return [] - } -} diff --git a/packages/botonic-pulumi/src/aws/deployment-stacks.ts b/packages/botonic-pulumi/src/aws/deployment-stacks.ts deleted file mode 100644 index d2bcc165d4..0000000000 --- a/packages/botonic-pulumi/src/aws/deployment-stacks.ts +++ /dev/null @@ -1,158 +0,0 @@ -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' -import { join } from 'path' - -import { - BOT_EXECUTOR_LAMBDA_NAME, - getProjectStackNamePrefix, - HANDLERS_PATH, - SENDER_LAMBDA_NAME, -} from '..' -import { ProgramConfig } from '../pulumi-runner' -import { AWSProvider, getAwsProviderConfig } from '.' -import { DynamoDB } from './dynamodb' -import { NLPModelsBucket } from './nlp-models-bucket' -import { getDynamoDbCrudPolicy } from './policies' -import { RestServer } from './rest-server' -import { SQSLambdaMapping } from './sqs-lambda-mapping' -import { StaticWebchatContents } from './static-webchat-contents' -import { WebSocketServer } from './websocket-server' - -interface BackendDeployResults { - nlpModelsUrl: pulumi.Output - websocketUrl: pulumi.Output - apiUrl: pulumi.Output -} - -export const deployBackendStack = async ( - config: ProgramConfig -): Promise => { - const awsProvider = new aws.Provider( - `${getProjectStackNamePrefix()}-aws-provider`, - { - ...getAwsProviderConfig(), - defaultTags: { tags: config.tags || {} }, - } - ) as AWSProvider - - const awsResourceOptions = { provider: awsProvider, parent: awsProvider } - - const nlpModelsBucket = new NLPModelsBucket({}, awsResourceOptions) - - const database = new DynamoDB( - { tableName: config.tableName }, - awsResourceOptions - ) - - const callerIdentity = aws.getCallerIdentity({ provider: awsProvider }) - const accountId = callerIdentity.then(identity => identity.accountId) - - const DYNAMODB_CRUD_POLICY = getDynamoDbCrudPolicy( - awsProvider.region, - accountId, - database.table.name - ) - - const websocketServer = new WebSocketServer( - { database, nlpModelsBucket, dynamodbCrudPolicy: DYNAMODB_CRUD_POLICY }, - { - ...awsResourceOptions, - dependsOn: [nlpModelsBucket, database], - } - ) - - const sender = new SQSLambdaMapping( - { - lambdaName: SENDER_LAMBDA_NAME, - queueName: `${SENDER_LAMBDA_NAME}-queue`, - sqsLambdaPath: join(HANDLERS_PATH, SENDER_LAMBDA_NAME), - handler: 'index.default', - inlinePolicies: [ - { - name: `${SENDER_LAMBDA_NAME}-execute-connections`, - policy: websocketServer.manageConnectionsPolicy, - }, - ], - environmentVariables: { - WEBSOCKET_URL: websocketServer.url, - }, - }, - awsResourceOptions - ) - - const botExecutor = new SQSLambdaMapping( - { - lambdaName: BOT_EXECUTOR_LAMBDA_NAME, - queueName: `${BOT_EXECUTOR_LAMBDA_NAME}-queue`, - sqsLambdaPath: join(HANDLERS_PATH, BOT_EXECUTOR_LAMBDA_NAME), - handler: 'index.default', - inlinePolicies: [ - { - name: `${BOT_EXECUTOR_LAMBDA_NAME}-dynamodb-crud-inline-policy`, - policy: DYNAMODB_CRUD_POLICY, - }, - ], - environmentVariables: { - DATA_PROVIDER_URL: database.url, - [`${SENDER_LAMBDA_NAME}_QUEUE_URL`]: sender.queueUrl, - }, - }, - awsResourceOptions - ) - - const restServer = new RestServer( - { - nlpModelsBucket, - database, - dynamodbCrudPolicy: DYNAMODB_CRUD_POLICY, - websocketServer, - botExecutorQueueUrl: botExecutor.queueUrl, - senderQueueUrl: sender.queueUrl, - }, - awsResourceOptions - ) - - return { - nlpModelsUrl: nlpModelsBucket.url, - websocketUrl: websocketServer.url, - apiUrl: restServer.url, - } -} - -interface FrontendDeployResults { - nlpModelsUrl: pulumi.Output - websocketUrl: pulumi.Output - apiUrl: pulumi.Output - webchatUrl: pulumi.Output - cloudfrontId: pulumi.Output -} - -export const deployFrontendStack = async ( - config: ProgramConfig -): Promise => { - const awsProvider = new aws.Provider( - `${getProjectStackNamePrefix()}-aws-provider`, - { - ...getAwsProviderConfig(), - defaultTags: { tags: config.tags || {} }, - } - ) as AWSProvider - const awsResourceOptions = { provider: awsProvider, parent: awsProvider } - - const staticWebchatContents = new StaticWebchatContents( - { - customDomain: config.customDomain, - nlpModelsUrl: config.nlpModelsUrl, - apiUrl: config.apiUrl, - websocketUrl: config.websocketUrl, - }, - awsResourceOptions - ) - return { - nlpModelsUrl: staticWebchatContents.nlpModelsUrl, - websocketUrl: staticWebchatContents.websocketUrl, - apiUrl: staticWebchatContents.apiUrl, - webchatUrl: staticWebchatContents.webchatUrl, - cloudfrontId: staticWebchatContents.cloudfrontId, - } -} diff --git a/packages/botonic-pulumi/src/aws/dynamodb.ts b/packages/botonic-pulumi/src/aws/dynamodb.ts deleted file mode 100644 index 15205d9778..0000000000 --- a/packages/botonic-pulumi/src/aws/dynamodb.ts +++ /dev/null @@ -1,51 +0,0 @@ -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' - -import { - AWSComponentResource, - AWSResourceOptions, - BOTONIC_SINGLE_TABLE_NAME, -} from '.' - -export interface DynamoDBArgs { - tableName?: string -} -export class DynamoDB extends AWSComponentResource { - table: aws.dynamodb.Table - url: pulumi.Output - constructor(args: DynamoDBArgs, opts: AWSResourceOptions) { - super('dynamodb', args, opts) - const tableName = args.tableName || BOTONIC_SINGLE_TABLE_NAME - - const table = new aws.dynamodb.Table( - `${this.namePrefix}-dynamodb-${tableName}`, - { - hashKey: 'PK', - rangeKey: 'SK', - attributes: [ - { name: 'PK', type: 'S' }, - { name: 'SK', type: 'S' }, - { name: 'websocketId', type: 'S' }, - ], - readCapacity: 1, - writeCapacity: 1, - globalSecondaryIndexes: [ - { - name: 'GSI1', - hashKey: 'websocketId', - readCapacity: 1, - writeCapacity: 1, - projectionType: 'ALL', - }, - ], - }, - { ...opts, parent: this } - ) - this.table = table - this.url = pulumi.interpolate`dynamodb://${this.table.name}.${this.provider.region}.aws.com` - this.registerOutputs({ - table: this.table, - url: this.url, - }) - } -} diff --git a/packages/botonic-pulumi/src/aws/index.ts b/packages/botonic-pulumi/src/aws/index.ts deleted file mode 100644 index b3008c5f2f..0000000000 --- a/packages/botonic-pulumi/src/aws/index.ts +++ /dev/null @@ -1,36 +0,0 @@ -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' - -import { getProjectStackNamePrefix } from '..' - -// DynamoDB -export const BOTONIC_SINGLE_TABLE_NAME = 'user_events' - -export type AWSProvider = aws.Provider & { region: pulumi.Output } - -export interface AWSResourceOptions extends pulumi.CustomResourceOptions { - provider: AWSProvider -} - -export class AWSComponentResource< - ComponentArgs -> extends pulumi.ComponentResource { - namePrefix: string - provider: AWSProvider - constructor(type: string, args: ComponentArgs, opts: AWSResourceOptions) { - super(type, `${getProjectStackNamePrefix()}-${type}`, args, opts) - this.provider = opts.provider - this.namePrefix = getProjectStackNamePrefix() - } -} - -export const getAwsProviderConfig = (): aws.ProviderArgs => { - const awsConfig = new pulumi.Config('aws') - return { - region: awsConfig.get('region') as aws.Region, - profile: awsConfig.get('profile'), - accessKey: awsConfig.get('accesKey'), - secretKey: awsConfig.get('secretKey'), - token: awsConfig.get('token'), - } -} diff --git a/packages/botonic-pulumi/src/aws/nlp-models-bucket.ts b/packages/botonic-pulumi/src/aws/nlp-models-bucket.ts deleted file mode 100644 index f5c1d143b9..0000000000 --- a/packages/botonic-pulumi/src/aws/nlp-models-bucket.ts +++ /dev/null @@ -1,50 +0,0 @@ -// Ref: https://github.com/pulumi/examples/tree/master/aws-ts-static-website -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' - -import { HTTPS_PROTOCOL_PREFIX, NLP_MODELS_PATH } from '..' -import { crawlDirectory } from '../system-utils' -import { AWSComponentResource, AWSResourceOptions } from '.' - -export interface NLPModelsBucketArgs { - nlpModelsPath?: string -} - -export class NLPModelsBucket extends AWSComponentResource { - url: pulumi.Output - constructor(args: NLPModelsBucketArgs, opts: AWSResourceOptions) { - super('nlp-models-bucket', args, opts) - const nlpModelsPath = args.nlpModelsPath || NLP_MODELS_PATH - - const nlpModelsBucket = new aws.s3.Bucket( - `${this.namePrefix}-models-bucket`, - { - acl: 'public-read', - }, - { ...opts, parent: this } - ) - - console.log('Syncing NLP Models from local disk at', nlpModelsPath) - crawlDirectory(nlpModelsPath, (filePath: string) => { - if (filePath.endsWith('.ts')) return // do not upload ts scripts - const relativeFilePath = filePath.replace(nlpModelsPath + '/', '') - const contentFile = new aws.s3.BucketObject( - relativeFilePath, - { - key: relativeFilePath, - acl: 'public-read', - bucket: nlpModelsBucket, - source: new pulumi.asset.FileAsset(filePath), - }, - { - parent: nlpModelsBucket, - } - ) - }) - - this.url = pulumi.interpolate`${HTTPS_PROTOCOL_PREFIX}${nlpModelsBucket.bucketRegionalDomainName}` - this.registerOutputs({ - url: this.url, - }) - } -} diff --git a/packages/botonic-pulumi/src/aws/policies.ts b/packages/botonic-pulumi/src/aws/policies.ts deleted file mode 100644 index 7653c006c5..0000000000 --- a/packages/botonic-pulumi/src/aws/policies.ts +++ /dev/null @@ -1,91 +0,0 @@ -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' - -export function getDynamoDbCrudPolicy( - region: pulumi.Output, - accountId: Promise, - tableName: pulumi.Output -): pulumi.Output { - return pulumi - .all([region, accountId, tableName]) - .apply(([region, accountId, tableName]) => { - const dynamoDbArn = `arn:aws:dynamodb:${region}:${accountId}:table/${tableName}` - return JSON.stringify({ - Statement: [ - { - Action: [ - 'dynamodb:GetItem', - 'dynamodb:DeleteItem', - 'dynamodb:PutItem', - 'dynamodb:Scan', - 'dynamodb:Query', - 'dynamodb:UpdateItem', - 'dynamodb:BatchWriteItem', - 'dynamodb:BatchGetItem', - 'dynamodb:DescribeTable', - 'dynamodb:ConditionCheckItem', - ], - Resource: [dynamoDbArn, `${dynamoDbArn}/index/*`], // To allow accessing indexes, e.g.: getting user by its websocket ID (which is indexed) - Effect: 'Allow', - }, - ], - }) - }) -} - -export function getManageConnectionsPolicy( - region: pulumi.Output, - accountId: Promise, - apiGatewayId: pulumi.Output -): pulumi.Output { - return pulumi - .all([region, accountId, apiGatewayId]) - .apply(([region, accountId, apiGatewayId]) => - JSON.stringify({ - Statement: [ - { - Action: ['execute-api:ManageConnections'], - Resource: [ - `arn:aws:execute-api:${region}:${accountId}:${apiGatewayId}/*`, - ], - Effect: 'Allow', - }, - ], - }) - ) -} - -type OriginRequestPolicy = - | 'Managed-UserAgentRefererHeaders' - | 'Managed-AllViewer' - | 'Managed-CORS-S3Origin' - | 'Managed-CORS-CustomOrigin' - | 'Managed-Elemental-MediaTailor-PersonalizedManifests' - -export function getOriginRequestPolicyId( - name: OriginRequestPolicy -): pulumi.Output { - return pulumi - .output( - aws.cloudfront.getOriginRequestPolicy({ - name, - }) - ) - .apply(p => String(p.id)) -} - -type CachePolicy = - | 'Managed-CachingOptimized' - | 'Managed-CachingDisabled' - | 'Managed-CachingOptimizedForUncompressedObjects' - | 'Managed-Elemental-MediaPackage' - -export function getCachePolicyId(name: CachePolicy): pulumi.Output { - return pulumi - .output( - aws.cloudfront.getCachePolicy({ - name, - }) - ) - .apply(p => String(p.id)) -} diff --git a/packages/botonic-pulumi/src/aws/rest-server.ts b/packages/botonic-pulumi/src/aws/rest-server.ts deleted file mode 100644 index b9ba801650..0000000000 --- a/packages/botonic-pulumi/src/aws/rest-server.ts +++ /dev/null @@ -1,194 +0,0 @@ -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' -import { existsSync } from 'fs' - -import { - BOT_EXECUTOR_LAMBDA_NAME, - REST_SERVER_ENDPOINT_PATH_NAME, - REST_SERVER_PATH, - SENDER_LAMBDA_NAME, -} from '..' -import { AWSComponentResource, AWSResourceOptions } from '.' -import { DynamoDB } from './dynamodb' -import { NLPModelsBucket } from './nlp-models-bucket' -import { getManageConnectionsPolicy } from './policies' -import { WebSocketServer } from './websocket-server' - -export interface RestServerArgs { - nlpModelsBucket: NLPModelsBucket - database: DynamoDB - dynamodbCrudPolicy: pulumi.Input - websocketServer: WebSocketServer - botExecutorQueueUrl: pulumi.Input - senderQueueUrl: pulumi.Input - restServerLambdaPath?: string -} -export class RestServer extends AWSComponentResource { - url: pulumi.Output - constructor(args: RestServerArgs, opts: AWSResourceOptions) { - super('rest-api-server', args, opts) - - const restServerLambdaPath = args.restServerLambdaPath || REST_SERVER_PATH - - if (existsSync(restServerLambdaPath)) { - const callerIdentity = aws.getCallerIdentity({ provider: opts.provider }) - const accountId = callerIdentity.then(identity => identity.accountId) - const MANAGE_CONNECTIONS_POLICY = getManageConnectionsPolicy( - this.provider.region, - accountId, - args.websocketServer.apiGateway.id - ) - // Give our Lambda access to the Dynamo DB table, CloudWatch Logs and Metrics. - const lambdaFunctionRole = new aws.iam.Role( - `${this.namePrefix}-rest-api-lambda-role`, - { - name: `${this.namePrefix}-rest-api-lambda-role`, - assumeRolePolicy: aws.iam.assumeRolePolicyForPrincipal({ - Service: 'lambda.amazonaws.com', - }), - inlinePolicies: [ - { - name: 'rest-api-dynamodb-crud-inline-policy', - policy: args.dynamodbCrudPolicy, - }, - { - name: 'rest-api-manage-connections-inline-policy', - policy: MANAGE_CONNECTIONS_POLICY, - }, - ], - }, - { parent: this } - ) - - const lambdaFunctionRoleAttachmentExRole = new aws.iam.RolePolicyAttachment( - `${this.namePrefix}-rest-api-execution-role`, - { - role: lambdaFunctionRole, - policyArn: aws.iam.ManagedPolicy.AWSLambdaBasicExecutionRole, - }, - { ...opts, parent: this } - ) - - // TODO: Do it more explicit with inline policy? - const sqsExeuctionRoleAttachment = new aws.iam.RolePolicyAttachment( - `${this.namePrefix}-rest-api-sqs-execution-role`, - { - role: lambdaFunctionRole, - policyArn: aws.iam.ManagedPolicy.AmazonSQSFullAccess, - }, - { ...opts, parent: this } - ) - - console.log( - `Syncing rest-server api lambda contents from local disk at`, - restServerLambdaPath - ) - const lambdaFunction = new aws.lambda.Function( - `${this.namePrefix}-rest-api-lambda`, - { - name: `${this.namePrefix}-rest-api-lambda`, - runtime: 'nodejs14.x', - code: new pulumi.asset.AssetArchive({ - '.': new pulumi.asset.FileArchive(restServerLambdaPath), - }), - timeout: 6, - handler: 'server.default', - role: lambdaFunctionRole.arn, - environment: { - variables: { - MODELS_BASE_URL: args.nlpModelsBucket.url, - DATA_PROVIDER_URL: args.database.url, - WEBSOCKET_URL: args.websocketServer.url, - BOTONIC_JWT_SECRET: process.env.BOTONIC_JWT_SECRET as string, - [`${SENDER_LAMBDA_NAME}_QUEUE_URL`]: args.senderQueueUrl, - [`${BOT_EXECUTOR_LAMBDA_NAME}_QUEUE_URL`]: args.botExecutorQueueUrl, - }, - }, - }, - { ...opts, parent: this } - ) - - const API_PATH_NAME = REST_SERVER_ENDPOINT_PATH_NAME // TODO: Make it configurable? - - // Create the Swagger spec for a proxy which forwards all HTTP requests through to the Lambda function. - // eslint-disable-next-line no-inner-declarations - function swaggerSpec(lambdaArn: string, region: string): string { - const swaggerSpec = { - swagger: '2.0', - info: { title: API_PATH_NAME, version: '1.0' }, - paths: { - '/': swaggerRouteHandler(lambdaArn, region), - '/{proxy+}': swaggerRouteHandler(lambdaArn, region), - }, - } - return JSON.stringify(swaggerSpec) - } - - // Create a single Swagger spec route handler for a Lambda function. - - // eslint-disable-next-line no-inner-declarations - function swaggerRouteHandler(lambdaArn: string, region: string) { - return { - 'x-amazon-apigateway-any-method': { - 'x-amazon-apigateway-integration': { - uri: `arn:aws:apigateway:${region}:lambda:path/2015-03-31/functions/${lambdaArn}/invocations`, - passthroughBehavior: 'when_no_match', - httpMethod: 'POST', - type: 'aws_proxy', - }, - }, - } - } - - // Create the API Gateway Rest API, using a swagger spec. - const restApi = new aws.apigateway.RestApi( - `${this.namePrefix}-rest-api`, - { - name: `${this.namePrefix}-rest-api`, - body: pulumi - .all([lambdaFunction.arn, this.provider.region]) - .apply(([lambdaArn, region]) => swaggerSpec(lambdaArn, region)), - endpointConfiguration: { - types: 'REGIONAL', - }, - }, - { ...opts, parent: this } - ) - - const deployment = new aws.apigateway.Deployment( - `${this.namePrefix}-rest-api-deployment`, - { - restApi: restApi, - // Note: Set to empty to avoid creating an implicit stage, we'll create it explicitly below instead. - stageName: '', - }, - { ...opts, parent: this } - ) - - // Create a stage, which is an addressable instance of the Rest API. Set it to point at the latest deployment. - const stage = new aws.apigateway.Stage( - `${this.namePrefix}-rest-api-stage`, - { - restApi: restApi, - deployment: deployment, - stageName: API_PATH_NAME, - }, - { ...opts, parent: this } - ) - - // Give permissions from API Gateway to invoke the Lambda - const invokePermission = new aws.lambda.Permission( - `${this.namePrefix}-api-lambda-permission`, - { - action: 'lambda:invokeFunction', - function: lambdaFunction, - principal: 'apigateway.amazonaws.com', - sourceArn: pulumi.interpolate`${deployment.executionArn}*/*`, - }, - { ...opts, parent: this } - ) - this.url = pulumi.interpolate`${deployment.invokeUrl}${API_PATH_NAME}/` - this.registerOutputs({ url: this.url }) - } - } -} diff --git a/packages/botonic-pulumi/src/aws/sqs-lambda-mapping.ts b/packages/botonic-pulumi/src/aws/sqs-lambda-mapping.ts deleted file mode 100644 index 74a8cf0a05..0000000000 --- a/packages/botonic-pulumi/src/aws/sqs-lambda-mapping.ts +++ /dev/null @@ -1,142 +0,0 @@ -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' - -import { AWSComponentResource, AWSResourceOptions } from '.' - -interface SQSLambdaPolicy { - name: string - arn: pulumi.Input -} - -export interface SQSLambdaFunctionArgs { - name: string - sqsLambdaPath: string - handler: pulumi.Input - policies: SQSLambdaPolicy[] - inlinePolicies: pulumi.Input< - pulumi.Input[] - > - environmentVariables?: pulumi.Input<{ - [key: string]: pulumi.Input - }> -} - -export class SQSLambdaFunction extends AWSComponentResource { - lambaFunction: aws.lambda.Function - - constructor(args: SQSLambdaFunctionArgs, opts: AWSResourceOptions) { - super(`sqs-lambda-${args.name}`, args, opts) - - const { name, sqsLambdaPath, policies, handler } = args - const inlinePolicies = args.inlinePolicies || [] - const environmentVariables = args.environmentVariables - ? { - environment: { - variables: args.environmentVariables, - }, - } - : {} - - const roleName = `${name}-role` - const role = new aws.iam.Role( - roleName, - { - name: roleName, - assumeRolePolicy: aws.iam.assumeRolePolicyForPrincipal({ - Service: 'lambda.amazonaws.com', - }), - inlinePolicies, - }, - opts - ) - policies.forEach(policy => { - new aws.iam.RolePolicyAttachment(`${name}-${policy.name}`, { - role, - policyArn: policy.arn, - }) - }, opts) - const functionName = `${name}-function` - this.lambaFunction = new aws.lambda.Function( - functionName, - { - name: functionName, - runtime: 'nodejs14.x', - code: new pulumi.asset.AssetArchive({ - '.': new pulumi.asset.FileArchive(sqsLambdaPath), - }), - handler, - role: role.arn, - // timeout: 6, - ...environmentVariables, - }, - opts - ) - } - getLambdaFunction(): aws.lambda.Function { - return this.lambaFunction - } -} - -export interface SQSLambdaMappingArgs { - queueName: string - lambdaName: string - handler: pulumi.Input - sqsLambdaPath: string - inlinePolicies?: pulumi.Input< - pulumi.Input[] - > - environmentVariables?: pulumi.Input<{ - [key: string]: pulumi.Input - }> -} -export class SQSLambdaMapping extends AWSComponentResource { - queueUrl: pulumi.Output - constructor(args: SQSLambdaMappingArgs, opts: AWSResourceOptions) { - const { - queueName, - lambdaName, - sqsLambdaPath, - handler, - environmentVariables, - } = args - super(`${queueName}<>${lambdaName}`, args, opts) - - const queue = new aws.sqs.Queue(`${this.namePrefix}-${queueName}`, { - fifoQueue: true, - }) - this.queueUrl = queue.url - const policies = [ - { - name: `${this.namePrefix}-sqs-${queueName}-${lambdaName}-execution-role`, - arn: aws.iam.ManagedPolicy.AWSLambdaSQSQueueExecutionRole, - }, - { - name: `${this.namePrefix}-sqs-${queueName}-${lambdaName}-sqs-full-access-role`, - arn: aws.iam.ManagedPolicy.AmazonSQSFullAccess, - }, - ] - - const inlinePolicies = args?.inlinePolicies || [] - - const sqsLambda = new SQSLambdaFunction( - { - name: `${this.namePrefix}-${lambdaName}-lambda`, - policies, - inlinePolicies, - handler, - sqsLambdaPath, - environmentVariables, - }, - opts - ) - new aws.lambda.EventSourceMapping( - `${this.namePrefix}-${lambdaName}<>${queueName}`, - { - eventSourceArn: queue.arn, - functionName: sqsLambda.getLambdaFunction().arn, - batchSize: 1, - } - ) - this.registerOutputs({ queueUrl: this.queueUrl }) - } -} diff --git a/packages/botonic-pulumi/src/aws/static-webchat-contents.ts b/packages/botonic-pulumi/src/aws/static-webchat-contents.ts deleted file mode 100644 index 3f977999da..0000000000 --- a/packages/botonic-pulumi/src/aws/static-webchat-contents.ts +++ /dev/null @@ -1,388 +0,0 @@ -// Ref: https://github.com/pulumi/examples/tree/master/aws-ts-static-website -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' -import * as mime from 'mime' - -import { - HTTPS_PROTOCOL_PREFIX, - REST_SERVER_ENDPOINT_PATH_NAME, - WEBCHAT_CONTENTS_PATH, - WEBSOCKET_ENDPOINT_PATH_NAME, - WSS_PROTOCOL_PREFIX, -} from '..' -import { crawlDirectory } from '../system-utils' -import { - AWSComponentResource, - AWSProvider, - AWSResourceOptions, - getAwsProviderConfig, -} from '.' -import { getCachePolicyId, getOriginRequestPolicyId } from './policies' - -function getDomainAndSubdomain( - domain: string -): { - subdomain: string - parentDomain: string -} { - const parts = domain.split('.') - if (parts.length < 2) { - throw new Error(`No TLD found on ${domain}`) - } - // No subdomain, e.g. awesome-website.com. - if (parts.length === 2) { - return { subdomain: '', parentDomain: domain } - } - const subdomain = parts[0] - parts.shift() // Drop first element. - return { - subdomain, - // Trailing "." to canonicalize domain. - parentDomain: parts.join('.') + '.', - } -} - -function createAliasRecord( - customDomain: string, - distribution: aws.cloudfront.Distribution, - opts: pulumi.ResourceOptions -): aws.route53.Record { - const domainParts = getDomainAndSubdomain(customDomain) - const hostedZoneId = aws.route53 - .getZone({ name: domainParts.parentDomain }, { async: true }) - .then(zone => zone.zoneId) - return new aws.route53.Record( - customDomain, - { - name: domainParts.subdomain, - zoneId: hostedZoneId, - type: 'A', - aliases: [ - { - name: distribution.domainName, - zoneId: distribution.hostedZoneId, - evaluateTargetHealth: true, - }, - ], - }, - { ...opts, deleteBeforeReplace: true } - ) -} - -function getViewerCertificate( - customDomain: string | undefined, - providedCertificateArn: pulumi.Input | undefined, - opts: pulumi.ResourceOptions -): pulumi.Input { - if (!customDomain) { - return { - // If cloudfrontDefaultCertificate is specified, TLSv1 must be set. Ref: https://www.pulumi.com/docs/reference/pkg/aws/cloudfront/distribution/#minimumprotocolversion_nodejs - cloudfrontDefaultCertificate: true, - minimumProtocolVersion: 'TLSv1', - } - } - let certificateArn = providedCertificateArn - if (certificateArn === undefined) { - certificateArn = createCustomDomainCertificate(customDomain, opts) - } - return { - minimumProtocolVersion: 'TLSv1.1_2016', // TODO: allow to customize - acmCertificateArn: certificateArn, - sslSupportMethod: 'sni-only', - } -} - -function createCustomDomainCertificate( - customDomain: string, - opts: pulumi.ResourceOptions -): pulumi.Output { - const eastRegion = new aws.Provider( - 'east', - { - ...getAwsProviderConfig(), - region: 'us-east-1', // Per AWS, ACM certificate must be in the us-east-1 region. https://github.com/pulumi/examples/blob/71a705e12b1ea6b132ecf164f0a71adabc78b4ce/aws-ts-static-website/index.ts#L97 - }, - opts - ) - - const certificateConfig: aws.acm.CertificateArgs = { - domainName: customDomain, - validationMethod: 'DNS', - subjectAlternativeNames: [], // TODO: Add the other ones to support - } - - const certificate = new aws.acm.Certificate( - 'certificate', - certificateConfig, - { ...opts, provider: eastRegion } - ) - - const domainParts = getDomainAndSubdomain(customDomain) - const hostedZoneId = aws.route53 - .getZone({ name: domainParts.parentDomain }, { async: true }) - .then(zone => zone.zoneId) - - const certificateValidationDomain = new aws.route53.Record( - `${customDomain}-validation`, - { - name: certificate.domainValidationOptions[0].resourceRecordName, - zoneId: hostedZoneId, - type: certificate.domainValidationOptions[0].resourceRecordType, - records: [certificate.domainValidationOptions[0].resourceRecordValue], - ttl: 60 * 1, - }, - opts - ) - - const validationRecordFqdns = [certificateValidationDomain.fqdn] - - const certificateValidation = new aws.acm.CertificateValidation( - 'certificateValidation', - { - certificateArn: certificate.arn, - validationRecordFqdns: validationRecordFqdns, - }, - { ...opts, provider: eastRegion } - ) - return certificateValidation.certificateArn -} -export interface StaticWebchatContentsArgs { - pathToWebchatContents?: string - customDomain?: string - nlpModelsUrl: string - apiUrl: string - websocketUrl: string -} -export class StaticWebchatContents extends AWSComponentResource { - nlpModelsUrl: pulumi.Output - websocketUrl: pulumi.Output - apiUrl: pulumi.Output - webchatUrl: pulumi.Output - // webviewsUrl: pulumi.Output - cloudfrontId: pulumi.Output - - constructor(args: StaticWebchatContentsArgs, opts: AWSResourceOptions) { - super('static-webchat-contents', args, opts) - const pathToWebchatContents = - args.pathToWebchatContents || WEBCHAT_CONTENTS_PATH - - const customDomain = args.customDomain - - const contentBucket = new aws.s3.Bucket( - `${this.namePrefix}-webchat-contents-bucket`, - { - acl: 'public-read', - // ...(customDomain ? { bucket: customDomain } : {}), // TODO: adding customDomain make - }, - { ...opts, parent: this } - ) - console.log( - 'Syncing webchat contents from local disk at', - pathToWebchatContents - ) - crawlDirectory(pathToWebchatContents, (filePath: string) => { - const relativeFilePath = filePath.replace(pathToWebchatContents + '/', '') - const contentFile = new aws.s3.BucketObject( - relativeFilePath, - { - key: relativeFilePath, - acl: 'public-read', - bucket: contentBucket, - contentType: mime.getType(filePath) || undefined, - source: new pulumi.asset.FileAsset(filePath), - }, - { - parent: contentBucket, - } - ) - }) - - const viewerCertificate = getViewerCertificate( - customDomain, - undefined, // TODO: Allow passing custom certificates via config.providerCertificateArn? - { parent: this } - ) - - const nlpModelsOriginId = 'nlp-models-bucket' - const botWsApiOriginId = 'bot-ws-api' - const botRestApiOriginId = 'bot-rest-api' - const staticContentOriginId = 'static-content-bucket' - - // Path patterns must coincide with bucket structure - const nlpModelsCacheBehaviors = ['intent-classification', 'ner'].map(e => ({ - pathPattern: `/${e}/*`, - targetOriginId: nlpModelsOriginId, - viewerProtocolPolicy: 'redirect-to-https', - allowedMethods: ['GET', 'HEAD', 'OPTIONS'], - cachedMethods: ['GET', 'HEAD', 'OPTIONS'], - cachePolicyId: getCachePolicyId('Managed-CachingOptimized'), - compress: true, - })) - - const nlpModelsUrl = new URL(args.nlpModelsUrl) - const restServerUrl = new URL(args.apiUrl) - const websocketServerUrl = new URL(args.websocketUrl) - - const distributionArgs: aws.cloudfront.DistributionArgs = { - enabled: true, - - aliases: customDomain ? [customDomain] : [], - viewerCertificate: viewerCertificate, - comment: `Bot ${this.namePrefix}`, - - orderedCacheBehaviors: [ - ...nlpModelsCacheBehaviors, - { - pathPattern: `/${REST_SERVER_ENDPOINT_PATH_NAME}/*`, - targetOriginId: botRestApiOriginId, - viewerProtocolPolicy: 'redirect-to-https', - allowedMethods: [ - 'GET', - 'HEAD', - 'OPTIONS', - 'PUT', - 'POST', - 'PATCH', - 'DELETE', - ], - cachedMethods: ['GET', 'HEAD'], - forwardedValues: { - queryString: false, - headers: [], // setting it to ['*'] will make rest api to not work - cookies: { - forward: 'none', - }, - }, - }, - { - pathPattern: `/${WEBSOCKET_ENDPOINT_PATH_NAME}/*`, - targetOriginId: botWsApiOriginId, - viewerProtocolPolicy: 'redirect-to-https', - allowedMethods: [ - 'GET', - 'HEAD', - 'OPTIONS', - 'PUT', - 'POST', - 'PATCH', - 'DELETE', - ], - cachedMethods: ['GET', 'HEAD'], - forwardedValues: { - queryString: false, - headers: [], - cookies: { - forward: 'none', - }, - }, - }, - ], - defaultCacheBehavior: { - targetOriginId: staticContentOriginId, - viewerProtocolPolicy: 'redirect-to-https', - allowedMethods: ['GET', 'HEAD', 'OPTIONS'], - cachedMethods: ['GET', 'HEAD', 'OPTIONS'], - cachePolicyId: getCachePolicyId('Managed-CachingOptimized'), - // originRequestPolicyId: getOriginRequestPolicyId('Managed-AllViewer'), //TODO: needed? - compress: true, - }, - origins: [ - { - // TODO: Configure bucket as private and use originAccessIdentity: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html - originId: staticContentOriginId, - domainName: contentBucket.bucketRegionalDomainName, - customOriginConfig: { - originProtocolPolicy: 'https-only', - httpPort: 443, - httpsPort: 443, - originSslProtocols: ['TLSv1.2'], - }, - }, - { - originId: nlpModelsOriginId, - domainName: nlpModelsUrl.hostname, - customOriginConfig: { - originProtocolPolicy: 'https-only', - httpPort: 443, - httpsPort: 443, - originSslProtocols: ['TLSv1.2'], - }, - }, - { - originId: botWsApiOriginId, - domainName: websocketServerUrl.hostname, - customOriginConfig: { - originProtocolPolicy: 'https-only', - httpPort: 443, - httpsPort: 443, - originSslProtocols: ['TLSv1.2'], - }, - }, - // Do not set originPath in below configurations in order to match with current api gateway stages. Ref: https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-cloudfront-distribution/ - { - originId: botRestApiOriginId, - domainName: restServerUrl.hostname, - customOriginConfig: { - originProtocolPolicy: 'https-only', - httpPort: 443, - httpsPort: 443, - originSslProtocols: ['TLSv1.2'], - }, - }, - ], - defaultRootObject: 'index.html', - // Support SPA - // customErrorResponses: [ - // { - // errorCode: 404, - // responseCode: 404, - // responsePagePath: '/404.html', - // }, - // ], - priceClass: 'PriceClass_100', - restrictions: { - geoRestriction: { - restrictionType: 'none', - }, - }, - // loggingConfig: TODO: support for hubtype - } - - const cdn = new aws.cloudfront.Distribution( - `${this.namePrefix}-cdn`, - distributionArgs, - { - ...opts, - parent: this, - } - ) - - if (customDomain) { - const aRecord = createAliasRecord(customDomain, cdn, { parent: this }) - } - const domainName = customDomain ? customDomain : cdn.domainName - - this.nlpModelsUrl = pulumi.interpolate`${HTTPS_PROTOCOL_PREFIX}${domainName}/` - this.websocketUrl = pulumi.interpolate`${WSS_PROTOCOL_PREFIX}${domainName}/${WEBSOCKET_ENDPOINT_PATH_NAME}/` - this.apiUrl = pulumi.interpolate`${HTTPS_PROTOCOL_PREFIX}${domainName}/${REST_SERVER_ENDPOINT_PATH_NAME}/` - this.webchatUrl = pulumi.interpolate`${HTTPS_PROTOCOL_PREFIX}${domainName}/` - this.cloudfrontId = cdn.id - this.registerOutputs({ - cloudfrontId: this.cloudfrontId, - nlpModelsUrl: this.nlpModelsUrl, - websocketUrl: this.websocketUrl, - apiUrl: this.apiUrl, - webchatUrl: this.webchatUrl, - }) - } -} - -/** - * customDomain: mybot.mywebsite.com (Hubtype: bot1.bankia.hubtype.com, xxx.bankia.es) - * - webchat SDK + static assets: static.mybot.mywebsite.com - * - API REST: api.mybot.mywebsite.com - * - WS: ws.mybot.mywebsite.com - * - NLP models bucket?: models.mybot.mywebsite.com - * - * - */ diff --git a/packages/botonic-pulumi/src/aws/websocket-server-lambda.ts b/packages/botonic-pulumi/src/aws/websocket-server-lambda.ts deleted file mode 100644 index deb053691d..0000000000 --- a/packages/botonic-pulumi/src/aws/websocket-server-lambda.ts +++ /dev/null @@ -1,107 +0,0 @@ -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' - -import { AWSComponentResource, AWSResourceOptions } from '.' - -export interface WebSocketServerLambdaArgs { - name: string - routeKey: string - lambdaPath: string - apiId: pulumi.Output - environmentVariables: pulumi.Input<{ - [key: string]: pulumi.Input - }> - inlinePolicies: pulumi.Input< - pulumi.Input[] - > -} - -export class WebsocketServerLambda extends AWSComponentResource { - route: aws.apigatewayv2.Route - - constructor(args: WebSocketServerLambdaArgs, opts: AWSResourceOptions) { - super(`websocket-server-lambda-${args.name}`, args, opts) - const defaultLambdaSettings: Partial = { - code: new pulumi.asset.AssetArchive({ - '.': new pulumi.asset.FileArchive(args.lambdaPath), - }), - runtime: 'nodejs14.x', - memorySize: 256, - environment: { - variables: args.environmentVariables, - }, - timeout: 6, // Increased timeout from 3s -> 6s to give enough time to nlp models to be loaded, TODO: make it dynamic? - } - const assumeRolePolicy = aws.iam.assumeRolePolicyForPrincipal({ - Service: 'lambda.amazonaws.com', - }) - - const lambdaFunctionRole = new aws.iam.Role( - `${this.namePrefix}-${args.name}-function-role`, - { - name: `${this.namePrefix}-${args.name}-function-role`, - assumeRolePolicy, - inlinePolicies: args.inlinePolicies, - }, - { ...opts, parent: this } - ) - - const lambdaFunctionRoleAttachmentExRole = new aws.iam.RolePolicyAttachment( - `${this.namePrefix}-${args.name}-execution-role`, - { - role: lambdaFunctionRole, - policyArn: aws.iam.ManagedPolicy.AWSLambdaBasicExecutionRole, - }, - { ...opts, parent: this } - ) - - console.log( - `Syncing ${args.name} lambda contents from local disk at`, - args.lambdaPath - ) - const lambdaFunction = new aws.lambda.Function( - `${this.namePrefix}-${args.name}-lambda-function`, - { - name: `${this.namePrefix}-${args.name}-lambda-function`, - handler: `server.default.${args.name}`, - role: lambdaFunctionRole.arn, - ...defaultLambdaSettings, - }, - { ...opts, parent: this } - ) - - const lambdaFunctionPermission = new aws.lambda.Permission( - `${this.namePrefix}-${args.name}-permission`, - { - action: 'lambda:InvokeFunction', - function: lambdaFunction.name, - principal: 'apigateway.amazonaws.com', - }, - { ...opts, parent: this } - ) - - const integration = new aws.apigatewayv2.Integration( - `${this.namePrefix}-${args.name}-integration`, - { - apiId: args.apiId, - integrationType: 'AWS_PROXY', - integrationUri: pulumi.interpolate`arn:aws:apigateway:${this.provider.region}:lambda:path/2015-03-31/functions/${lambdaFunction.arn}/invocations`, - }, - { ...opts, parent: this } - ) - - const route = new aws.apigatewayv2.Route( - `${this.namePrefix}-${args.name}-route`, - { - apiId: args.apiId, - routeKey: args.routeKey, - authorizationType: 'NONE', - target: pulumi.interpolate`integrations/${integration.id}`, - operationName: `${args.name}Route`, - }, - { ...opts, parent: this } - ) - this.route = route - this.registerOutputs({ route: this.route }) - } -} diff --git a/packages/botonic-pulumi/src/aws/websocket-server.ts b/packages/botonic-pulumi/src/aws/websocket-server.ts deleted file mode 100644 index 621614406b..0000000000 --- a/packages/botonic-pulumi/src/aws/websocket-server.ts +++ /dev/null @@ -1,152 +0,0 @@ -import * as aws from '@pulumi/aws' -import * as pulumi from '@pulumi/pulumi' -import { existsSync } from 'fs' - -import { WEBSOCKET_ENDPOINT_PATH_NAME, WEBSOCKET_SERVER_PATH } from '..' -import { AWSComponentResource, AWSResourceOptions } from '.' -import { DynamoDB } from './dynamodb' -import { NLPModelsBucket } from './nlp-models-bucket' -import { getManageConnectionsPolicy } from './policies' -import { - WebsocketServerLambda, - WebSocketServerLambdaArgs, -} from './websocket-server-lambda' - -export interface WebSocketServerArgs { - database: DynamoDB - nlpModelsBucket: NLPModelsBucket - dynamodbCrudPolicy: pulumi.Input - websocketLambdaPath?: string -} -export class WebSocketServer extends AWSComponentResource { - manageConnectionsPolicy: pulumi.Output - url: pulumi.Output - apiGateway: aws.apigatewayv2.Api - constructor(args: WebSocketServerArgs, opts: AWSResourceOptions) { - super('websocket-server', args, opts) - - const callerIdentity = aws.getCallerIdentity({ provider: opts.provider }) - const accountId = callerIdentity.then(identity => identity.accountId) - const websocketLambdaPath = - args.websocketLambdaPath || WEBSOCKET_SERVER_PATH - - // Check that path exists so pulumi do not throw an exception in runtime when previewing the update - if (existsSync(websocketLambdaPath)) { - const websocketApiGateway = new aws.apigatewayv2.Api( - `${this.namePrefix}-ws-api`, - { - name: `${this.namePrefix}-ws-api`, - protocolType: 'WEBSOCKET', - routeSelectionExpression: '$request.body.action', - }, - { ...opts, parent: this } - ) - - const MANAGE_CONNECTIONS_POLICY = getManageConnectionsPolicy( - this.provider.region, - accountId, - websocketApiGateway.id - ) - this.manageConnectionsPolicy = MANAGE_CONNECTIONS_POLICY - - const wsLambdaCommonArgs: Partial = { - lambdaPath: websocketLambdaPath, - apiId: websocketApiGateway.id, - environmentVariables: { - MODELS_BASE_URL: args.nlpModelsBucket.url, - DATA_PROVIDER_URL: args.database.url, - }, - } - - const lambdaAWSResourceOptions = { - ...opts, - parent: this, - dependsOn: [...(opts.dependsOn as any), websocketApiGateway], - } - - const WEBSOCKET_ONCONNECT_LAMBDA_NAME = 'onConnect' - const onConnectLambda = new WebsocketServerLambda( - { - name: WEBSOCKET_ONCONNECT_LAMBDA_NAME, - routeKey: '$connect', - inlinePolicies: [ - { - name: `${WEBSOCKET_ONCONNECT_LAMBDA_NAME}-dynamodb-crud-inline-policy`, - policy: args.dynamodbCrudPolicy, - }, - ], - ...wsLambdaCommonArgs, - } as WebSocketServerLambdaArgs, - lambdaAWSResourceOptions - ) - - const WEBSOCKET_ONAUTH_LAMBDA_NAME = 'onAuth' - const onAuthLambda = new WebsocketServerLambda( - { - name: WEBSOCKET_ONAUTH_LAMBDA_NAME, - routeKey: '$default', - inlinePolicies: [ - { - policy: args.dynamodbCrudPolicy, - name: `${WEBSOCKET_ONAUTH_LAMBDA_NAME}-dynamodb-crud-inline-policy`, - }, - { - policy: MANAGE_CONNECTIONS_POLICY, - name: `${WEBSOCKET_ONAUTH_LAMBDA_NAME}-manage-connections-inline-policy`, - }, - ], - ...wsLambdaCommonArgs, - } as WebSocketServerLambdaArgs, - lambdaAWSResourceOptions - ) - - const WEBSOCKET_ONDISCONNECT_LAMBDA_NAME = 'onDisconnect' - const onDisconnectLambda = new WebsocketServerLambda( - { - name: WEBSOCKET_ONDISCONNECT_LAMBDA_NAME, - routeKey: '$disconnect', - inlinePolicies: [ - { - policy: args.dynamodbCrudPolicy, - name: `${WEBSOCKET_ONDISCONNECT_LAMBDA_NAME}-dynamodb-crud-inline-policy`, - }, - ], - ...wsLambdaCommonArgs, - } as WebSocketServerLambdaArgs, - lambdaAWSResourceOptions - ) - - const deployment = new aws.apigatewayv2.Deployment( - `${this.namePrefix}-api-gateway-deployment`, - { - apiId: websocketApiGateway.id, - }, - { - dependsOn: [ - ...(opts.dependsOn as any), - onConnectLambda.route, - onAuthLambda.route, - onDisconnectLambda.route, - ], - parent: this, - } - ) - const prodStage = new aws.apigatewayv2.Stage( - `${this.namePrefix}-stage`, - { - name: WEBSOCKET_ENDPOINT_PATH_NAME, // TODO: Make it configurable? - deploymentId: deployment.id, - apiId: websocketApiGateway.id, - }, - { ...opts, parent: this } - ) - this.url = pulumi.interpolate`${websocketApiGateway.apiEndpoint}/${prodStage.name}/` - this.apiGateway = websocketApiGateway - this.registerOutputs({ - url: this.url, - apiGateway: websocketApiGateway, - manageConnectionsPolicy: this.manageConnectionsPolicy, - }) - } - } -} diff --git a/packages/botonic-pulumi/src/index.ts b/packages/botonic-pulumi/src/index.ts deleted file mode 100644 index 2b708d44ce..0000000000 --- a/packages/botonic-pulumi/src/index.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Config } from '@pulumi/pulumi' -import { join } from 'path' -import { cwd } from 'process' - -export const PROJECT_NAME_SEPARATOR = '-' -export const MAX_PROJECT_NAME_LENGTH = 30 - -export function getProjectStackNamePrefix(): string { - const config = new Config() - return generateProjectStackNamePrefix( - config.get('projectName') as string, - config.get('stackName') as string - ) -} - -export function generateProjectStackNamePrefix( - projectName: string, - stackName: string -): string { - const prefix = `${projectName}${PROJECT_NAME_SEPARATOR}${stackName}` - if (prefix.length > MAX_PROJECT_NAME_LENGTH + PROJECT_NAME_SEPARATOR.length) { - throw new Error( - `Provided projectName "${projectName}" and stackName "${stackName}" that combined exceed the max allowed length: ${ - prefix.length - PROJECT_NAME_SEPARATOR.length - } / ${MAX_PROJECT_NAME_LENGTH}` - ) - } - return prefix -} - -export const NLP_MODELS_PATH = join(cwd(), 'bot', 'src', 'nlp', 'tasks') -export const WEBSOCKET_SERVER_PATH = join(cwd(), 'api', 'dist', 'websocket') -export const REST_SERVER_PATH = join(cwd(), 'api', 'dist', 'rest') -export const HANDLERS_PATH = join(cwd(), 'api', 'dist', 'handlers') -export const BOT_EXECUTOR_LAMBDA_NAME = 'botExecutor' -export const SENDER_LAMBDA_NAME = 'sender' -export const WEBCHAT_CONTENTS_PATH = join(cwd(), 'webchat', 'dist') -export const WEBSOCKET_ENDPOINT_PATH_NAME = 'ws' -export const REST_SERVER_ENDPOINT_PATH_NAME = 'api' -export const WSS_PROTOCOL_PREFIX = 'wss://' -export const HTTPS_PROTOCOL_PREFIX = 'https://' - -export const WEBCHAT_BOTONIC_PATH = join( - process.cwd(), - 'webchat', - 'dist', - 'webchat.botonic.js' -) - -export * from './pulumi-runner' diff --git a/packages/botonic-pulumi/src/pulumi-downloader.ts b/packages/botonic-pulumi/src/pulumi-downloader.ts deleted file mode 100644 index fec27357e7..0000000000 --- a/packages/botonic-pulumi/src/pulumi-downloader.ts +++ /dev/null @@ -1,96 +0,0 @@ -import decompress from 'decompress' -import download from 'download' -import { existsSync, unlinkSync } from 'fs' -import { platform } from 'os' -import { join } from 'path' -import { extract } from 'tar' - -import { getCleanVersionForPackage, getHomeDirectory } from './system-utils' - -export class PulumiDownloader { - private PULUMI_SDK_URL = 'https://get.pulumi.com/releases/sdk' - private PULUMI_DOWNLOAD_PATH = join(getHomeDirectory(), '.botonic') - private PULUMI_BINARY_PATH = join(this.PULUMI_DOWNLOAD_PATH, 'pulumi') - - private isBinaryInstalled(): boolean { - return existsSync(this.PULUMI_BINARY_PATH) - } - - private async downloadBinaries(version: string): Promise { - const devPlatform = platform() - switch (devPlatform) { - case 'darwin': - await this.setupDarwin(version, this.PULUMI_DOWNLOAD_PATH) - break - case 'linux': - await this.setupLinux(version, this.PULUMI_DOWNLOAD_PATH) - break - case 'win32': - await this.setupWindows(version, this.PULUMI_DOWNLOAD_PATH) - break - default: - throw Error( - `Cannot download Pulumi binaries - platform "${devPlatform}" not supported. Supported ones are "darwin", "linux", and "win32"` - ) - } - } - private async setupDarwin( - version: string, - downloadFolder: string - ): Promise { - const filename = `pulumi-v${version}-darwin-x64.tar.gz` - const downloadUrl = `${this.PULUMI_SDK_URL}/${filename}` - await download(downloadUrl, downloadFolder) - await extract({ - cwd: downloadFolder, - file: join(downloadFolder, filename), - }) - unlinkSync(join(downloadFolder, filename)) - } - - private async setupWindows( - version: string, - downloadFolder: string - ): Promise { - const filename = `pulumi-v${version}-windows-x64.zip` - const downloadUrl = `${this.PULUMI_SDK_URL}/${filename}` - await download(downloadUrl, downloadFolder) - const archive = join(downloadFolder, filename) - const destination = join(downloadFolder, 'pulumi') - await decompress(archive, destination, { strip: 2 }) - unlinkSync(join(downloadFolder, filename)) - } - - private async setupLinux( - version: string, - downloadFolder: string - ): Promise { - const filename = `pulumi-v${version}-linux-x64.tar.gz` - const downloadUrl = `${this.PULUMI_SDK_URL}/${filename}` - await download(downloadUrl, downloadFolder) - await extract({ - cwd: downloadFolder, - file: join(downloadFolder, filename), - }) - unlinkSync(join(downloadFolder, filename)) - } - - async downloadBinaryIfNotInstalled(): Promise { - if (!this.isBinaryInstalled()) { - console.log('It seems that it is the first time using Botonic 1.0') - console.log('Downloading Pulumi...') - const version = getCleanVersionForPackage('@pulumi/pulumi') - if (!version) { - throw new Error('Cannot retrieve Pulumi version to download') - } - await this.downloadBinaries(version) - console.log('Pulumi downloaded.') - } else { - console.log('Detected Pulumi in your machine.') - } - } - - getBinaryPath(): string { - return this.PULUMI_BINARY_PATH - } -} diff --git a/packages/botonic-pulumi/src/pulumi-runner.ts b/packages/botonic-pulumi/src/pulumi-runner.ts deleted file mode 100644 index f01f3588f1..0000000000 --- a/packages/botonic-pulumi/src/pulumi-runner.ts +++ /dev/null @@ -1,300 +0,0 @@ -import { - InlineProgramArgs, - LocalWorkspace, - Stack, - UpResult, -} from '@pulumi/pulumi/automation' -import { execSync } from 'child_process' -import concurrently from 'concurrently' -import { existsSync, readFileSync, writeFileSync } from 'fs' -import { join } from 'path' -import { env } from 'process' - -import { - generateProjectStackNamePrefix, - HTTPS_PROTOCOL_PREFIX, - PROJECT_NAME_SEPARATOR, - REST_SERVER_ENDPOINT_PATH_NAME, - WEBCHAT_BOTONIC_PATH, - WEBSOCKET_ENDPOINT_PATH_NAME, - WSS_PROTOCOL_PREFIX, -} from './' -import { - CacheInvalidator, - getUpdatedObjectsFromPreview, - INVALIDATION_PATH_PREFIX, -} from './aws/cache-invalidator' -import { - deployBackendStack, - deployFrontendStack, -} from './aws/deployment-stacks' -import { PulumiDownloader } from './pulumi-downloader' -import { getCleanVersionForPackage, getHomeDirectory } from './system-utils' - -export interface AWSCredentials { - region?: string - profile?: string - accessKey?: string - secretKey?: string - token?: string -} -export interface ProjectConfig extends AWSCredentials { - projectName?: string - stackName?: string - customDomain?: string - tags?: Record - // DynamoDB - tableName?: string -} - -export interface ProgramConfig extends ProjectConfig { - nlpModelsUrl: string - websocketUrl: string - apiUrl: string -} - -export interface RunOptions { - destroy: boolean -} - -export class PulumiRunner { - private pulumiDownloader = new PulumiDownloader() - private isDestroy = false - private programConfig: ProgramConfig - private updatedBucketObjects: string[] = [] - public projectConfig: ProjectConfig = {} - private commands = [ - { - name: 'WebSocket Server Build', - command: 'yarn workspace api build:websocket', - }, - { - name: 'Handlers Build', - command: 'yarn workspace api build:handlers', - }, - { - name: 'Rest Server Build', - command: 'yarn workspace api build:rest', - }, - { - name: 'Static Contents Build', - command: 'yarn workspace webchat build', - }, - ] - - constructor(pathToProjectConfig: string) { - try { - // eslint-disable-next-line @typescript-eslint/no-var-requires - this.projectConfig = require(pathToProjectConfig).default - } catch (e) { - this.projectConfig = {} - } - this.programConfig = this.projectConfig as ProgramConfig - } - - private async beforeRun(isDestroy: boolean): Promise { - this.isDestroy = isDestroy - if (!this.isDestroy) { - if (process.env.BOTONIC_JWT_SECRET === undefined) { - const errMsg = - 'You must export an env variable BOTONIC_JWT_SECRET with your secret for authenticating users.' - throw new Error(errMsg) - } - try { - await concurrently(this.commands) - } catch (e) { - throw new Error(e) - } - } - await this.pulumiDownloader.downloadBinaryIfNotInstalled() - this.setExecutionVariables() - this.doPulumiLoginLocally() - } - - private async initStack( - stackToDeploy: 'backend' | 'frontend' - ): Promise { - const projectName = this.projectConfig?.projectName || 'botonic' - const stackName = this.projectConfig?.stackName || 'full-stack' - const prefix = generateProjectStackNamePrefix(projectName, stackName) - const args: InlineProgramArgs = { - projectName, - stackName: `${prefix}${PROJECT_NAME_SEPARATOR}${stackToDeploy}`, - program: async () => { - return stackToDeploy === 'backend' - ? await deployBackendStack(this.programConfig) - : await deployFrontendStack(this.programConfig) - }, - } - const stack = await LocalWorkspace.createOrSelectStack(args) - await stack.setConfig('projectName', { value: projectName }) - await stack.setConfig('stackName', { value: stackName }) - console.info(`successfully initialized ${stackToDeploy} stack`) - return stack - } - - private async installAwsPlugin(stack: Stack): Promise { - const awsPluginVersion = `v${getCleanVersionForPackage('@pulumi/aws')}` - const pluginInstallationPath = join( - getHomeDirectory(), - '.pulumi', - 'plugins', - `resource-aws-${awsPluginVersion}` - ) - if (!existsSync(pluginInstallationPath)) { - console.info('installing plugins...') - await stack.workspace.installPlugin('aws', awsPluginVersion) - console.info('plugins installed') - } - } - - private async withAwsProvider(stack: Stack): Promise { - await this.installAwsPlugin(stack) - console.log('setting up AWS config...') - await stack.setConfig('aws:region', { - value: - this.projectConfig.region || - process.env.DEFAULT_AWS_REGION || - 'eu-west-1', - }) - await stack.setConfig('aws:profile', { - value: this.projectConfig.profile || process.env.AWS_PROFILE || 'default', - }) - await stack.setConfig('aws:accessKey', { - value: - this.projectConfig.accessKey || process.env.AWS_ACCESS_KEY_ID || '', - }) - await stack.setConfig('aws:secretKey', { - value: - this.projectConfig.secretKey || process.env.AWS_SECRET_ACCESS_KEY || '', - }) - await stack.setConfig('aws:token', { - value: this.projectConfig.token || process.env.AWS_SESSION_TOKEN || '', - }) - return stack - } - - private async refreshStack(stack: Stack): Promise { - console.info('refreshing stack...') - await stack.refresh() - console.info('refresh complete') - } - - private async destroyStack(stack: Stack): Promise { - console.info('destroying stack...') - await stack.destroy({ onOutput: console.info }) - console.info('stack destroy complete') - } - - private async updateStack(stack: Stack): Promise { - console.info('updating stack...') - const upRes = await stack.up({ onOutput: console.info }) - console.log( - `update summary: \n${JSON.stringify( - upRes.summary.resourceChanges, - null, - 4 - )}` - ) - return upRes - } - - private async updateUpdatedBucketObjects(stack: Stack): Promise { - const previewRes = await stack.preview() - this.updatedBucketObjects = this.updatedBucketObjects.concat( - getUpdatedObjectsFromPreview(previewRes.stdout) - ) - } - - private replaceMatchWithinWebchat(regex: RegExp, replacement: string): void { - let fileContent = readFileSync(WEBCHAT_BOTONIC_PATH, { - encoding: 'utf8', - }) - fileContent = fileContent.replace(regex, `"${replacement}"`) - writeFileSync(WEBCHAT_BOTONIC_PATH, fileContent, { encoding: 'utf8' }) - } - - private async runStack( - stackToDeploy: 'backend' | 'frontend' - ): Promise { - const stack = await this.withAwsProvider( - await this.initStack(stackToDeploy) - ) - await this.refreshStack(stack) - if (this.isDestroy) { - await this.destroyStack(stack) - return undefined - } else { - await this.updateUpdatedBucketObjects(stack) - const updateResults = await this.updateStack(stack) - return updateResults - } - } - - async deploy(): Promise { - await this.run({ destroy: false }) - } - - async destroy(): Promise { - await this.run({ destroy: true }) - } - - private async run({ destroy = false }: RunOptions): Promise { - await this.beforeRun(destroy) - const backendResults = await this.runStack('backend') - if (backendResults) { - const websocketUrl = backendResults.outputs['websocketUrl'].value - this.programConfig['websocketUrl'] = websocketUrl - const apiUrl = backendResults.outputs['apiUrl'].value - this.programConfig['apiUrl'] = apiUrl - this.programConfig['nlpModelsUrl'] = - backendResults.outputs['nlpModelsUrl'].value - const websocketReplacementUrl = this.projectConfig?.customDomain - ? `${WSS_PROTOCOL_PREFIX}${this.projectConfig.customDomain}/${WEBSOCKET_ENDPOINT_PATH_NAME}/` - : websocketUrl - this.replaceMatchWithinWebchat(/WEBSOCKET_URL/g, websocketReplacementUrl) - const restApiReplacementUrl = this.projectConfig?.customDomain - ? `${HTTPS_PROTOCOL_PREFIX}${this.projectConfig.customDomain}/${REST_SERVER_ENDPOINT_PATH_NAME}/` - : apiUrl - this.replaceMatchWithinWebchat(/REST_API_URL/g, restApiReplacementUrl) - } - const frontendResults = await this.runStack('frontend') - if (frontendResults && this.updatedBucketObjects.length > 0) { - await this.doInvalidateUpdatedFiles( - frontendResults, - this.updatedBucketObjects - ) - } - return - } - - private async doInvalidateUpdatedFiles( - updateResults: UpResult, - updatedBucketObjects: string[] - ): Promise { - try { - const cacheInvalidator = new CacheInvalidator( - this.projectConfig as AWSCredentials - ) - const cloudfrontId = updateResults.outputs['cloudfrontId'].value - await cacheInvalidator.invalidateBucketObjects( - cloudfrontId, - INVALIDATION_PATH_PREFIX, - updatedBucketObjects - ) - } catch (e) { - console.log('Could not invalidate cache for files.', e) - } - } - - private setExecutionVariables(): void { - env.PULUMI_CONFIG_PASSPHRASE = process.env.PULUMI_CONFIG_PASSPHRASE || '' - env.PATH += `:${this.pulumiDownloader.getBinaryPath()}` - } - - private doPulumiLoginLocally(): void { - // TODO: Login in our S3 bucket ? - // TODO: Leave it configurable - execSync(`pulumi login --local --non-interactive`) - } -} diff --git a/packages/botonic-pulumi/src/system-utils.ts b/packages/botonic-pulumi/src/system-utils.ts deleted file mode 100644 index 6ebef0ac15..0000000000 --- a/packages/botonic-pulumi/src/system-utils.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { execSync } from 'child_process' -import { readdirSync, statSync } from 'fs' -import { homedir, platform } from 'os' -import { clean } from 'semver' - -export function execCommand(command: string): string { - return String(execSync(command)).trim() -} - -export function isWindows(): boolean { - return platform() === 'win32' -} - -export function getHomeDirectory(): string { - return isWindows() ? homedir() : execCommand('eval echo ~${SUDO_USER}') -} - -export function crawlDirectory(dir: string, f: (_: string) => void): void { - const files = readdirSync(dir) - for (const file of files) { - const filePath = `${dir}/${file}` - const stat = statSync(filePath) - if (stat.isDirectory()) crawlDirectory(filePath, f) - if (stat.isFile()) f(filePath) - } -} - -export function getCleanVersionForPackage(packageName: string): string | null { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const { version } = require(`${packageName}/package.json`) // TODO: Test that works on Windows - return clean(version) -} diff --git a/packages/botonic-pulumi/tests/detect-updated-objects.test.ts b/packages/botonic-pulumi/tests/detect-updated-objects.test.ts deleted file mode 100644 index 11e0fcf51b..0000000000 --- a/packages/botonic-pulumi/tests/detect-updated-objects.test.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { getUpdatedObjectsFromPreview } from '../src/aws/cache-invalidator' - -const previewOutputWithoutChanges = ` -Previewing update (frontend-dev): - - pulumi:pulumi:Stack myProject-frontend-dev running - pulumi:providers:aws botonic-myProject-dev-aws-provider - static-webchat-contents botonic-myProject-dev-static-webchat-contents - aws:s3:Bucket botonic-myProject-dev-webchat-contents-bucket - pulumi:providers:aws east - aws:s3:BucketObject index.html [diff: ~source] - aws:s3:BucketObject webchat.botonic.js.LICENSE.txt [diff: ~source] - aws:s3:BucketObject webchat.botonic.js [diff: ~source] - aws:acm:Certificate certificate [diff: +__defaults] - aws:route53:Record bot-1.sandbox0.hubtype.com-validation [diff: +__defaults] - aws:acm:CertificateValidation certificateValidation [diff: +__defaults] - aws:cloudfront:Distribution botonic-myProject-dev-cdn [diff: ~restrictions,viewerCertificate] - aws:route53:Record bot-1.sandbox0.hubtype.com [diff: +__defaults~aliases] - pulumi:pulumi:Stack myProject-frontend-dev - -Resources: - 26 unchanged -` - -const previewOutputWithChanges = ` -Previewing update (frontend-dev): - - pulumi:pulumi:Stack myProject-frontend-dev running - pulumi:providers:aws botonic-myProject-dev-aws-provider - static-webchat-contents botonic-myProject-dev-static-webchat-contents - aws:s3:Bucket botonic-myProject-dev-webchat-contents-bucket - pulumi:providers:aws east - aws:s3:BucketObject index.html [diff: ~source] - aws:s3:BucketObject webchat.botonic.js.LICENSE.txt [diff: ~source] - ~ aws:s3:BucketObject webchat.botonic.js update [diff: ~source] - aws:acm:Certificate certificate [diff: +__defaults] - aws:route53:Record bot-1.sandbox0.hubtype.com-validation [diff: +__defaults] - aws:acm:CertificateValidation certificateValidation [diff: +__defaults] - aws:cloudfront:Distribution botonic-myProject-dev-cdn [diff: ~restrictions,viewerCertificate] - aws:route53:Record bot-1.sandbox0.hubtype.com [diff: +__defaults~aliases] - pulumi:pulumi:Stack myProject-frontend-dev - -Resources: - ~ 1 to update - 25 unchanged -` - -it('TEST: Returns an empty list when there are no changes', () => { - const sut = getUpdatedObjectsFromPreview(previewOutputWithoutChanges) - expect(sut).toEqual([]) -}) - -it('TEST: Returns list with changed files on changes', () => { - const sut = getUpdatedObjectsFromPreview(previewOutputWithChanges) - expect(sut).toEqual(['webchat.botonic.js']) -}) diff --git a/packages/botonic-pulumi/tsconfig.json b/packages/botonic-pulumi/tsconfig.json deleted file mode 100644 index e4ce2c4444..0000000000 --- a/packages/botonic-pulumi/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "esModuleInterop": true, - "outDir": "./lib" - }, - "exclude": ["tests", "lib"] -} From c338127812503dbb36497556134022d1a28d8e71 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:41:18 +0100 Subject: [PATCH 06/46] chore(botonic): remove create-botonic-app package --- packages/create-botonic-app/babel.config.json | 10 - .../dev-template/api/package.json | 29 - .../api/src/handlers/botExecutor.js | 21 - .../dev-template/api/src/handlers/index.js | 10 - .../dev-template/api/src/handlers/sender.js | 3 - .../dev-template/api/src/rest/app.ts | 14 - .../dev-template/api/src/rest/index.js | 13 - .../dev-template/api/src/websocket/index.js | 13 - .../dev-template/api/src/websocket/onauth.js | 37 - .../api/src/websocket/onconnect.js | 3 - .../api/src/websocket/ondisconnect.js | 22 - .../dev-template/api/tsconfig.json | 12 - .../dev-template/api/webpack.config.js | 20 - .../dev-template/aws.config.js | 12 - .../dev-template/bot/package.json | 36 - .../dev-template/bot/src/actions/Audio.jsx | 15 - .../dev-template/bot/src/actions/Buttons.jsx | 21 - .../dev-template/bot/src/actions/Carousel.jsx | 50 - .../dev-template/bot/src/actions/Custom.jsx | 18 - .../dev-template/bot/src/actions/Document.jsx | 15 - .../dev-template/bot/src/actions/Image.jsx | 15 - .../dev-template/bot/src/actions/Location.jsx | 12 - .../dev-template/bot/src/actions/Replies.jsx | 16 - .../dev-template/bot/src/actions/Text.jsx | 22 - .../dev-template/bot/src/actions/TextAll.jsx | 20 - .../dev-template/bot/src/actions/Video.jsx | 15 - .../dev-template/bot/src/actions/Welcome.jsx | 14 - .../dev-template/bot/src/assets/.gitkeep | 0 .../dev-template/bot/src/index.js | 12 - .../dev-template/bot/src/locales/index.js | 1 - .../dev-template/bot/src/nlp/data/en/.gitkeep | 0 .../intent-classification/models/en/.gitkeep | 0 .../nlp/tasks/intent-classification/train.ts | 68 - .../bot/src/nlp/tasks/ner/models/en/.gitkeep | 0 .../bot/src/nlp/tasks/ner/train.ts | 61 - .../dev-template/bot/src/plugins.js | 29 - .../dev-template/bot/src/routes.js | 42 - .../dev-template/package.json | 34 - .../dev-template/tsconfig.json | 18 - .../custom-messages/calendar-message.jsx | 27 - .../dev-template/webchat/index.html | 21 - .../dev-template/webchat/index.js | 25 - .../dev-template/webchat/package.json | 36 - .../dev-template/webchat/webchat-config.js | 10 - .../dev-template/webchat/webpack.config.js | 9 - packages/create-botonic-app/package-lock.json | 4802 ----------------- packages/create-botonic-app/package.json | 27 - .../src/create-botonic-app.js | 187 - .../template/api/package.json | 25 - .../template/api/src/parser.js | 17 - .../template/api/src/rest/app.ts | 13 - .../template/api/src/rest/index.js | 7 - .../template/api/src/websocket/index.js | 11 - .../template/api/src/websocket/onconnect.js | 7 - .../api/src/websocket/ondisconnect.js | 11 - .../template/api/src/websocket/onmessage.js | 58 - .../template/api/tsconfig.json | 14 - .../template/api/webpack.config.js | 17 - .../template/bot/package.json | 36 - .../template/bot/src/actions/Welcome.jsx | 6 - .../template/bot/src/assets/.gitkeep | 0 .../template/bot/src/index.js | 8 - .../template/bot/src/locales/index.js | 1 - .../template/bot/src/nlp/data/en/.gitkeep | 0 .../nlp/data/en/business.order.status.yaml | 37 - .../nlp/data/en/business.product.search.yaml | 60 - .../nlp/data/en/smalltalk.farewell.bye.yaml | 9 - .../data/en/smalltalk.farewell.courtesy.yaml | 14 - .../data/en/smalltalk.greeting.courtesy.yaml | 10 - .../nlp/data/en/smalltalk.greeting.hi.yaml | 12 - .../bot/src/nlp/data/en/smalltalk.thanks.yaml | 12 - .../intent-classification/models/en/.gitkeep | 0 .../nlp/tasks/intent-classification/train.ts | 68 - .../bot/src/nlp/tasks/ner/models/en/.gitkeep | 0 .../template/bot/src/nlp/tasks/ner/train.ts | 61 - .../template/bot/src/plugins.js | 23 - .../template/bot/src/routes.js | 3 - .../create-botonic-app/template/package.json | 29 - .../create-botonic-app/template/tsconfig.json | 18 - .../template/webchat/index.html | 20 - .../template/webchat/index.js | 24 - .../template/webchat/package.json | 36 - .../template/webchat/webchat-config.js | 1 - .../template/webchat/webpack.config.js | 9 - 84 files changed, 6574 deletions(-) delete mode 100644 packages/create-botonic-app/babel.config.json delete mode 100644 packages/create-botonic-app/dev-template/api/package.json delete mode 100644 packages/create-botonic-app/dev-template/api/src/handlers/botExecutor.js delete mode 100644 packages/create-botonic-app/dev-template/api/src/handlers/index.js delete mode 100644 packages/create-botonic-app/dev-template/api/src/handlers/sender.js delete mode 100644 packages/create-botonic-app/dev-template/api/src/rest/app.ts delete mode 100644 packages/create-botonic-app/dev-template/api/src/rest/index.js delete mode 100644 packages/create-botonic-app/dev-template/api/src/websocket/index.js delete mode 100644 packages/create-botonic-app/dev-template/api/src/websocket/onauth.js delete mode 100644 packages/create-botonic-app/dev-template/api/src/websocket/onconnect.js delete mode 100644 packages/create-botonic-app/dev-template/api/src/websocket/ondisconnect.js delete mode 100644 packages/create-botonic-app/dev-template/api/tsconfig.json delete mode 100644 packages/create-botonic-app/dev-template/api/webpack.config.js delete mode 100644 packages/create-botonic-app/dev-template/aws.config.js delete mode 100644 packages/create-botonic-app/dev-template/bot/package.json delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Audio.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Buttons.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Carousel.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Custom.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Document.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Image.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Location.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Replies.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Text.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/TextAll.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Video.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/actions/Welcome.jsx delete mode 100644 packages/create-botonic-app/dev-template/bot/src/assets/.gitkeep delete mode 100644 packages/create-botonic-app/dev-template/bot/src/index.js delete mode 100644 packages/create-botonic-app/dev-template/bot/src/locales/index.js delete mode 100644 packages/create-botonic-app/dev-template/bot/src/nlp/data/en/.gitkeep delete mode 100644 packages/create-botonic-app/dev-template/bot/src/nlp/tasks/intent-classification/models/en/.gitkeep delete mode 100644 packages/create-botonic-app/dev-template/bot/src/nlp/tasks/intent-classification/train.ts delete mode 100644 packages/create-botonic-app/dev-template/bot/src/nlp/tasks/ner/models/en/.gitkeep delete mode 100644 packages/create-botonic-app/dev-template/bot/src/nlp/tasks/ner/train.ts delete mode 100644 packages/create-botonic-app/dev-template/bot/src/plugins.js delete mode 100644 packages/create-botonic-app/dev-template/bot/src/routes.js delete mode 100644 packages/create-botonic-app/dev-template/package.json delete mode 100644 packages/create-botonic-app/dev-template/tsconfig.json delete mode 100644 packages/create-botonic-app/dev-template/webchat/custom-messages/calendar-message.jsx delete mode 100644 packages/create-botonic-app/dev-template/webchat/index.html delete mode 100644 packages/create-botonic-app/dev-template/webchat/index.js delete mode 100644 packages/create-botonic-app/dev-template/webchat/package.json delete mode 100644 packages/create-botonic-app/dev-template/webchat/webchat-config.js delete mode 100644 packages/create-botonic-app/dev-template/webchat/webpack.config.js delete mode 100644 packages/create-botonic-app/package-lock.json delete mode 100644 packages/create-botonic-app/package.json delete mode 100644 packages/create-botonic-app/src/create-botonic-app.js delete mode 100644 packages/create-botonic-app/template/api/package.json delete mode 100644 packages/create-botonic-app/template/api/src/parser.js delete mode 100644 packages/create-botonic-app/template/api/src/rest/app.ts delete mode 100644 packages/create-botonic-app/template/api/src/rest/index.js delete mode 100644 packages/create-botonic-app/template/api/src/websocket/index.js delete mode 100644 packages/create-botonic-app/template/api/src/websocket/onconnect.js delete mode 100644 packages/create-botonic-app/template/api/src/websocket/ondisconnect.js delete mode 100644 packages/create-botonic-app/template/api/src/websocket/onmessage.js delete mode 100644 packages/create-botonic-app/template/api/tsconfig.json delete mode 100644 packages/create-botonic-app/template/api/webpack.config.js delete mode 100644 packages/create-botonic-app/template/bot/package.json delete mode 100644 packages/create-botonic-app/template/bot/src/actions/Welcome.jsx delete mode 100644 packages/create-botonic-app/template/bot/src/assets/.gitkeep delete mode 100644 packages/create-botonic-app/template/bot/src/index.js delete mode 100644 packages/create-botonic-app/template/bot/src/locales/index.js delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/data/en/.gitkeep delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/data/en/business.order.status.yaml delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/data/en/business.product.search.yaml delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.farewell.bye.yaml delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.farewell.courtesy.yaml delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.greeting.courtesy.yaml delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.greeting.hi.yaml delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.thanks.yaml delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/tasks/intent-classification/models/en/.gitkeep delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/tasks/intent-classification/train.ts delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/tasks/ner/models/en/.gitkeep delete mode 100644 packages/create-botonic-app/template/bot/src/nlp/tasks/ner/train.ts delete mode 100644 packages/create-botonic-app/template/bot/src/plugins.js delete mode 100644 packages/create-botonic-app/template/bot/src/routes.js delete mode 100644 packages/create-botonic-app/template/package.json delete mode 100644 packages/create-botonic-app/template/tsconfig.json delete mode 100644 packages/create-botonic-app/template/webchat/index.html delete mode 100644 packages/create-botonic-app/template/webchat/index.js delete mode 100644 packages/create-botonic-app/template/webchat/package.json delete mode 100644 packages/create-botonic-app/template/webchat/webchat-config.js delete mode 100644 packages/create-botonic-app/template/webchat/webpack.config.js diff --git a/packages/create-botonic-app/babel.config.json b/packages/create-botonic-app/babel.config.json deleted file mode 100644 index 88172bd47c..0000000000 --- a/packages/create-botonic-app/babel.config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "presets": [ - [ - "@babel/preset-env", - { - "useBuiltIns": "entry" - } - ] - ] -} \ No newline at end of file diff --git a/packages/create-botonic-app/dev-template/api/package.json b/packages/create-botonic-app/dev-template/api/package.json deleted file mode 100644 index 462460f4cd..0000000000 --- a/packages/create-botonic-app/dev-template/api/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "api", - "version": "1.0.0", - "main": "server.js", - "scripts": { - "start": "concurrently \"yarn:start:*\"", - "start:rest": "webpack --env target=rest --watch", - "start:websocket": "webpack --env target=websocket --watch --mode=development", - "clean": "rimraf dist", - "build": "yarn clean & webpack --mode=production", - "build:rest": "yarn rimraf dist/rest & webpack --mode=production --env target=rest provider=aws", - "build:websocket": "yarn rimraf dist/websocket & webpack --mode=production --env target=websocket provider=aws", - "build:handlers": "yarn rimraf dist/handlers & webpack --mode=production --env target=handlers provider=aws" - }, - "license": "MIT", - "devDependencies": { - "@types/jsonwebtoken": "^8.5.4", - "webpack": "^5.36.2", - "webpack-cli": "^4.7.0" - }, - "dependencies": { - "@botonic/api": "dev", - "aws-sdk": "^2.981.0", - "cors": "^2.8.5", - "express": "^4.17.1", - "jsonwebtoken": "^8.5.1", - "morgan": "^1.10.0" - } -} diff --git a/packages/create-botonic-app/dev-template/api/src/handlers/botExecutor.js b/packages/create-botonic-app/dev-template/api/src/handlers/botExecutor.js deleted file mode 100644 index e67934be6c..0000000000 --- a/packages/create-botonic-app/dev-template/api/src/handlers/botExecutor.js +++ /dev/null @@ -1,21 +0,0 @@ -// eslint-disable-next-line filenames/match-regex -import { botExecutorHandlerFactory } from '@botonic/api/src/handlers/bot-executor' -import { dataProviderFactory } from '@botonic/core/lib/esm/data-provider' -import { app as bot } from 'bot' - -import { handlers } from '.' - -const dataProvider = dataProviderFactory(process.env.DATA_PROVIDER_URL) - -async function botExecutor({ input, session, lastRoutePath, websocketId }) { - const { messageEvents } = await bot.input({ - dataProvider, - input, - session, - lastRoutePath, - }) - await handlers.run('sender', { events: messageEvents, websocketId }) -} - -// eslint-disable-next-line no-undef -export default botExecutorHandlerFactory(ENV, botExecutor) diff --git a/packages/create-botonic-app/dev-template/api/src/handlers/index.js b/packages/create-botonic-app/dev-template/api/src/handlers/index.js deleted file mode 100644 index f30f6b2c95..0000000000 --- a/packages/create-botonic-app/dev-template/api/src/handlers/index.js +++ /dev/null @@ -1,10 +0,0 @@ -import { Handlers } from '@botonic/api/src/handlers' -import { Environments } from '@botonic/api/src/index' -export const handlers = - // eslint-disable-next-line no-undef - ENV === Environments.LOCAL - ? new Handlers({ - botExecutor: require('./botExecutor').default, - sender: require('./sender').default, - }) - : new Handlers(undefined) diff --git a/packages/create-botonic-app/dev-template/api/src/handlers/sender.js b/packages/create-botonic-app/dev-template/api/src/handlers/sender.js deleted file mode 100644 index fc419278e6..0000000000 --- a/packages/create-botonic-app/dev-template/api/src/handlers/sender.js +++ /dev/null @@ -1,3 +0,0 @@ -import { senderHandlerFactory } from '@botonic/api/src/handlers/sender' -// eslint-disable-next-line no-undef -export default senderHandlerFactory(ENV) diff --git a/packages/create-botonic-app/dev-template/api/src/rest/app.ts b/packages/create-botonic-app/dev-template/api/src/rest/app.ts deleted file mode 100644 index d7e59baeb3..0000000000 --- a/packages/create-botonic-app/dev-template/api/src/rest/app.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { routes } from '@botonic/api/src/rest/routes' -import * as cors from 'cors' -import * as express from 'express' -import * as morgan from 'morgan' - -export function getApp(env: string, args: any) { - const app = express() - app.use(express.json()) - app.use(express.urlencoded({ extended: true })) - app.use(cors()) - app.use(morgan('tiny')) - app.use(routes(args)) - return app -} diff --git a/packages/create-botonic-app/dev-template/api/src/rest/index.js b/packages/create-botonic-app/dev-template/api/src/rest/index.js deleted file mode 100644 index 305a918dc7..0000000000 --- a/packages/create-botonic-app/dev-template/api/src/rest/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import { restServerFactory } from '@botonic/api/src/rest' - -import { handlers } from '../handlers' -import { getApp } from './app' - -export default restServerFactory({ - // eslint-disable-next-line no-undef - env: ENV, - // eslint-disable-next-line no-undef - app: getApp(ENV, { - handlers, - }), -}) diff --git a/packages/create-botonic-app/dev-template/api/src/websocket/index.js b/packages/create-botonic-app/dev-template/api/src/websocket/index.js deleted file mode 100644 index 3bc52a4183..0000000000 --- a/packages/create-botonic-app/dev-template/api/src/websocket/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import { websocketServerFactory } from '@botonic/api/src/websocket' - -import { onAuth } from './onauth' -import { onConnect } from './onconnect' -import { onDisconnect } from './ondisconnect' - -export default websocketServerFactory({ - // eslint-disable-next-line no-undef - env: ENV, - onConnect, - onAuth, - onDisconnect, -}) diff --git a/packages/create-botonic-app/dev-template/api/src/websocket/onauth.js b/packages/create-botonic-app/dev-template/api/src/websocket/onauth.js deleted file mode 100644 index f332e1b38a..0000000000 --- a/packages/create-botonic-app/dev-template/api/src/websocket/onauth.js +++ /dev/null @@ -1,37 +0,0 @@ -import { ConnectionEventStatuses, EventTypes } from '@botonic/core' -import { dataProviderFactory } from '@botonic/core/lib/esm/data-provider' -import { decode } from 'jsonwebtoken' -import { ulid } from 'ulid' - -export const onAuth = async ({ websocketId, data, send }) => { - const { token } = JSON.parse(data) - const { userId } = decode(token) - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - let user = await dp.getUser(userId) - // console.log('got user', { user }) - await dp.saveEvent({ - eventType: EventTypes.CONNECTION, - userId, - eventId: ulid(), - createdAt: new Date().toISOString(), - status: ConnectionEventStatuses.CONNECTED, - }) - if (!user) { - // console.log('create user connection id', websocketId) - user = await dp.saveUser({ - id: userId, - websocketId, - isOnline: true, - route: '/', - session: JSON.stringify({}), - }) - // console.log('created user', { user }) - } else { - // UPDATE USER CONNECTION - user = await dp.updateUser({ - ...user, - websocketId, - }) - // console.log('updated user', { user }) - } -} diff --git a/packages/create-botonic-app/dev-template/api/src/websocket/onconnect.js b/packages/create-botonic-app/dev-template/api/src/websocket/onconnect.js deleted file mode 100644 index 739bd558ef..0000000000 --- a/packages/create-botonic-app/dev-template/api/src/websocket/onconnect.js +++ /dev/null @@ -1,3 +0,0 @@ -export const onConnect = async websocketId => { - console.log('Connected Successfully') -} diff --git a/packages/create-botonic-app/dev-template/api/src/websocket/ondisconnect.js b/packages/create-botonic-app/dev-template/api/src/websocket/ondisconnect.js deleted file mode 100644 index 09dcdb4737..0000000000 --- a/packages/create-botonic-app/dev-template/api/src/websocket/ondisconnect.js +++ /dev/null @@ -1,22 +0,0 @@ -import { ConnectionEventStatuses, EventTypes } from '@botonic/core' -import { dataProviderFactory } from '@botonic/core/lib/esm/data-provider' -import { ulid } from 'ulid' - -export const onDisconnect = async websocketId => { - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - try { - const user = await dp.getUserByWebsocketId(websocketId) - if (!user) throw new Error('User not found') - await dp.updateUser({ ...user, isOnline: false, websocketId: '' }) - await dp.saveEvent({ - eventType: EventTypes.CONNECTION, - userId: user.id, - eventId: ulid(), - createdAt: new Date().toISOString(), - status: ConnectionEventStatuses.DISCONNECTED, - }) - } catch (e) { - console.log({ e }) - } - console.log('Disconnected') -} diff --git a/packages/create-botonic-app/dev-template/api/tsconfig.json b/packages/create-botonic-app/dev-template/api/tsconfig.json deleted file mode 100644 index 648a5d5efb..0000000000 --- a/packages/create-botonic-app/dev-template/api/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "lib": ["ES6"], - "baseUrl": ".", - "rootDir": "src", - "outDir": "dist", - "paths": { - "src/*": ["./src/*"] - } - }, - "include": ["src"] -} diff --git a/packages/create-botonic-app/dev-template/api/webpack.config.js b/packages/create-botonic-app/dev-template/api/webpack.config.js deleted file mode 100644 index 4b80074782..0000000000 --- a/packages/create-botonic-app/dev-template/api/webpack.config.js +++ /dev/null @@ -1,20 +0,0 @@ -const apiRestConfig = require('@botonic/dx/botonic-app-config/webpack/api-rest') -const apiWebsocketConfig = require('@botonic/dx/botonic-app-config/webpack/api-ws') -const handlersConfig = require('@botonic/dx/botonic-app-config/webpack/api-handlers') -module.exports = function (env, argv) { - const config = { - projectPath: __dirname, - env, - argv, - mode: argv.mode, - } - if (env.target === 'rest') { - return [apiRestConfig(config)] - } else if (env.target === 'websocket') { - return [apiWebsocketConfig(config)] - } else if (env.target === 'handlers') { - return [handlersConfig(config)] - } - - return [apiRestConfig(config), apiWebsocketConfig(config)] -} diff --git a/packages/create-botonic-app/dev-template/aws.config.js b/packages/create-botonic-app/dev-template/aws.config.js deleted file mode 100644 index 52b1463060..0000000000 --- a/packages/create-botonic-app/dev-template/aws.config.js +++ /dev/null @@ -1,12 +0,0 @@ -exports.default = { - region: process.env.AWS_REGION, - profile: process.env.AWS_PROFILE, - tags: { - Scope: 'Botonic-1.0', - Maintainer: 'team.botonic', - }, - // customDomain: 'bot-1.sandbox0.hubtype.com', - projectName: 'botonic', - stackName: 'dev', - tableName: 'dev_user_events', -} diff --git a/packages/create-botonic-app/dev-template/bot/package.json b/packages/create-botonic-app/dev-template/bot/package.json deleted file mode 100644 index ac34b34e39..0000000000 --- a/packages/create-botonic-app/dev-template/bot/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "bot", - "version": "1.0.0", - "main": "src/index.js", - "scripts": { - "build": "webpack --env target=node --mode=production", - "start": "webpack-dev-server --env target=node --mode=development", - "test": "jest", - "train": "yarn train:ner; yarn train:intent-classification", - "train-parallel": "concurrently \"yarn:train:*\"", - "train:ner": "ts-node src/nlp/tasks/ner/train.ts", - "train:intent-classification": "ts-node src/nlp/tasks/intent-classification/train.ts" - }, - "jest": { - "rootDir": "tests", - "transformIgnorePatterns": [ - "/node_modules/(?!@botonic|react-children-utilities).+\\.(js|jsx)$" - ], - "moduleNameMapper": { - "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", - "\\.(scss|css|less)$": "/__mocks__/styleMock.js" - } - }, - "dependencies": { - "@babel/runtime": "^7.6.2", - "@botonic/react": "dev", - "prop-types": "^15.7.2", - "react-is": "^17.0.2" - }, - "devDependencies": { - "jest": "^26.6.3", - "webpack": "^5.36.2", - "webpack-cli": "^4.7.0", - "webpack-dev-server": "4.0.0-rc.0" - } -} diff --git a/packages/create-botonic-app/dev-template/bot/src/actions/Audio.jsx b/packages/create-botonic-app/dev-template/bot/src/actions/Audio.jsx deleted file mode 100644 index b0551bedde..0000000000 --- a/packages/create-botonic-app/dev-template/bot/src/actions/Audio.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import { Audio, Button, Text } from '@botonic/react/src/experimental' -import React from 'react' -export default class extends React.Component { - render() { - return ( - <> - Audios -

{this.props.children}

- - ) - } -} - -export default customMessage({ - name: 'calendar', - component: CalendarMessage, -}) diff --git a/packages/create-botonic-app/dev-template/webchat/index.html b/packages/create-botonic-app/dev-template/webchat/index.html deleted file mode 100644 index a79a2de113..0000000000 --- a/packages/create-botonic-app/dev-template/webchat/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - Botonic - - - - - - - - diff --git a/packages/create-botonic-app/dev-template/webchat/index.js b/packages/create-botonic-app/dev-template/webchat/index.js deleted file mode 100644 index 2a17c3796b..0000000000 --- a/packages/create-botonic-app/dev-template/webchat/index.js +++ /dev/null @@ -1,25 +0,0 @@ -import { - BrowserDevApp, - BrowserProdApp, - FullstackDevApp, - FullstackProdApp, -} from '@botonic/react/src/experimental' - -import { webchat } from './webchat-config' -export let app - -if (FULLSTACK) { - app = PRODUCTION - ? new FullstackProdApp(webchat) - : new FullstackDevApp({ ...webchat, playgroundCode: PLAYGROUND_CODE }) -} else { - const appParams = { - routes: require('../bot/src/routes').routes, - plugins: require('../bot/src/plugins').plugins, - locales: require('../bot/src/locales').locales, - ...webchat, - } - app = PRODUCTION - ? new BrowserProdApp(appParams) - : new BrowserDevApp(appParams) -} diff --git a/packages/create-botonic-app/dev-template/webchat/package.json b/packages/create-botonic-app/dev-template/webchat/package.json deleted file mode 100644 index 3a2b86d2b4..0000000000 --- a/packages/create-botonic-app/dev-template/webchat/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "webchat", - "version": "1.0.0", - "scripts": { - "build": "yarn build:fullstack", - "build:fullstack": "webpack --mode=production --env fullstack", - "build:browser": "webpack --mode=production", - "start": "yarn start:fullstack", - "start:fullstack": "webpack serve --env fullstack --open", - "start:browser": "webpack serve --open", - "test": "jest" - }, - "jest": { - "rootDir": "tests", - "transformIgnorePatterns": [ - "/node_modules/(?!@botonic|react-children-utilities).+\\.(js|jsx)$" - ], - "moduleNameMapper": { - "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", - "\\.(scss|css|less)$": "/__mocks__/styleMock.js" - } - }, - "main": "index.js", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.6.2", - "@botonic/react": "dev", - "react-calendar": "^3.4.0" - }, - "devDependencies": { - "jest": "^26.6.3", - "webpack": "^5.36.2", - "webpack-cli": "^4.7.0", - "webpack-dev-server": "4.0.0-rc.0" - } -} diff --git a/packages/create-botonic-app/dev-template/webchat/webchat-config.js b/packages/create-botonic-app/dev-template/webchat/webchat-config.js deleted file mode 100644 index acbd363c4f..0000000000 --- a/packages/create-botonic-app/dev-template/webchat/webchat-config.js +++ /dev/null @@ -1,10 +0,0 @@ -import CalendarMessage from './custom-messages/calendar-message' - -export const webchat = { - theme: { - brand: { color: 'blue' }, - message: { - customTypes: [CalendarMessage], - }, - }, -} diff --git a/packages/create-botonic-app/dev-template/webchat/webpack.config.js b/packages/create-botonic-app/dev-template/webchat/webpack.config.js deleted file mode 100644 index a2e9b3f65e..0000000000 --- a/packages/create-botonic-app/dev-template/webchat/webpack.config.js +++ /dev/null @@ -1,9 +0,0 @@ -const webchatConfig = require('@botonic/dx/botonic-app-config/webpack/webchat') - -module.exports = (env, argv) => - webchatConfig({ - projectPath: __dirname, - env, - argv, - mode: argv.mode, - }) diff --git a/packages/create-botonic-app/package-lock.json b/packages/create-botonic-app/package-lock.json deleted file mode 100644 index 7e22daef10..0000000000 --- a/packages/create-botonic-app/package-lock.json +++ /dev/null @@ -1,4802 +0,0 @@ -{ - "name": "create-botonic-app", - "version": "0.1.0-dev", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/cli": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.14.8.tgz", - "integrity": "sha512-lcy6Lymft9Rpfqmrqdd4oTDdUx9ZwaAhAfywVrHG4771Pa6PPT0danJ1kDHBXYqh4HHSmIdA+nlmfxfxSDPtBg==", - "dev": true, - "requires": { - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.2", - "chokidar": "^3.4.0", - "commander": "^4.0.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "make-dir": "^2.1.0", - "slash": "^2.0.0", - "source-map": "^0.5.0" - } - }, - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", - "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==", - "dev": true - }, - "@babel/core": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", - "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helpers": "^7.14.6", - "@babel/parser": "^7.14.6", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", - "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", - "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", - "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", - "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", - "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-wrap-function": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", - "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", - "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", - "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/helpers": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", - "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", - "dev": true, - "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", - "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", - "dev": true - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", - "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", - "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.15.4", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", - "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", - "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.15.4" - }, - "dependencies": { - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true - }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - } - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", - "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", - "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", - "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", - "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", - "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.15.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", - "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", - "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", - "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", - "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/preset-env": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", - "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", - "@babel/plugin-proposal-async-generator-functions": "^7.15.8", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.15.4", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.15.6", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.15.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@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-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.15.3", - "@babel/plugin-transform-classes": "^7.15.4", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.15.4", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.15.4", - "@babel/plugin-transform-modules-systemjs": "^7.15.4", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.15.4", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.15.8", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.15.6", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.5", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.16.0", - "semver": "^6.3.0" - }, - "dependencies": { - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true - }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/traverse": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", - "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.7", - "@babel/types": "^7.14.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "to-fast-properties": "^2.0.0" - } - }, - "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.2", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.2.tgz", - "integrity": "sha512-Fb8WxUFOBQVl+CX4MWet5o7eCc6Pj04rXIwVKZ6h1NnqTo45eOQW6aWyhG25NIODvWFwTDMwBsYxrQ3imxpetg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^5.1.2", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "@samverschueren/stream-to-observable": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", - "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", - "requires": { - "any-observable": "^0.3.0" - } - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "optional": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "optional": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "optional": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "optional": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "optional": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "optional": true - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", - "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.16.2" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "optional": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "optional": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "optional": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caniuse-lite": { - "version": "1.0.30001245", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz", - "integrity": "sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "check-node-version": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-4.2.1.tgz", - "integrity": "sha512-YYmFYHV/X7kSJhuN/QYHUu998n/TRuDe8UenM3+m5NrkiH670lb9ILqHIvBencvJc4SDh+XcbXMR4b+TtubJiw==", - "requires": { - "chalk": "^3.0.0", - "map-values": "^1.0.1", - "minimist": "^1.2.0", - "object-filter": "^1.0.2", - "run-parallel": "^1.1.4", - "semver": "^6.3.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "optional": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "optional": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "optional": true - }, - "core-js-compat": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.0.tgz", - "integrity": "sha512-R09rKZ56ccGBebjTLZHvzDxhz93YPT37gBm6qUhnwj3Kt7aCjjZWD1injyNbyeFHxNKfeZBSyds6O9n3MKq1sw==", - "dev": true, - "requires": { - "browserslist": "^4.17.5", - "semver": "7.0.0" - }, - "dependencies": { - "browserslist": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz", - "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001271", - "electron-to-chromium": "^1.3.878", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001271", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001271.tgz", - "integrity": "sha512-BBruZFWmt3HFdVPS8kceTBIguKxu4f99n5JNp06OlPD/luoAMIaIK5ieV5YjnBLH3Nysai9sxj9rpJj4ZisXOA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.878", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.878.tgz", - "integrity": "sha512-O6yxWCN9ph2AdspAIszBnd9v8s11hQx8ub9w4UGApzmNRnoKhbulOWqbO8THEQec/aEHtvy+donHZMlh6l1rbA==", - "dev": true - }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true, - "optional": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "optional": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "optional": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "electron-to-chromium": { - "version": "1.3.776", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.776.tgz", - "integrity": "sha512-V0w7eFSBoFPpdw4xexjVPZ770UDZIevSwkkj4W97XbE3IsCsTRFpa7/yXGZ88EOQAUEA09JMMsWK0xsw0kRAYw==", - "dev": true - }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "optional": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "optional": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "optional": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "optional": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "optional": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "optional": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "optional": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "optional": true - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "optional": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "optional": true - }, - "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "optional": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "optional": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "optional": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "requires": { - "symbol-observable": "^1.1.0" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "optional": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "optional": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "optional": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "optional": true - }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - } - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" - }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", - "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "requires": { - "chalk": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "optional": true - }, - "map-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-values/-/map-values-1.0.1.tgz", - "integrity": "sha512-BbShUnr5OartXJe1GeccAWtfro11hhgNJg6G9/UtWKjVGvV5U4C09cg5nk8JUevhXODaXY+hQ3xxMUKSs62ONQ==" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "optional": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "optional": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "optional": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "optional": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-filter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/object-filter/-/object-filter-1.0.2.tgz", - "integrity": "sha512-NahvP2vZcy1ZiiYah30CEPw0FpDcSkSePJBMpzl5EQgCmISijiGuJm3SPYp7U+Lf2TljyaIw3E5EgkEx/TNEVA==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "optional": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "optional": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "optional": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true, - "optional": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "optional": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true, - "optional": true - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "optional": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "optional": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true, - "optional": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "^1.0.0" - } - } - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "optional": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "optional": true, - "requires": { - "ret": "~0.1.10" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "optional": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "optional": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "optional": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "optional": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true, - "optional": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "optional": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "optional": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "optional": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "optional": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "optional": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "optional": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "optional": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true, - "optional": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true, - "optional": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true, - "optional": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "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.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } -} diff --git a/packages/create-botonic-app/package.json b/packages/create-botonic-app/package.json deleted file mode 100644 index bffd76ade9..0000000000 --- a/packages/create-botonic-app/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "create-botonic-app", - "version": "0.1.0-dev", - "description": "Scaffold a new Botonic project", - "main": "index.js", - "bin": "./dist/create-botonic-app.js", - "scripts": { - "prepublishOnly": "npm run build", - "build": "babel src -d dist", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "dependencies": { - "chalk": "^4.1.2", - "check-node-version": "^4.2.1", - "execa": "^5.0.0", - "fs-extra": "^9.0.1", - "listr": "^0.14.3", - "yargs": "^16.0.3" - }, - "author": "", - "license": "ISC", - "devDependencies": { - "@babel/cli": "^7.13.16", - "@babel/core": "^7.14.0", - "@babel/preset-env": "^7.14.1" - } -} diff --git a/packages/create-botonic-app/src/create-botonic-app.js b/packages/create-botonic-app/src/create-botonic-app.js deleted file mode 100644 index 4bf024001a..0000000000 --- a/packages/create-botonic-app/src/create-botonic-app.js +++ /dev/null @@ -1,187 +0,0 @@ -#!/usr/bin/env node - -// Usage: -// `$ yarn create botonic-app ./path/to/new-project` - -// eslint-disable-next-line node/shebang -import chalk from 'chalk' -import checkNodeVersion from 'check-node-version' -import execa from 'execa' -import fs from 'fs-extra' -import Listr from 'listr' -import path from 'path' -import yargs from 'yargs' - -import { name, version } from '../package.json' - -const style = { - error: chalk.bold.red, - warning: chalk.keyword('orange'), - success: chalk.greenBright, - info: chalk.grey, - - header: chalk.bold.underline.hex('#e8e8e8'), - cmd: chalk.hex('#808080'), - botonic: chalk.hex('#5c85ff'), - love: chalk.redBright, - - green: chalk.green, -} - -const { _: args, 'yarn-install': yarnInstall, typescript } = yargs - .scriptName(name) - .usage('Usage: $0 [option]') - .example('$0 newapp') - .option('yarn-install', { - default: true, - type: 'boolean', - describe: 'Skip yarn install with --no-yarn-install', - }) - .version(version) - .strict().argv - -const targetDir = String(args).replace(/,/g, '-') -if (!targetDir) { - console.error('Please specify the project directory') - console.log( - ` ${chalk.cyan('yarn create botonic-app')} ${chalk.green( - '' - )}` - ) - console.log() - console.log('For example:') - console.log( - ` ${chalk.cyan('yarn create botonic-app')} ${chalk.green( - 'my-botonic-app' - )}` - ) - process.exit(1) -} - -const newAppDir = path.resolve(process.cwd(), targetDir) -const appDirExists = fs.existsSync(newAppDir) -const templateDir = path.resolve(__dirname, '../template') -const devTemplateDir = path.resolve(__dirname, '../dev-template') - -const createProjectTasks = ({ newAppDir }) => { - return [ - { - title: `${appDirExists ? 'Using' : 'Creating'} directory '${newAppDir}'`, - task: () => { - if (appDirExists) { - // make sure that the target directory is empty - if (fs.readdirSync(newAppDir).length > 0) { - console.error(`'${newAppDir}' already exists and is not empty.`) - process.exit(1) - } - } else { - fs.ensureDirSync(path.dirname(newAppDir)) - } - fs.copySync(devTemplateDir, newAppDir) - }, - }, - ] -} - -const installNodeModulesTasks = ({ newAppDir }) => { - return [ - { - title: 'Checking node and yarn compatibility', - task: () => { - return new Promise((resolve, reject) => { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const { engines } = require(path.join(newAppDir, 'package.json')) - - checkNodeVersion(engines, (_error, result) => { - if (result.isSatisfied) { - return resolve() - } - - const errors = Object.keys(result.versions).map(name => { - const { version, wanted } = result.versions[name] - return `${name} ${wanted} required, but you have ${version}.` - }) - return reject(new Error(errors.join('\n'))) - }) - }) - }, - }, - { - title: "Running 'yarn install'... (This could take a while)", - skip: () => { - if (yarnInstall === false) { - return 'skipped on request' - } - }, - task: () => { - return execa('yarn install', { - shell: true, - cwd: newAppDir, - }) - }, - }, - ] -} - -new Listr( - [ - { - title: 'Creating Botonic app', - task: () => new Listr(createProjectTasks({ newAppDir })), - }, - { - title: 'Installing packages', - task: () => new Listr(installNodeModulesTasks({ newAppDir })), - }, - ], - { collapse: false, exitOnError: true } -) - .run() - // eslint-disable-next-line promise/always-return - .then(() => { - // zOMG the semicolon below is a real Prettier thing. What?? - // https://prettier.io/docs/en/rationale.html#semicolons - ;[ - '', - style.success('Thanks for trying out Botonic!'), - '', - ` ⚡️ ${style.botonic( - 'Get up and running fast with this Quick Start guide' - )}: https://botonic.io/docs/getting-started`, - '', - style.header('Join the Community'), - '', - `${style.botonic(' ❖ Join our Chat')}: https://slack.botonic.io`, - '', - style.header('Get some help'), - '', - `${style.botonic( - ' ❖ Get started with the Tutorial' - )}: https://botonic.io/docs/create-convapp`, - `${style.botonic(' ❖ Read the Documentation')}: https://botonic.io/docs`, - '', - `${style.botonic( - ' ❖ Follow us on Twitter' - )}: https://twitter.com/botonic_`, - '', - `${style.header(`Become a Contributor`)} ${style.love('❤')}`, - '', - `${style.botonic( - ' ❖ Learn how to get started' - )}: https://github.com/hubtype/botonic/blob/master/CONTRIBUTING.md`, - `${style.botonic( - ' ❖ Find a Good First Issue' - )}: https://github.com/hubtype/botonic/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22`, - '', - `${style.header(`Fire it up!`)} 🚀`, - '', - `${style.botonic(` > ${style.green(`cd ${targetDir}`)}`)}`, - `${style.botonic(` > ${style.green(`yarn serve`)}`)}`, - '', - ].map(item => console.log(item)) - }) - .catch(e => { - console.log() - console.log(e) - process.exit(1) - }) diff --git a/packages/create-botonic-app/template/api/package.json b/packages/create-botonic-app/template/api/package.json deleted file mode 100644 index 4bab24c20c..0000000000 --- a/packages/create-botonic-app/template/api/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "api", - "version": "1.0.0", - "main": "server.js", - "scripts": { - "start": "concurrently \"yarn:start:*\"", - "start:rest": "webpack --env target=rest --watch", - "start:websocket": "webpack --env target=websocket --watch --mode=development", - "clean": "rimraf dist", - "build": "yarn clean & webpack --mode=production", - "build:rest": "yarn rimraf dist/rest & webpack --mode=production --env target=rest provider=aws", - "build:websocket": "yarn rimraf dist/websocket & webpack --mode=production --env target=websocket provider=aws" - }, - "license": "MIT", - "devDependencies": { - "webpack": "^5.36.2", - "webpack-cli": "^4.7.0" - }, - "dependencies": { - "@botonic/api": "alpha", - "cors": "^2.8.5", - "express": "^4.17.1", - "morgan": "^1.10.0" - } -} diff --git a/packages/create-botonic-app/template/api/src/parser.js b/packages/create-botonic-app/template/api/src/parser.js deleted file mode 100644 index f9eca2a66f..0000000000 --- a/packages/create-botonic-app/template/api/src/parser.js +++ /dev/null @@ -1,17 +0,0 @@ -export function htmlToBotonicMessage(html) { - // XML parsing library (https://www.npmjs.com/package/xml-js) - // convert XML nodes to JSON messages - // inject absolute URL to webview buttons - // - // - const regexContent = /]*>([^<]*)<\/message[^>]*>/g - let messages = [] - let m - do { - m = regexContent.exec(html) - if (m) { - messages.push({ type: 'text', data: m[1] }) - } - } while (m) - return messages -} diff --git a/packages/create-botonic-app/template/api/src/rest/app.ts b/packages/create-botonic-app/template/api/src/rest/app.ts deleted file mode 100644 index fdae959f5e..0000000000 --- a/packages/create-botonic-app/template/api/src/rest/app.ts +++ /dev/null @@ -1,13 +0,0 @@ -import * as express from 'express' -import * as cors from 'cors' -import * as morgan from 'morgan' -import { routes } from '@botonic/api/src/rest/routes' -import { app as bot } from 'bot/src' - -export let app -app = express() -app.use(express.json()) -app.use(express.urlencoded({ extended: true })) -app.use(cors()) -app.use(morgan('tiny')) -app.use(routes(bot)) diff --git a/packages/create-botonic-app/template/api/src/rest/index.js b/packages/create-botonic-app/template/api/src/rest/index.js deleted file mode 100644 index 274431dd1e..0000000000 --- a/packages/create-botonic-app/template/api/src/rest/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import { restServerFactory } from '@botonic/api/src/rest' -import { app } from './app' - -export default restServerFactory({ - env: ENV, - app, -}) diff --git a/packages/create-botonic-app/template/api/src/websocket/index.js b/packages/create-botonic-app/template/api/src/websocket/index.js deleted file mode 100644 index a88b17f572..0000000000 --- a/packages/create-botonic-app/template/api/src/websocket/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import { websocketServerFactory } from '@botonic/api/src/websocket' -import { onMessage } from './onmessage' -import { onConnect } from './onconnect' -import { onDisconnect } from './ondisconnect' - -export default websocketServerFactory({ - env: ENV, - onConnect, - onMessage, - onDisconnect, -}) diff --git a/packages/create-botonic-app/template/api/src/websocket/onconnect.js b/packages/create-botonic-app/template/api/src/websocket/onconnect.js deleted file mode 100644 index ecf81f0eec..0000000000 --- a/packages/create-botonic-app/template/api/src/websocket/onconnect.js +++ /dev/null @@ -1,7 +0,0 @@ -import { dataProviderFactory } from '@botonic/api/src/data-provider' - -export const onConnect = async websocketId => { - const dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - await dp.addConnection(websocketId) - console.log('Connected Successfully') -} diff --git a/packages/create-botonic-app/template/api/src/websocket/ondisconnect.js b/packages/create-botonic-app/template/api/src/websocket/ondisconnect.js deleted file mode 100644 index 858d0eedca..0000000000 --- a/packages/create-botonic-app/template/api/src/websocket/ondisconnect.js +++ /dev/null @@ -1,11 +0,0 @@ -import { dataProviderFactory } from '@botonic/api/src/data-provider' - -export const onDisconnect = async websocketId => { - var dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - await dp.deleteConnection(websocketId) - try { - const user = await dp.getUserByWebsocketId(websocketId) - await dp.updateUser({ ...user, isOnline: false, websocketId: '' }) - } catch (e) {} - console.log('Disconnected') -} diff --git a/packages/create-botonic-app/template/api/src/websocket/onmessage.js b/packages/create-botonic-app/template/api/src/websocket/onmessage.js deleted file mode 100644 index 3085ad87ee..0000000000 --- a/packages/create-botonic-app/template/api/src/websocket/onmessage.js +++ /dev/null @@ -1,58 +0,0 @@ -import { dataProviderFactory } from '@botonic/api/src/data-provider' -import { app } from 'bot/src' -import { ulid } from 'ulid' -import { BotonicOutputParser } from '@botonic/core/src/output-parser' -import { - MessageEventAck, - MessageEventFrom, -} from '@botonic/core/src/models/events/message' - -export const onMessage = async ({ websocketId, data, send }) => { - const botonicOutputParser = new BotonicOutputParser() - var dp = dataProviderFactory(process.env.DATA_PROVIDER_URL) - var { message, sender } = JSON.parse(data) - const senderId = sender.id - await dp.updateConnection(websocketId, senderId) - let user = await dp.getUser(senderId) - if (!user) { - user = await dp.saveUser({ - id: senderId, - isOnline: true, - route: '/', - session: JSON.stringify({}), - websocketId: websocketId, - }) - } - const parsedUserEvent = botonicOutputParser.parseFromUserInput(message) - await dp.saveEvent({ - ...parsedUserEvent, - userId: user.id, - eventId: ulid(), - createdAt: new Date().toISOString(), - from: MessageEventFrom.USER, - ack: MessageEventAck.SENT, - }) - const output = await app.input({ - input: message, - session: JSON.parse(user.session), - lastRoutePath: user.route, - }) - const messages = output.parsedResponse - for (const messageEvent of messages) { - await dp.saveEvent({ - ...messageEvent, - userId: user.id, - eventId: ulid(), - createdAt: new Date().toISOString(), - from: MessageEventFrom.BOT, - ack: MessageEventAck.SENT, - }) - await send(messageEvent) - } - await dp.updateUser({ - ...user, - session: JSON.stringify(output.session), - route: output.lastRoutePath, - websocketId: websocketId, - }) -} diff --git a/packages/create-botonic-app/template/api/tsconfig.json b/packages/create-botonic-app/template/api/tsconfig.json deleted file mode 100644 index 1680ad361d..0000000000 --- a/packages/create-botonic-app/template/api/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../../tsconfig.compilerOption.json", - "compilerOptions": { - "lib": ["ES6"], - "baseUrl": ".", - "rootDir": "src", - "tsBuildInfoFile": "dist/tsconfig.tsbuildinfo", - "outDir": "dist", - "paths": { - "src/*": ["./src/*"] - } - }, - "include": ["src"] -} diff --git a/packages/create-botonic-app/template/api/webpack.config.js b/packages/create-botonic-app/template/api/webpack.config.js deleted file mode 100644 index 0cc5c7d73f..0000000000 --- a/packages/create-botonic-app/template/api/webpack.config.js +++ /dev/null @@ -1,17 +0,0 @@ -const apiRestConfig = require('@botonic/dx/botonic-app-config/webpack/api-rest') -const apiWebsocketConfig = require('@botonic/dx/botonic-app-config/webpack/api-ws') - -module.exports = function (env, argv) { - const config = { - projectPath: __dirname, - env, - argv, - mode: argv.mode, - } - if (env.target === 'rest') { - return [apiRestConfig(config)] - } else if (env.target === 'websocket') { - return [apiWebsocketConfig(config)] - } - return [apiRestConfig(config), apiWebsocketConfig(config)] -} diff --git a/packages/create-botonic-app/template/bot/package.json b/packages/create-botonic-app/template/bot/package.json deleted file mode 100644 index fd7c801f22..0000000000 --- a/packages/create-botonic-app/template/bot/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "bot", - "version": "1.0.0", - "main": "src/index.js", - "scripts": { - "build": "webpack --env target=node --mode=production", - "start": "webpack-dev-server --env target=node --mode=development", - "test": "jest", - "train": "yarn train:ner; yarn train:intent-classification", - "train-parallel": "concurrently \"yarn:train:*\"", - "train:ner": "ts-node src/nlp/tasks/ner/train.ts", - "train:intent-classification": "ts-node src/nlp/tasks/intent-classification/train.ts" - }, - "jest": { - "rootDir": "tests", - "transformIgnorePatterns": [ - "/node_modules/(?!@botonic|react-children-utilities).+\\.(js|jsx)$" - ], - "moduleNameMapper": { - "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", - "\\.(scss|css|less)$": "/__mocks__/styleMock.js" - } - }, - "dependencies": { - "@babel/runtime": "^7.6.2", - "@botonic/react": "alpha", - "prop-types": "^15.7.2", - "react-is": "^17.0.2" - }, - "devDependencies": { - "jest": "^26.6.3", - "webpack": "^5.36.2", - "webpack-cli": "^4.7.0", - "webpack-dev-server": "4.0.0-rc.0" - } -} diff --git a/packages/create-botonic-app/template/bot/src/actions/Welcome.jsx b/packages/create-botonic-app/template/bot/src/actions/Welcome.jsx deleted file mode 100644 index 715f852f66..0000000000 --- a/packages/create-botonic-app/template/bot/src/actions/Welcome.jsx +++ /dev/null @@ -1,6 +0,0 @@ -import React from 'react' -import { Text } from '@botonic/react/src/experimental' - -const WelcomeAction = () => Welcome to Botonic! - -export default WelcomeAction diff --git a/packages/create-botonic-app/template/bot/src/assets/.gitkeep b/packages/create-botonic-app/template/bot/src/assets/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/create-botonic-app/template/bot/src/index.js b/packages/create-botonic-app/template/bot/src/index.js deleted file mode 100644 index ede0424f9d..0000000000 --- a/packages/create-botonic-app/template/bot/src/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import { NodeApp } from '@botonic/react/src/experimental' - -import { locales } from './locales' -import { plugins } from './plugins' -import { routes } from './routes' - -const config = { defaultDelay: 0, defaultTyping: 0 } -export const app = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/packages/create-botonic-app/template/bot/src/locales/index.js b/packages/create-botonic-app/template/bot/src/locales/index.js deleted file mode 100644 index 1fb527a896..0000000000 --- a/packages/create-botonic-app/template/bot/src/locales/index.js +++ /dev/null @@ -1 +0,0 @@ -export const locales = {} diff --git a/packages/create-botonic-app/template/bot/src/nlp/data/en/.gitkeep b/packages/create-botonic-app/template/bot/src/nlp/data/en/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/create-botonic-app/template/bot/src/nlp/data/en/business.order.status.yaml b/packages/create-botonic-app/template/bot/src/nlp/data/en/business.order.status.yaml deleted file mode 100644 index a02a59d621..0000000000 --- a/packages/create-botonic-app/template/bot/src/nlp/data/en/business.order.status.yaml +++ /dev/null @@ -1,37 +0,0 @@ -intent: business.order.status - -entities: - - product - -data-augmentation: - product: - - jacket - - shirt - - t-shirt - - coat - - suit - - sweater - - hat - - socks - - order: - - order - - parcel - - packet - - request - - purchase - - shipment - - material - -samples: - - Where is my [order]? - - Where is my [product]? - - Is my [order] delayed? - - When will my [order] arrive? - - When will my [product] arrive? - - Will my [order] arrive tomorrow? - - My [order] should have arrived yesterday - - My [order] should have arrived today - - I was expecting my [order] today - - I was expecting my [order] to arrive yesterday - - Can I expect my [order] anytime soon? diff --git a/packages/create-botonic-app/template/bot/src/nlp/data/en/business.product.search.yaml b/packages/create-botonic-app/template/bot/src/nlp/data/en/business.product.search.yaml deleted file mode 100644 index 3feabcfb46..0000000000 --- a/packages/create-botonic-app/template/bot/src/nlp/data/en/business.product.search.yaml +++ /dev/null @@ -1,60 +0,0 @@ -intent: business.product.search - -entities: - - product - - color - - size - -data-augmentation: - product: - - jacket - - shirt - - t-shirt - - coat - - suit - - sweater - - hat - - socks - - color: - - black - - white - - blue - - red - - gray - - purple - - orange - - beige - - yellow - - pink - - size: - - XS - - S - - M - - L - - XL - - XXL - -samples: - - "[product]" - - "[color] [product]" - - "[size] [product]" - - I'm looking for [product] - - Show me [color] [product] - - Can I get some [product] - - I'd like to get a [color] [product] - - Do you have any [color] [product]? - - Do you have any [product] in [color]? - - Do you have any [product] in [size] size? - - Do you have any [size] [product]? - - Do you have any [size] [product] available? - - Is there any [product] available? - - I wonder if you have stock of these [trousers](product) - - I want this [product] in size [size] - - Do you only have this [product] online? - - When will be stock again of this [product] in size [size]? - - I think this [product] in size [size] is out of stock, can you confirm that? - - I would like to buy a [color] [product] but your website says there is no stock, is it right? - - When will you have the [color] [product] available? - - I would like to know if there is stock of [product], [size] size diff --git a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.farewell.bye.yaml b/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.farewell.bye.yaml deleted file mode 100644 index bfcc6084d0..0000000000 --- a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.farewell.bye.yaml +++ /dev/null @@ -1,9 +0,0 @@ -intent: smalltalk.farewell.bye - -samples: - - Bye - - bye bye! - - Adios - - See ya! - - See you later - - Goodbye diff --git a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.farewell.courtesy.yaml b/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.farewell.courtesy.yaml deleted file mode 100644 index 8cfb4c3931..0000000000 --- a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.farewell.courtesy.yaml +++ /dev/null @@ -1,14 +0,0 @@ -intent: smalltalk.farewell.courtesy - -samples: - - Thanks, bye - - Thanks for the help, goodbye - - Thank you, bye - - Thank you, goodbye - - Thanks goodbye - - Thanks good bye - - It was a pleasure talking to you - - I really enjoyed this conversation, bye! - - Thanks for your help, bye bye - - Farewell! - - Godspeed! diff --git a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.greeting.courtesy.yaml b/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.greeting.courtesy.yaml deleted file mode 100644 index a0d89c3646..0000000000 --- a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.greeting.courtesy.yaml +++ /dev/null @@ -1,10 +0,0 @@ -intent: smalltalk.greeting.courtesy - -samples: - - How are you? - - Hi how are you? - - Hello how are you? - - Hola how are you? - - How are you doing? - - Hope you are doing well? - - Hello hope you are doing well? diff --git a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.greeting.hi.yaml b/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.greeting.hi.yaml deleted file mode 100644 index 8dfd2a0aa5..0000000000 --- a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.greeting.hi.yaml +++ /dev/null @@ -1,12 +0,0 @@ -intent: smalltalk.greeting.hi - -samples: - - Hi - - Hi there - - Hola - - Hey! - - Hello - - Hello there! - - Hya - - Hya there - - Howdy diff --git a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.thanks.yaml b/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.thanks.yaml deleted file mode 100644 index 9d7b9ccd3e..0000000000 --- a/packages/create-botonic-app/template/bot/src/nlp/data/en/smalltalk.thanks.yaml +++ /dev/null @@ -1,12 +0,0 @@ -intent: smalltalk.thanks - -samples: - - OK thank you - - OK thanks - - OK - - Thanks - - Thank you - - Oh, thank you - - I appreciate that - - That's helpful - - That was really helpful diff --git a/packages/create-botonic-app/template/bot/src/nlp/tasks/intent-classification/models/en/.gitkeep b/packages/create-botonic-app/template/bot/src/nlp/tasks/intent-classification/models/en/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/create-botonic-app/template/bot/src/nlp/tasks/intent-classification/train.ts b/packages/create-botonic-app/template/bot/src/nlp/tasks/intent-classification/train.ts deleted file mode 100644 index 050b0af7fd..0000000000 --- a/packages/create-botonic-app/template/bot/src/nlp/tasks/intent-classification/train.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { - Dataset, - DatabaseStorage, - BotonicIntentClassifier, - Preprocessor, - INTENT_CLASSIFIER_TEMPLATE, -} from '@botonic/nlp' -import { join } from 'path' - -const LOCALE = 'en' - -const DATASET_DIR_PATH = join(process.cwd(), 'src', 'nlp', 'data', LOCALE) -const MODEL_DIR_PATH = join( - process.cwd(), - 'src', - 'nlp', - 'tasks', - 'intent-classification', - 'models' -) - -const MAX_SEQUENCE_LENGTH = 12 -const EMBEDDINGS_DIMENSION = 50 -const EMBEDDINGS_TYPE = 'glove' -const EPOCHS = 4 -const BATCH_SIZE = 8 - -const dataset = Dataset.load(DATASET_DIR_PATH) - -console.log(`Dataset size: ${dataset.length}`) - -const { trainSet, testSet } = dataset.split() -console.log(`Train set size: ${trainSet.length}`) -console.log(`Test set size: ${testSet.length}`) - -const preprocessor = new Preprocessor(LOCALE, MAX_SEQUENCE_LENGTH) - -const vocabulary = trainSet.extractVocabulary(preprocessor) - -const trainModel = async () => { - const classifier = new BotonicIntentClassifier( - { - locale: LOCALE, - maxLength: MAX_SEQUENCE_LENGTH, - intents: dataset.intents, - vocabulary, - }, - preprocessor - ) - - const model = await classifier.createModel( - INTENT_CLASSIFIER_TEMPLATE.SIMPLE_NN, - await DatabaseStorage.with(LOCALE, EMBEDDINGS_TYPE, EMBEDDINGS_DIMENSION), - { units: 128, dropout: 0.6 } - ) - - classifier.setModel(model) - - await classifier.train(trainSet, EPOCHS, BATCH_SIZE) - - const { accuracy, loss } = await classifier.evaluate(testSet) - console.log(`Test Accuracy: ${accuracy}`) - console.log(`Test loss: ${loss}`) - - await classifier.saveModel(MODEL_DIR_PATH) -} - -trainModel() diff --git a/packages/create-botonic-app/template/bot/src/nlp/tasks/ner/models/en/.gitkeep b/packages/create-botonic-app/template/bot/src/nlp/tasks/ner/models/en/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/create-botonic-app/template/bot/src/nlp/tasks/ner/train.ts b/packages/create-botonic-app/template/bot/src/nlp/tasks/ner/train.ts deleted file mode 100644 index de34e2d9f3..0000000000 --- a/packages/create-botonic-app/template/bot/src/nlp/tasks/ner/train.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { - Dataset, - DatabaseStorage, - Preprocessor, - BotonicNer, - NER_TEMPLATE, -} from '@botonic/nlp' -import { join } from 'path' - -const LOCALE = 'en' - -const DATASET_DIR_PATH = join(process.cwd(), 'src', 'nlp', 'data', LOCALE) -const MODEL_DIR_PATH = join( - process.cwd(), - 'src', - 'nlp', - 'tasks', - 'ner', - 'models' -) - -const MAX_SEQUENCE_LENGTH = 12 -const EMBEDDINGS_DIMENSION = 50 -const EMBEDDINGS_TYPE = 'glove' -const EPOCHS = 4 -const BATCH_SIZE = 8 - -const dataset = Dataset.load(DATASET_DIR_PATH) -const { trainSet, testSet } = dataset.split() - -const preprocessor = new Preprocessor(LOCALE, MAX_SEQUENCE_LENGTH) -const vocabulary = trainSet.extractVocabulary(preprocessor) - -const trainModel = async () => { - const recognizer = new BotonicNer( - { - locale: LOCALE, - maxLength: MAX_SEQUENCE_LENGTH, - entities: dataset.entities, - vocabulary, - }, - preprocessor - ) - - const model = await recognizer.createModel( - NER_TEMPLATE.BILSTM, - await DatabaseStorage.with(LOCALE, EMBEDDINGS_TYPE, EMBEDDINGS_DIMENSION) - ) - - recognizer.setModel(model) - - await recognizer.train(trainSet, EPOCHS, BATCH_SIZE) - - const { accuracy, loss } = await recognizer.evaluate(testSet) - console.log(`Test Accuracy: ${accuracy}`) - console.log(`Test loss: ${loss}`) - - await recognizer.saveModel(MODEL_DIR_PATH) -} - -trainModel() diff --git a/packages/create-botonic-app/template/bot/src/plugins.js b/packages/create-botonic-app/template/bot/src/plugins.js deleted file mode 100644 index b02009727e..0000000000 --- a/packages/create-botonic-app/template/bot/src/plugins.js +++ /dev/null @@ -1,23 +0,0 @@ -export const plugins = [ - // > yarn workspace bot add @botonic/plugin-intent-classification@alpha - /***** - { - id: 'intent-classification', - resolve: require('@botonic/plugin-intent-classification'), - options: { - locales: ['en'], - }, - }, - *****/ - - // > yarn workspace bot add @botonic/plugin-ner@alpha - /***** - { - id: 'ner', - resolve: require('@botonic/plugin-ner'), - options: { - locales: ['en'], - }, - }, - *****/ -] diff --git a/packages/create-botonic-app/template/bot/src/routes.js b/packages/create-botonic-app/template/bot/src/routes.js deleted file mode 100644 index e0961553c3..0000000000 --- a/packages/create-botonic-app/template/bot/src/routes.js +++ /dev/null @@ -1,3 +0,0 @@ -import Welcome from './actions/Welcome' - -export const routes = [{ text: /hi/i, action: Welcome }] diff --git a/packages/create-botonic-app/template/package.json b/packages/create-botonic-app/template/package.json deleted file mode 100644 index 447ed18559..0000000000 --- a/packages/create-botonic-app/template/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "private": true, - "scripts": { - "bt": "botonic", - "serve": "yarn bt serve --preview", - "train": "yarn workspace bot train", - "clean": "rm yarn.lock yarn-error.log; rm -rf node_modules */node_modules; yarn cache clean", - "build:rest": "yarn workspace api build:rest;", - "build:websocket": "yarn workspace api build:websocket;", - "build:webchat": "yarn workspace webchat build" - }, - "workspaces": { - "packages": [ - "api", - "bot", - "webchat", - "webviews", - "packages/*" - ] - }, - "devDependencies": { - "@botonic/dx": "alpha", - "@botonic/cli": "alpha" - }, - "engines": { - "node": ">=12", - "yarn": ">=1.15" - } -} diff --git a/packages/create-botonic-app/template/tsconfig.json b/packages/create-botonic-app/template/tsconfig.json deleted file mode 100644 index 3a7f320c39..0000000000 --- a/packages/create-botonic-app/template/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "outDir": "bin", - "target": "es2016", - "module": "commonjs", - "moduleResolution": "node", - "esModuleInterop": true, - "sourceMap": true, - "experimentalDecorators": true, - "pretty": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "forceConsistentCasingInFileNames": true, - "strictNullChecks": true - }, - "files": ["index.ts"] -} diff --git a/packages/create-botonic-app/template/webchat/index.html b/packages/create-botonic-app/template/webchat/index.html deleted file mode 100644 index b0f6afb308..0000000000 --- a/packages/create-botonic-app/template/webchat/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - Botonic - - - - - - - - - \ No newline at end of file diff --git a/packages/create-botonic-app/template/webchat/index.js b/packages/create-botonic-app/template/webchat/index.js deleted file mode 100644 index 8b06e791e5..0000000000 --- a/packages/create-botonic-app/template/webchat/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import { - FullstackProdApp, - FullstackDevApp, - BrowserDevApp, - BrowserProdApp, -} from '@botonic/react/src/experimental' -import { webchat } from './webchat-config' -export let app - -if (FULLSTACK) { - app = PRODUCTION - ? new FullstackProdApp(webchat) - : new FullstackDevApp({ ...webchat, playgroundCode: PLAYGROUND_CODE }) -} else { - const appParams = { - routes: require('../bot/src/routes').routes, - plugins: require('../bot/src/plugins').plugins, - locales: require('../bot/src/locales').locales, - ...webchat, - } - app = PRODUCTION - ? new BrowserProdApp(appParams) - : new BrowserDevApp(appParams) -} diff --git a/packages/create-botonic-app/template/webchat/package.json b/packages/create-botonic-app/template/webchat/package.json deleted file mode 100644 index 6e0dcf44b2..0000000000 --- a/packages/create-botonic-app/template/webchat/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "webchat", - "version": "1.0.0", - "scripts": { - "build": "yarn build:fullstack", - "build:fullstack": "webpack --mode=production --env fullstack", - "build:browser": "webpack --mode=production", - "start": "yarn start:fullstack", - "start:fullstack": "webpack serve --env fullstack --open", - "start:browser": "webpack serve --open", - "test": "jest" - }, - "jest": { - "rootDir": "tests", - "transformIgnorePatterns": [ - "/node_modules/(?!@botonic|react-children-utilities).+\\.(js|jsx)$" - ], - "moduleNameMapper": { - "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", - "\\.(scss|css|less)$": "/__mocks__/styleMock.js" - } - }, - "main": "index.js", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.6.2", - "@botonic/react": "alpha", - "react-calendar": "^3.4.0" - }, - "devDependencies": { - "jest": "^26.6.3", - "webpack": "^5.36.2", - "webpack-cli": "^4.7.0", - "webpack-dev-server": "4.0.0-rc.0" - } -} diff --git a/packages/create-botonic-app/template/webchat/webchat-config.js b/packages/create-botonic-app/template/webchat/webchat-config.js deleted file mode 100644 index 80a09f176c..0000000000 --- a/packages/create-botonic-app/template/webchat/webchat-config.js +++ /dev/null @@ -1 +0,0 @@ -export const webchat = {} diff --git a/packages/create-botonic-app/template/webchat/webpack.config.js b/packages/create-botonic-app/template/webchat/webpack.config.js deleted file mode 100644 index a2e9b3f65e..0000000000 --- a/packages/create-botonic-app/template/webchat/webpack.config.js +++ /dev/null @@ -1,9 +0,0 @@ -const webchatConfig = require('@botonic/dx/botonic-app-config/webpack/webchat') - -module.exports = (env, argv) => - webchatConfig({ - projectPath: __dirname, - env, - argv, - mode: argv.mode, - }) From 4e9ca50f538af16be7d4e20109147bd4cac10cf9 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:43:14 +0100 Subject: [PATCH 07/46] chore(botonic): remove package-lock.json of all packages --- packages/botonic-core/package-lock.json | 2295 ----- .../package-lock.json | 5736 ------------- .../botonic-plugin-dashbot/package-lock.json | 1457 ---- .../botonic-plugin-dynamodb/package-lock.json | 351 - .../package-lock.json | 1364 --- .../package-lock.json | 433 - .../package-lock.json | 430 - .../package-lock.json | 466 -- .../package-lock.json | 461 - .../tsconfig.base.json | 19 - .../botonic-plugin-inbenta/package-lock.json | 69 - .../package-lock.json | 440 - .../tsconfig.base.json | 19 - .../botonic-plugin-luis/package-lock.json | 84 - .../botonic-plugin-segment/package-lock.json | 74 - .../botonic-plugin-watson/package-lock.json | 82 - packages/botonic-react/package-lock.json | 7405 ----------------- scripts/package-lock.json | 869 -- 18 files changed, 22054 deletions(-) delete mode 100644 packages/botonic-core/package-lock.json delete mode 100644 packages/botonic-plugin-contentful/package-lock.json delete mode 100644 packages/botonic-plugin-dashbot/package-lock.json delete mode 100644 packages/botonic-plugin-dynamodb/package-lock.json delete mode 100644 packages/botonic-plugin-flow-builder/package-lock.json delete mode 100644 packages/botonic-plugin-google-analytics/package-lock.json delete mode 100644 packages/botonic-plugin-google-translation/package-lock.json delete mode 100644 packages/botonic-plugin-hubtype-analytics/package-lock.json delete mode 100644 packages/botonic-plugin-hubtype-babel/package-lock.json delete mode 100644 packages/botonic-plugin-hubtype-babel/tsconfig.base.json delete mode 100644 packages/botonic-plugin-inbenta/package-lock.json delete mode 100644 packages/botonic-plugin-knowledge-bases/package-lock.json delete mode 100644 packages/botonic-plugin-knowledge-bases/tsconfig.base.json delete mode 100644 packages/botonic-plugin-luis/package-lock.json delete mode 100644 packages/botonic-plugin-segment/package-lock.json delete mode 100644 packages/botonic-plugin-watson/package-lock.json delete mode 100644 packages/botonic-react/package-lock.json delete mode 100644 scripts/package-lock.json diff --git a/packages/botonic-core/package-lock.json b/packages/botonic-core/package-lock.json deleted file mode 100644 index 964cdb6058..0000000000 --- a/packages/botonic-core/package-lock.json +++ /dev/null @@ -1,2295 +0,0 @@ -{ - "name": "@botonic/core", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/cli": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.0.tgz", - "integrity": "sha512-17E1oSkGk2IwNILM4jtfAvgjt+ohmpfBky8aLerUfYZhiPNg7ca+CRCxZn8QDxwNhV/upsc2VHBCqGFIR+iBfA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", - "chokidar": "^3.4.0", - "commander": "^4.0.1", - "convert-source-map": "^2.0.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.2.0", - "make-dir": "^2.1.0", - "slash": "^2.0.0" - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - } - }, - "@babel/compat-data": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", - "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", - "dev": true - }, - "@babel/core": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", - "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.0", - "@babel/parser": "^7.23.0", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.0", - "@babel/types": "^7.23.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - } - }, - "@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - } - }, - "@babel/helpers": { - "version": "7.23.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", - "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.0", - "@babel/types": "^7.23.0" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", - "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", - "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.15" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz", - "integrity": "sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", - "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", - "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", - "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", - "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", - "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", - "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", - "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", - "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", - "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", - "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", - "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", - "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", - "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", - "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", - "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.15" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", - "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", - "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", - "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", - "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.15.tgz", - "integrity": "sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.5", - "babel-plugin-polyfill-corejs3": "^0.8.3", - "babel-plugin-polyfill-regenerator": "^0.5.2", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", - "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.20", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@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-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.15", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.15", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.11", - "@babel/plugin-transform-classes": "^7.22.15", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.15", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.11", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.11", - "@babel/plugin-transform-for-of": "^7.22.15", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.11", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.15", - "@babel/plugin-transform-modules-systemjs": "^7.22.11", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-numeric-separator": "^7.22.11", - "@babel/plugin-transform-object-rest-spread": "^7.22.15", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.22.15", - "@babel/plugin-transform-parameters": "^7.22.15", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.10", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.10", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.22.19", - "babel-plugin-polyfill-corejs2": "^0.4.5", - "babel-plugin-polyfill-corejs3": "^0.8.3", - "babel-plugin-polyfill-regenerator": "^0.5.2", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "@babel/runtime": { - "version": "7.23.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz", - "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", - "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", - "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", - "dev": true, - "optional": true - }, - "@types/minipass": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-3.3.5.tgz", - "integrity": "sha512-M2BLHQdEmDmH671h0GIlOQQJrgezd1vNqq7PVj1VOsHZ2uQQb4iPiQIl0SlMdhxZPUsLIfEklmeEHXg8DJRewA==", - "dev": true, - "requires": { - "minipass": "*" - } - }, - "@types/pako": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.5.tgz", - "integrity": "sha512-cg6x1RjMyCYoAdhOyNC/144EqhdHJXXZiiTgN3o+ZtOu4+ZQVN5msZgNyxzDI1w+dMYDdRamDzto3+bkR3FFQQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1472.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1472.0.tgz", - "integrity": "sha512-U7kAHRbvTy753IXKV8Oom/AqlqnsbXG+Kw5gRbKi6VcsZ3hR/EpNMzdRXTWO5U415bnLWGo8WAqIz67PIaaKsw==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - } - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "babel-plugin-add-module-exports": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", - "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==", - "dev": true - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz", - "integrity": "sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.32.2" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caniuse-lite": { - "version": "1.0.30001547", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz", - "integrity": "sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "core-js-compat": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz", - "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==", - "dev": true, - "requires": { - "browserslist": "^4.22.1" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "dynamodb-toolbox": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", - "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" - }, - "electron-to-chromium": { - "version": "1.4.548", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.548.tgz", - "integrity": "sha512-R77KD6mXv37DOyKLN/eW1rGS61N6yHOfapNSX9w+y9DdPG83l9Gkuv7qkCFZ4Ta4JPhrjgQfYbv4Y3TnM1Hi2Q==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "optional": true - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node-json-db": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", - "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "optional": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "requires": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - }, - "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } -} diff --git a/packages/botonic-plugin-contentful/package-lock.json b/packages/botonic-plugin-contentful/package-lock.json deleted file mode 100644 index b93a51d23f..0000000000 --- a/packages/botonic-plugin-contentful/package-lock.json +++ /dev/null @@ -1,5736 +0,0 @@ -{ - "name": "@botonic/plugin-contentful", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "optional": true - }, - "@contentful/rich-text-types": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/@contentful/rich-text-types/-/rich-text-types-16.0.3.tgz", - "integrity": "sha512-BsUtXj93jo5XUt0YeUwfCkMWRoZIzJDPUIY4vMy9SwGIO9olTsMoQKadjA2ktlmK+Gg6710WH3eFKZxj2q39Iw==" - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "dev": true, - "requires": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "dev": true, - "requires": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - } - }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@nlpjs/core": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/core/-/core-4.26.1.tgz", - "integrity": "sha512-M/PeFddsi3y7Z1piFJxsLGm5/xdMhcrpOsml7s6CTEgYo8iduaT30HDd61tZxDyvvJseU6uFqlXSn7XKkAcC1g==" - }, - "@nlpjs/lang-ca": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-ca/-/lang-ca-4.26.1.tgz", - "integrity": "sha512-fD4R5tcAB0uYtNxSEF20b1KmF6nUQSbiJqrIUJI5yis4ObjCYRQnSh4bjVDKUKxyONjbD6L8EaK5GrY1/jkwFQ==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-cs": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-cs/-/lang-cs-4.26.1.tgz", - "integrity": "sha512-CqI6VB8toaJ/MlP1D4K9BctA6GpZJhMKyEy+OX9xavDe4r4ao/SxlSaIYK3izK0k+J38lJWC5lXYGazfCdTGjA==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-de": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-de/-/lang-de-4.26.1.tgz", - "integrity": "sha512-HfZQwsE5FICq9taVZDiyktmdAePVF5948NM80et0d9mx43RWDFhHKQYgtJPwfQXtdCoQtOM5TOJ2FanGwzPeaA==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-el": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-el/-/lang-el-4.26.1.tgz", - "integrity": "sha512-pcOvuSwPCXxI+2xNZZzM4V5pTRDntYoJi0SP/ic2nV4IPQ0nU2j16dYfg1HlvET/E6iN1VTqghrCaf10SMkDGA==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-en-min": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-en-min/-/lang-en-min-4.26.1.tgz", - "integrity": "sha512-1sJZ7dy7ysqzbsB8IklguvB88J8EPIv4XGVkZCcwecKtOw+fp5LAsZ3TJVmEf18iK1gD4cEGr7qZg5fpPxTpWQ==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-es": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-es/-/lang-es-4.26.1.tgz", - "integrity": "sha512-fIPQt+WPcNdyxZOCMkOPlMb4Y1iE585QxjB9IAdFz8ZtVg7mc4dlv5f46ud7ppdMh84iLOuOdo6pzu2Cqm14lw==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-fr": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-fr/-/lang-fr-4.26.1.tgz", - "integrity": "sha512-LTA852atCJnHtKDmtjx/ui5AnvEIkrPx+MJQ2mB3gn8ko6i2UITnJgPmJE9Kej5bLasVZOAJvU/SrfXEmnPGOw==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-hu": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-hu/-/lang-hu-4.26.1.tgz", - "integrity": "sha512-7dPUn5/ZpLZmsdRwO+dtORuMIiIpnsWbgSLIKdOLh8irhgUR+M2bYTfkdnKcrEcHzHPP8Svn7pU0xk7OKSUA1w==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-it": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-it/-/lang-it-4.26.1.tgz", - "integrity": "sha512-BZA3QnfQGW91gYaybRmHnCAPBvQggtmHZJrAmuBZUKUS12HoQm8uybjw2fZO+vahEeUQceKNDISRcT1eLLijog==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-nl": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-nl/-/lang-nl-4.26.1.tgz", - "integrity": "sha512-I/mP1RRbUN4BQ+8NXAl2FKaLHbb7f6S8JVjxHQ0sKHT4BgQ3+r0yO+DVcEsHg+vWRiY1Fyzh0gq0PhLVnF6HnA==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-pl": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-pl/-/lang-pl-4.26.1.tgz", - "integrity": "sha512-nrDXlq+TzQLE5IpXPIlFMzd8OpquvApWsouh6fmLsD9HZLZI4O3w1M4sXXLzE+9Ggu9Cy1m1QJ0/i7XCcv115g==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-pt": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-pt/-/lang-pt-4.26.1.tgz", - "integrity": "sha512-p6yZHaJ0e+n0avMHpdDw5PMk4HkKXjPbOMbrlg0dF+VRqChjxfH478Q423rDyzu/4MzDsIYB+p6KzL9AARKXpg==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-ro": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-ro/-/lang-ro-4.26.1.tgz", - "integrity": "sha512-baUdTA0DWpDR0Tn6fxo+RDN/6gbuINLCARtHwap2UR/HKQWP2XoH/DIvcjZpwUTalr5MQjso31epcdeRRapczA==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-ru": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-ru/-/lang-ru-4.26.1.tgz", - "integrity": "sha512-NaZ2DAOGxWG2Us9IyIDs3m6vhGpUaUJRVgzzHHyX3LO3xEYjZmtnA0jEpBaTOe2PuNHThv0WCZUNn9BSurV3PA==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-sl": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-sl/-/lang-sl-4.26.1.tgz", - "integrity": "sha512-QBJwcJt+oKUpAnHKNJkLkx9Xm1n4dUPC5GPYfAXTnJZf0hNWJSY21GicdWi7Vu/qFJ3ghIqtSP8D7KIPLnibNw==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-tr": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-tr/-/lang-tr-4.26.1.tgz", - "integrity": "sha512-p30uuXvE9pZeU/5XkrQfvxRgiAOBmP3EyBFGV/+P05PEogaqbsmmtVCgCnR63yeRvVnGbToPBPjRK3OO1y4AEQ==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/lang-uk": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/lang-uk/-/lang-uk-4.26.1.tgz", - "integrity": "sha512-PVEvmlhvl6BL3e/Q4qjMPsnwON3cWEYvDh9dg+Si+sjD2Edu9tajolJKcQ6ZA4I8dXrld5xuXx+DEBH/uB4uWQ==", - "requires": { - "@nlpjs/core": "^4.26.1" - } - }, - "@nlpjs/language-min": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@nlpjs/language-min/-/language-min-4.25.0.tgz", - "integrity": "sha512-g8jtbDbqtRm+dlD/1Vnb4VWfKbKteApEGVTqIMxYkk6N/HMhvLZ5J2svrxzrB98a/HZ0fb//YBfFgymnz9Oukg==" - }, - "@nlpjs/ner": { - "version": "4.27.0", - "resolved": "https://registry.npmjs.org/@nlpjs/ner/-/ner-4.27.0.tgz", - "integrity": "sha512-ptwkxriJdmgHSH9TfP10JQ1jviaSl2SupSFGUvTuWkuJhobQd3hbnlSq40V6XYvJNmqh9M9zEab/AKeghxYOTA==", - "requires": { - "@nlpjs/core": "^4.26.1", - "@nlpjs/language-min": "^4.25.0", - "@nlpjs/similarity": "^4.26.1" - } - }, - "@nlpjs/similarity": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/@nlpjs/similarity/-/similarity-4.26.1.tgz", - "integrity": "sha512-QutSBFGo/huNuz60PgqCjub0oBd9S8MLrjme33U5GzxuSvToQzXtn9/ynIia8qDm009D09VXV+LPeNE4h7yuSg==" - }, - "@samverschueren/stream-to-observable": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", - "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", - "requires": { - "any-observable": "^0.3.0" - } - }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-patch": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/json-patch/-/json-patch-0.0.30.tgz", - "integrity": "sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==" - }, - "@types/marked": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/marked/-/marked-2.0.5.tgz", - "integrity": "sha512-shRZ7XnYFD/8n8zSjKvFdto1QNSf4tONZIlNEZGrJe8GsOE8DL/hG1Hbl8gZlfLnjS7+f5tZGIaTgfpyW38h4w==", - "dev": true - }, - "@types/memoizee": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@types/memoizee/-/memoizee-0.4.8.tgz", - "integrity": "sha512-qDpXKGgwKywnQt/64fH1O0LiPA++QGIYeykEUiZ51HymKVRLnUSGcRuF60IfpPeeXiuRwiR/W4y7S5VzbrgLCA==", - "dev": true - }, - "@types/minipass": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-3.3.5.tgz", - "integrity": "sha512-M2BLHQdEmDmH671h0GIlOQQJrgezd1vNqq7PVj1VOsHZ2uQQb4iPiQIl0SlMdhxZPUsLIfEklmeEHXg8DJRewA==", - "dev": true, - "requires": { - "minipass": "*" - } - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "@types/yargs": { - "version": "13.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", - "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "adler-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", - "integrity": "sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==", - "requires": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - } - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "dependencies": { - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - } - } - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" - }, - "ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", - "dev": true - }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true - }, - "assert": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", - "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", - "dev": true, - "requires": { - "es6-object-assign": "^1.1.0", - "is-nan": "^1.2.1", - "object-is": "^1.0.1", - "util": "^0.12.0" - }, - "dependencies": { - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - } - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true - }, - "ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", - "dev": true, - "requires": { - "tslib": "^2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - } - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "async-parallel": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/async-parallel/-/async-parallel-1.2.3.tgz", - "integrity": "sha512-FWKFY4Gk8lNobUdjTY7rOjk30yfCdzQ1nbNX/dWV94RaAlBa0clGYGqXORYjdYRaylq+HDyIDzq6smVu2L0P1g==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "blessed": { - "version": "0.1.81", - "resolved": "https://registry.npmjs.org/blessed/-/blessed-0.1.81.tgz", - "integrity": "sha512-LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ==", - "dev": true - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "camelo": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelo/-/camelo-1.2.1.tgz", - "integrity": "sha512-5O6lYuw6JR8viGfxFQhJTaO7cPTsnEaJUK2Gj0JeZ0O+iO78kxfeF47ocx6Ml0K8KWbE/JgBbgi3zF6lcUkvGw==", - "dev": true, - "requires": { - "regex-escape": "^3.4.10", - "uc-first-array": "^1.1.10" - } - }, - "cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", - "dev": true, - "requires": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - } - }, - "cfb": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", - "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", - "requires": { - "adler-32": "~1.3.0", - "crc-32": "~1.2.0" - }, - "dependencies": { - "adler-32": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", - "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==" - } - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "check-types": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-spinners": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz", - "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==", - "dev": true - }, - "cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "requires": { - "@colors/colors": "1.5.0", - "string-width": "^4.2.0" - } - }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" - }, - "codepage": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", - "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "contentful": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/contentful/-/contentful-8.5.8.tgz", - "integrity": "sha512-6YyE95uDJYTyGKQYtqYrMzdDZe3sLkrC0UEnpXuIOeciGACRQP9ouTjRJnLMa5ONUPt0+UJh7JH3epNouPZWIw==", - "requires": { - "axios": "^0.21.1", - "contentful-resolve-response": "^1.3.0", - "contentful-sdk-core": "^6.8.5", - "fast-copy": "^2.1.0", - "json-stringify-safe": "^5.0.1" - } - }, - "contentful-batch-libs": { - "version": "9.4.2", - "resolved": "https://registry.npmjs.org/contentful-batch-libs/-/contentful-batch-libs-9.4.2.tgz", - "integrity": "sha512-G58ykBrAycBnfGEawyU2xvVnbPt32EghJ6kZo/JrKdGXYAWm+FnpeJJV0lpABvApExzoWc3ChH6eHU8X+M/w4g==", - "dev": true, - "requires": { - "bfj": "^7.0.2", - "date-fns": "^2.28.0", - "figures": "^3.2.0", - "https-proxy-agent": "^3.0.0", - "lodash.clonedeep": "^4.5.0", - "uuid": "^8.3.2" - } - }, - "contentful-cli": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/contentful-cli/-/contentful-cli-1.19.1.tgz", - "integrity": "sha512-UJGxV8zFnQIp3Cho0Xb4Nu8xFxRlyHipPi8RuHTmuh3D/JuZW+WJDrfBHVt7DtTxbrKdzqYJqOYlQJMf9shIsw==", - "dev": true, - "requires": { - "ast-types": "^0.14.2", - "bfj": "^7.0.2", - "blessed": "^0.1.81", - "bluebird": "^3.5.0", - "camelcase": "^6.0.0", - "chalk": "^2.4.1", - "cli-table3": "^0.6.0", - "command-exists": "^1.2.7", - "contentful-export": "^7.19.0", - "contentful-import": "^8.3.2", - "contentful-management": "^10.0.0", - "contentful-migration": "^4.12.5", - "emojic": "^1.1.11", - "execa": "^5.0.0", - "figlet": "^1.2.0", - "find-up": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "inquirer": "^8.0.0", - "inquirer-select-directory": "^1.2.0", - "listr": "^0.14.1", - "lodash": "^4.17.15", - "marked": "^4.0.12", - "mkdirp": "^1.0.3", - "mz": "^2.6.0", - "open": "^8.0.5", - "path": "^0.12.7", - "prettier": "^2.0.2", - "recast": "^0.22.0", - "rxjs": "^7.3.0", - "shell-escape": "^0.2.0", - "tar": "^6.0.1", - "to-ast": "^1.0.0", - "tree-kill": "^1.2.2", - "typescript": "^4.9.4", - "wrap-ansi": "^7.0.0", - "yargs": "~13.3.2" - }, - "dependencies": { - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - } - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "contentful-management": { - "version": "10.32.0", - "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-10.32.0.tgz", - "integrity": "sha512-vkvOs+7bFQ1Lbj0lcBqc8Fkn/p0VhGKfrRnDTGbouJoyJqB2ribIJ7J8i7/95+dsIewW8inXkwffUJxCChAwgw==", - "dev": true, - "requires": { - "@contentful/rich-text-types": "^16.0.3", - "@types/json-patch": "0.0.30", - "axios": "^0.27.1", - "contentful-sdk-core": "^7.0.1", - "fast-copy": "^3.0.0", - "lodash.isplainobject": "^4.0.6", - "type-fest": "^3.0.0" - } - }, - "contentful-sdk-core": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-7.0.6.tgz", - "integrity": "sha512-xG4+a4p7VGCuxxUWh8t3O3V6gEcPP/aSE/KkvPRMYkm8PbxWYTAYG3c5pn5lmtj1QKcsY7yjiLWRXtP4qzem3Q==", - "dev": true, - "requires": { - "fast-copy": "^2.1.7", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "p-throttle": "^4.1.1", - "qs": "^6.9.4" - }, - "dependencies": { - "fast-copy": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.7.tgz", - "integrity": "sha512-ozrGwyuCTAy7YgFCua8rmqmytECYk/JYAMXcswOcm0qvGoE3tPb7ivBeIHTOK2DiapBhDZgacIhzhQIKU5TCfA==", - "dev": true - } - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "fast-copy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", - "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - } - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - } - } - }, - "contentful-export": { - "version": "7.19.47", - "resolved": "https://registry.npmjs.org/contentful-export/-/contentful-export-7.19.47.tgz", - "integrity": "sha512-SL72BD5327YtE0AB4T/mPO1yy4W5HGXs7a0znx/DDPOp3Yw4NgvNxhkMols4atpjiX/oYAOE7VXTqMqx5GHkXA==", - "dev": true, - "requires": { - "bfj": "^7.0.2", - "bluebird": "^3.3.3", - "cli-table3": "^0.6.0", - "contentful": "^9.0.0", - "contentful-batch-libs": "^9.4.1", - "contentful-management": "^10.0.0", - "date-fns": "^2.28.0", - "figures": "^3.2.0", - "jsonwebtoken": "^9.0.0", - "listr": "^0.14.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.6.0", - "lodash.startcase": "^4.4.0", - "mkdirp": "^2.0.0", - "node-fetch": "^2.6.7", - "yargs": "^17.1.1" - }, - "dependencies": { - "axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - } - }, - "contentful": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/contentful/-/contentful-9.3.5.tgz", - "integrity": "sha512-QVXHwD9nxREBpcemC6Po2LUYStmBBHPyVbN3SKzkR+WmIZhflF6x+TDmmz2jcCg/RSN+INDZbhe8FQ1S/zTE8w==", - "dev": true, - "requires": { - "@contentful/rich-text-types": "^16.0.2", - "axios": "^0.27.0", - "contentful-resolve-response": "^1.3.12", - "contentful-sdk-core": "^7.0.5", - "fast-copy": "^2.1.7", - "json-stringify-safe": "^5.0.1" - } - }, - "contentful-management": { - "version": "10.32.0", - "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-10.32.0.tgz", - "integrity": "sha512-vkvOs+7bFQ1Lbj0lcBqc8Fkn/p0VhGKfrRnDTGbouJoyJqB2ribIJ7J8i7/95+dsIewW8inXkwffUJxCChAwgw==", - "dev": true, - "requires": { - "@contentful/rich-text-types": "^16.0.3", - "@types/json-patch": "0.0.30", - "axios": "^0.27.1", - "contentful-sdk-core": "^7.0.1", - "fast-copy": "^3.0.0", - "lodash.isplainobject": "^4.0.6", - "type-fest": "^3.0.0" - }, - "dependencies": { - "fast-copy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", - "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==", - "dev": true - } - } - }, - "contentful-sdk-core": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-7.0.6.tgz", - "integrity": "sha512-xG4+a4p7VGCuxxUWh8t3O3V6gEcPP/aSE/KkvPRMYkm8PbxWYTAYG3c5pn5lmtj1QKcsY7yjiLWRXtP4qzem3Q==", - "dev": true, - "requires": { - "fast-copy": "^2.1.7", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "p-throttle": "^4.1.1", - "qs": "^6.9.4" - } - }, - "mkdirp": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", - "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==", - "dev": true - } - } - }, - "contentful-import": { - "version": "8.5.62", - "resolved": "https://registry.npmjs.org/contentful-import/-/contentful-import-8.5.62.tgz", - "integrity": "sha512-x6O/lhseZfis+/nlPqlrzlv4N+bCH0ONyM9fFgA4WzIFZ+vsPtgDgAbVWPuwznry6SuxMDh2m0O1CgeiNqZDFA==", - "requires": { - "@discoveryjs/json-ext": "^0.5.7", - "bluebird": "^3.5.1", - "cli-table3": "^0.6.0", - "contentful-batch-libs": "^9.5.0", - "contentful-management": "^10.39.1", - "date-fns": "^2.30.0", - "joi": "^17.9.2", - "listr": "^0.14.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.6.0", - "lodash": "^4.17.10", - "p-queue": "^6.6.2", - "yargs": "^17.7.2" - }, - "dependencies": { - "axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - } - }, - "contentful-batch-libs": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/contentful-batch-libs/-/contentful-batch-libs-9.5.0.tgz", - "integrity": "sha512-YItT5z5hY/Xi6cM04XD8E1noW+fvb1CI2/Os83cabu7DZ0q6Y/L4vFCSpz+GUmFFbGa/Jyx19sTkh7kXyE7ZVA==", - "requires": { - "bfj": "^7.0.2", - "date-fns": "^2.28.0", - "figures": "^3.2.0", - "https-proxy-agent": "^3.0.0", - "lodash.clonedeep": "^4.5.0", - "uuid": "^8.3.2" - } - }, - "contentful-management": { - "version": "10.39.2", - "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-10.39.2.tgz", - "integrity": "sha512-B19Fi6XtwaAwzslVQ2tWiffqVFKUWDxd90IjX+6K7xm2Vr2Orn5kpbwWQ2RlkK957SbE5QjgAtQeqC2hnOrVww==", - "requires": { - "@contentful/rich-text-types": "^16.0.3", - "@types/json-patch": "0.0.30", - "axios": "^0.27.1", - "contentful-sdk-core": "^7.0.1", - "fast-copy": "^3.0.0", - "lodash.isplainobject": "^4.0.6", - "type-fest": "^4.0.0" - } - }, - "contentful-sdk-core": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-7.1.0.tgz", - "integrity": "sha512-RzTPnRsbCdVAhyka3wa9sDsAu9YsxoerNgaMqd63Ljb7qpG2zkdHcP7NTfyIbuHDJNJdAQdifyafxfEEwP+q/w==", - "requires": { - "fast-copy": "^2.1.7", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "p-throttle": "^4.1.1", - "qs": "^6.9.4" - }, - "dependencies": { - "fast-copy": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.7.tgz", - "integrity": "sha512-ozrGwyuCTAy7YgFCua8rmqmytECYk/JYAMXcswOcm0qvGoE3tPb7ivBeIHTOK2DiapBhDZgacIhzhQIKU5TCfA==" - } - } - }, - "date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "requires": { - "@babel/runtime": "^7.21.0" - } - }, - "fast-copy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", - "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==" - }, - "type-fest": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.1.0.tgz", - "integrity": "sha512-VJGJVepayd8OWavP+rgXt4i3bfLk+tSomTV7r4mca2XD/oTCWnkJlNkpXavkxdmtU2aKdAmFGeHvoQutOVHCZg==" - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - } - } - }, - "contentful-management": { - "version": "7.54.2", - "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-7.54.2.tgz", - "integrity": "sha512-up7a31QsVM3ADXm6CrLGp9u/AVHO/yIDJGyS9Ztesa/xlxJgGmrEMTqUevauT1Y/5vC54gBM5S8in1zcP7atqQ==", - "requires": { - "@types/json-patch": "0.0.30", - "axios": "^0.21.4", - "contentful-sdk-core": "^6.10.4", - "fast-copy": "^2.1.0", - "lodash.isplainobject": "^4.0.6", - "type-fest": "^2.5.3" - }, - "dependencies": { - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" - } - } - }, - "contentful-migration": { - "version": "4.12.9", - "resolved": "https://registry.npmjs.org/contentful-migration/-/contentful-migration-4.12.9.tgz", - "integrity": "sha512-YIdZjqSpdFzQMhFuDRg3U8+atzTGBY93c+kMRSR7lNmV0Gvf8IXgAOsC81OUJjSPSMXfkeaWOam460y7LRVSww==", - "dev": true, - "requires": { - "@hapi/hoek": "^10.0.1", - "axios": "^0.21.0", - "bluebird": "^3.7.2", - "callsites": "^3.1.0", - "cardinal": "^2.1.1", - "chalk": "^4.0.0", - "contentful-management": "^7.51.5", - "didyoumean2": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "inquirer": "^8.1.2", - "joi": "^17.4.0", - "kind-of": "^6.0.3", - "listr2": "^3.13.5", - "lodash": "^4.17.15", - "uuid": "^8.3.2", - "yargs": "^15.3.1" - }, - "dependencies": { - "@hapi/hoek": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-10.0.1.tgz", - "integrity": "sha512-CvlW7jmOhWzuqOqiJQ3rQVLMcREh0eel4IBnxDx2FAcK8g7qoJRQK4L1CPBASoCY6y8e6zuCy3f2g+HWdkzcMw==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "contentful-resolve-response": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/contentful-resolve-response/-/contentful-resolve-response-1.6.5.tgz", - "integrity": "sha512-3uH6tI8rmBnDDtzyD4fZg3aecuYYCMe0q24/sdgQELvsza+OAiqrxzyiXJIAs7c5exIp5bbLwMtZLW/33OGvxg==", - "requires": { - "fast-copy": "^2.1.7" - } - }, - "contentful-sdk-core": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-6.11.0.tgz", - "integrity": "sha512-ukKxiiHdCa/izTQbA3/VUPMQB2PZW5D2KYjV9WQVOc8QjmDhu1wpEDkYxYjOrUDgT5tM7xw6umpwlifxoYe9kQ==", - "requires": { - "fast-copy": "^2.1.0", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "p-throttle": "^4.1.1", - "qs": "^6.9.4" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "csv-parse": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", - "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" - }, - "csv-stringify": { - "version": "5.6.5", - "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", - "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "date-fns": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", - "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==" - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true - }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "didyoumean2": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/didyoumean2/-/didyoumean2-5.0.0.tgz", - "integrity": "sha512-Plha9WCF08aSGB39IsOhlk0AHecwcXtq/gMbHgylRNEv7JV3lnlt7akfdax7mnUHndEuuh57CmBaKSSXns7+YA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.2", - "fastest-levenshtein": "^1.0.12", - "lodash.deburr": "^4.1.0" - } - }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "dev": true - }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "emojic": { - "version": "1.1.17", - "resolved": "https://registry.npmjs.org/emojic/-/emojic-1.1.17.tgz", - "integrity": "sha512-o6eKBKh02CxD6lhJ5famk+phxXmQfgdITLN7qB3kcEZnJ+7l0oXVTQe+tShSOEgw1+/8q6iPUUdMqvt5Vlj7zw==", - "dev": true, - "requires": { - "camelo": "^1.2.1", - "emojilib": "^2.0.2", - "iterate-object": "^1.2.0", - "r-json": "^1.1.0" - } - }, - "emojilib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", - "dev": true - }, - "es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-object-assign": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", - "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==", - "dev": true - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - } - } - }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==", - "dev": true - }, - "exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true - }, - "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "requires": { - "type": "^2.7.2" - }, - "dependencies": { - "type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "fast-copy": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.7.tgz", - "integrity": "sha512-ozrGwyuCTAy7YgFCua8rmqmytECYk/JYAMXcswOcm0qvGoE3tPb7ivBeIHTOK2DiapBhDZgacIhzhQIKU5TCfA==" - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, - "figlet": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.6.0.tgz", - "integrity": "sha512-31EQGhCEITv6+hi2ORRPyn3bulaV9Fl4xOdR169cBzH/n1UqcxsiSB/noo6SJdD7Kfb1Ljit+IgR1USvF/XbdA==", - "dev": true - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "dependencies": { - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - } - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "frac": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", - "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "https-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", - "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "dev": true, - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "inquirer": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", - "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "inquirer-select-directory": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/inquirer-select-directory/-/inquirer-select-directory-1.2.0.tgz", - "integrity": "sha512-G6D+//DozjVi+o3VwrHu2+RjQPAb0M78Vg4c8mellV8rehly/mJFLBgs9r4VrKz/afb+Gr2fqj24jH3gYUYawQ==", - "dev": true, - "requires": { - "chalk": "1.1.1", - "cli-cursor": "2.0.0", - "figures": "2.0.0", - "inquirer": "2.0.0", - "rx-lite": "4.0.8" - }, - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true - }, - "chalk": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", - "integrity": "sha512-W10W+QfIxJlTm3VRtg8eafwUBkDfUPFvRvPv4jCD9vF4+HzlAyXJ7P3Y5yw/r+gJ1TzFEU6oFqMgp1dIVpYr0A==", - "dev": true, - "requires": { - "ansi-styles": "^2.1.0", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cli-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.0.0.tgz", - "integrity": "sha512-ywUurX98mpNoTE8LvXv6Tntx9uUuMiQ9LyoiVL7XFcb4hyYbxW80xQ5iF/k61SeTLBdVslOPgoLCL5tlvgXpsw==", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "external-editor": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", - "integrity": "sha512-0XYlP43jzxMgJjugDJ85Z0UDPnowkUbfFztNvsSGC9sJVIk97MZbGEb9WAhIVH0UgNxoLj/9ZQgB4CHJyz2GGQ==", - "dev": true, - "requires": { - "extend": "^3.0.0", - "spawn-sync": "^1.0.15", - "tmp": "^0.0.29" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "inquirer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-2.0.0.tgz", - "integrity": "sha512-ClW/liBHCfUD57ciSoxoq7fS9F3t1rvxxO5gRzdsDzfcJdKTyeMsVgRBQZkzcr8Nd2f4NIA9rm0qDl4ZXYZRUA==", - "dev": true, - "requires": { - "ansi-escapes": "^1.1.0", - "chalk": "^1.0.0", - "cli-cursor": "^1.0.1", - "cli-width": "^2.0.0", - "external-editor": "^1.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.6", - "pinkie-promise": "^2.0.0", - "run-async": "^2.2.0", - "rx": "^4.1.0", - "string-width": "^2.0.0", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", - "dev": true, - "requires": { - "restore-cursor": "^1.0.1" - } - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", - "dev": true, - "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - } - } - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "mute-stream": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", - "integrity": "sha512-m0kBTDLF/0lgzCsPVmJSKM5xkLNX7ZAB0Q+n2DP37JMIRPVC2R4c3BdO6x++bXFKftbhvSfKgwxAexME+BRDRw==", - "dev": true - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "tmp": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", - "integrity": "sha512-89PTqMWGDva+GqClOqBV9s3SMh7MA3Mq0pJUdAoHuF65YoE7O0LermaZkVfT5/Ngfo18H4eYiyG7zKOtnEbxsw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-nan": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "requires": { - "symbol-observable": "^1.1.0" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "iterate-object": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/iterate-object/-/iterate-object-1.3.4.tgz", - "integrity": "sha512-4dG1D1x/7g8PwHS9aK6QV5V94+ZvyP4+d19qDv43EzImmrndysIl4prmJ1hWWIGCqrZHyaHBm6BSEWHOLnpoNw==", - "dev": true - }, - "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-extended": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-0.11.5.tgz", - "integrity": "sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q==", - "dev": true, - "requires": { - "expect": "^24.1.0", - "jest-get-type": "^22.4.3", - "jest-matcher-utils": "^22.0.0" - } - }, - "jest-get-type": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", - "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", - "dev": true - }, - "jest-matcher-utils": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", - "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.4.3", - "pretty-format": "^22.4.3" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", - "dev": true - }, - "joi": { - "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "jsonwebtoken": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", - "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", - "dev": true, - "requires": { - "jws": "^3.2.2", - "lodash": "^4.17.21", - "ms": "^2.1.1", - "semver": "^7.3.8" - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dev": true, - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dev": true, - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", - "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==" - }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "listr-verbose-renderer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.6.0.tgz", - "integrity": "sha512-P3bA/giMu432bs3gHiKXKOIHlWanCIlRhbhCfgKNgCoyvTvZsdbfkgX1BvThYXhm36cS8pOX3Z5vxXBFZC+NQw==", - "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^2.0.1", - "figures": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", - "dev": true, - "requires": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" - }, - "lodash.deburr": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", - "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" - }, - "lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", - "dev": true - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", - "requires": { - "chalk": "^1.0.0" - } - }, - "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", - "requires": { - "es5-ext": "~0.10.2" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "marked": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", - "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==" - }, - "memoizee": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", - "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", - "requires": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", - "es6-weak-map": "^2.0.3", - "event-emitter": "^0.3.5", - "is-promise": "^2.2.2", - "lru-queue": "^0.1.0", - "next-tick": "^1.1.0", - "timers-ext": "^0.1.7" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" - }, - "moment-timezone": { - "version": "0.5.43", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.43.tgz", - "integrity": "sha512-72j3aNyuIsDxdF1i7CEgV2FfxM1r6aaqJyLB2vwb33mXYyoyLly+F1zbWqhA3/bVIoJ4szlUoMbUnVdid32NUQ==", - "requires": { - "moment": "^2.29.4" - }, - "dependencies": { - "moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "os-shim": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - }, - "p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", - "requires": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - } - }, - "p-throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-4.1.1.tgz", - "integrity": "sha512-TuU8Ato+pRTPJoDzYD4s7ocJYcNSEZRvlxoq3hcPI2kZDZ49IQ1Wkj7/gDJc3X7XiEAAvRGtDzdXJI0tC3IL1g==" - }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true - }, - "path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", - "dev": true, - "requires": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true - }, - "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - } - } - }, - "printj": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "qs": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", - "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "r-json": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/r-json/-/r-json-1.2.10.tgz", - "integrity": "sha512-hu9vyLjSlHXT62NAS7DjI9WazDlvjN0lgp3n431dCVnirVcLkZIpzSwA3orhZEKzdDD2jqNYI+w0yG0aFf4kpA==", - "dev": true - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "recast": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.22.0.tgz", - "integrity": "sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==", - "dev": true, - "requires": { - "assert": "^2.0.0", - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "dependencies": { - "ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", - "dev": true, - "requires": { - "tslib": "^2.0.1" - } - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - } - } - }, - "redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", - "dev": true, - "requires": { - "esprima": "~4.0.0" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "regex-escape": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/regex-escape/-/regex-escape-3.4.10.tgz", - "integrity": "sha512-qEqf7uzW+iYcKNLMDFnMkghhQBnGdivT6KqVQyKsyjSWnoFyooXVnxrw9dtv3AFLnD6VBGXxtZGAQNFGFTnCqA==", - "dev": true - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "dev": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", - "dev": true - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==", - "dev": true - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shell-escape": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/shell-escape/-/shell-escape-0.2.0.tgz", - "integrity": "sha512-uRRBT2MfEOyxuECseCZd28jC1AJ8hmqqneWQ4VWUTgCAFvb3wKU1jLqj6egC4Exrr88ogg3dp+zroH4wJuaXzw==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sort-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-stream/-/sort-stream-1.0.1.tgz", - "integrity": "sha512-Zey0E2WRvJWjMqDonK41j6ybUG4X116Ik2YbP3rAp4osaqAjBMIqEv9/2iTGYuhVbD2BEyQloty9khDde47BMQ==", - "requires": { - "through": "~2.3.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, - "spawn-sync": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==", - "dev": true, - "requires": { - "concat-stream": "^1.4.7", - "os-shim": "^0.1.2" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "ssf": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", - "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", - "requires": { - "frac": "~1.1.2" - } - }, - "stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, - "tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true - } - } - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", - "requires": { - "es5-ext": "~0.10.46", - "next-tick": "1" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-ast/-/to-ast-1.0.0.tgz", - "integrity": "sha512-FZpqARevv2F9BQZAeOx4b8F1tp07qqITCevw5spzKMC7ewcsP4y42kQosjctkAoROtzMNGbmD5n9ZN+vWmSN/Q==", - "dev": true, - "requires": { - "ast-types": "^0.7.2", - "esprima": "^2.1.0" - }, - "dependencies": { - "ast-types": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz", - "integrity": "sha512-RIOpVnVlltB6PcBJ5BMLx+H+6JJ/zjDGU0t7f0L6c2M1dqcK92VQopLBlPQ9R80AVXelfqYgjcPLtHtDbNFg0Q==", - "dev": true - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", - "dev": true - } - } - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "type-fest": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.9.0.tgz", - "integrity": "sha512-hR8JP2e8UiH7SME5JZjsobBlEiatFoxpzCP+R3ZeCo7kAaG1jXQE5X/buLzogM6GJu8le9Y4OcfNuIQX0rZskA==", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, - "uc-first-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/uc-first-array/-/uc-first-array-1.1.10.tgz", - "integrity": "sha512-tX2PJLrqtexTxVN9hTTY+K5gPnF2gyj7SfjPF4Q2Xhbi1fSNiO12I/G+AoMzxJLwr9R50CmVn8iAhWCvZlJm3A==", - "dev": true, - "requires": { - "ucfirst": "^1.0.0" - } - }, - "ucfirst": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ucfirst/-/ucfirst-1.0.0.tgz", - "integrity": "sha512-xbB/CQ0GdkxqH4IElZqenn/dL/tnyx7DCDASWJPE92ePbFM21kKemXI2LBeYtEvblf1Ol98hyJJS43Wu5JMQSQ==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "wmf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", - "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" - }, - "word": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", - "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" - }, - "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "xlsx": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.5.tgz", - "integrity": "sha512-lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==", - "requires": { - "adler-32": "~1.2.0", - "cfb": "^1.1.4", - "codepage": "~1.15.0", - "crc-32": "~1.2.0", - "ssf": "~0.11.2", - "wmf": "~1.0.1", - "word": "~0.3.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/packages/botonic-plugin-dashbot/package-lock.json b/packages/botonic-plugin-dashbot/package-lock.json deleted file mode 100644 index 81b8b9dfff..0000000000 --- a/packages/botonic-plugin-dashbot/package-lock.json +++ /dev/null @@ -1,1457 +0,0 @@ -{ - "name": "@botonic/plugin-dashbot", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", - "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==" - }, - "@google-cloud/dlp": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@google-cloud/dlp/-/dlp-4.4.3.tgz", - "integrity": "sha512-ZNjSqeFkiJrBTNJKVfkdpuGOa6Ov0bc6XyM7iJ+yI7rL78ZeRwQK70lU8oCp7g48J9W9quJrPA4Ni5y08wEk0A==", - "requires": { - "google-gax": "^3.5.8" - } - }, - "@grpc/grpc-js": { - "version": "1.8.21", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.21.tgz", - "integrity": "sha512-KeyQeZpxeEBSqFVTi3q2K7PiPXmgBfECc4updA1ejCLjYmoAlvvM3ZMp5ztTDUCUQmoY3CpDxvchjO1+rFkoHg==", - "requires": { - "@grpc/proto-loader": "^0.7.0", - "@types/node": ">=12.12.47" - } - }, - "@grpc/proto-loader": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz", - "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==", - "requires": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.4", - "yargs": "^17.7.2" - } - }, - "@jsdoc/salty": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.6.tgz", - "integrity": "sha512-aA+awb5yoml8TQ3CzI5Ue7sM3VMRC4l1zJJW4fgZ8OCL1wshJZhNzaf0PL85DSnOUw6QuFgeHGD/eq/xwwAF2g==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "@types/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==", - "requires": { - "@types/minimatch": "^5.1.2", - "@types/node": "*" - } - }, - "@types/linkify-it": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", - "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==" - }, - "@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, - "@types/markdown-it": { - "version": "12.2.3", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", - "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", - "requires": { - "@types/linkify-it": "*", - "@types/mdurl": "*" - } - }, - "@types/mdurl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", - "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==" - }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" - }, - "@types/node": { - "version": "20.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz", - "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==", - "requires": { - "@types/glob": "*", - "@types/node": "*" - } - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1502.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1502.0.tgz", - "integrity": "sha512-mUXUaWmbIyqE6zyIcbUUQIUgw1evK7gV1vQP7ZZEE0qi6hO2Mw99Nc25Bh+187yvRxamMTsFXvvmBViR0Q75SA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - }, - "dependencies": { - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - } - } - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "catharsis": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", - "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", - "requires": { - "lodash": "^4.17.15" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "dashbot": { - "version": "11.2.5", - "resolved": "https://registry.npmjs.org/dashbot/-/dashbot-11.2.5.tgz", - "integrity": "sha512-91cRivvGZIOqbba7C0L6RepRHANcjy8PetyyQXqBRPhnI1Wm+HeVGc9O9h9zKc2wy64jqEUlv7NojE82dyCUZg==", - "requires": { - "dashbot-logger": "^1.0.4", - "es6-promise": "4.1.0", - "isomorphic-fetch": "^3.0.0", - "lodash": "^4.17.21", - "meld": "1.3.2", - "redact-pii": "^3.2.3", - "traverse": "0.6.6", - "uuid": "3.0.1" - } - }, - "dashbot-logger": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/dashbot-logger/-/dashbot-logger-1.1.4.tgz", - "integrity": "sha512-1ShitJOqvgV9wkyqgQjHj2vV4m09/XmMB/2p9kucDKn9m82kGmBRLMgoRgE9y3L6k65QN3Wb4LGBvrNLTV5yZg==", - "requires": { - "aws-sdk": "^2.401.0", - "generic-pool": "^3.6.1", - "lodash": "4.17.21", - "pump": "^3.0.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "requires": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - }, - "es6-promise": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.0.tgz", - "integrity": "sha512-T7t1K22ALmiWPgUgnAgLNLBLqgub3DfykVmaoBw/38egKLvtofAJ5rmGml8g/Ypc5iZ8SCpyTz8/u1tDjdPEhQ==" - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "fast-text-encoding": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz", - "integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==" - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "gaxios": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.1.3.tgz", - "integrity": "sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA==", - "requires": { - "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", - "is-stream": "^2.0.0", - "node-fetch": "^2.6.9" - } - }, - "gcp-metadata": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.3.0.tgz", - "integrity": "sha512-FNTkdNEnBdlqF2oatizolQqNANMrcqJt6AAYt99B3y1aLLC8Hc5IOBb+ZnnzllodEEf6xMBp6wRcBbc16fa65w==", - "requires": { - "gaxios": "^5.0.0", - "json-bigint": "^1.0.0" - } - }, - "generic-pool": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", - "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "google-auth-library": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.9.0.tgz", - "integrity": "sha512-f7aQCJODJFmYWN6PeNKzgvy9LI2tYmXnzpNDHEjG5sDNPgGb2FXQyTBnXeSH+PAtpKESFD+LmHw3Ox3mN7e1Fg==", - "requires": { - "arrify": "^2.0.0", - "base64-js": "^1.3.0", - "ecdsa-sig-formatter": "^1.0.11", - "fast-text-encoding": "^1.0.0", - "gaxios": "^5.0.0", - "gcp-metadata": "^5.3.0", - "gtoken": "^6.1.0", - "jws": "^4.0.0", - "lru-cache": "^6.0.0" - } - }, - "google-gax": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-3.6.1.tgz", - "integrity": "sha512-g/lcUjGcB6DSw2HxgEmCDOrI/CByOwqRvsuUvNalHUK2iPPPlmAIpbMbl62u0YufGMr8zgE3JL7th6dCb1Ry+w==", - "requires": { - "@grpc/grpc-js": "~1.8.0", - "@grpc/proto-loader": "^0.7.0", - "@types/long": "^4.0.0", - "@types/rimraf": "^3.0.2", - "abort-controller": "^3.0.0", - "duplexify": "^4.0.0", - "fast-text-encoding": "^1.0.3", - "google-auth-library": "^8.0.2", - "is-stream-ended": "^0.1.4", - "node-fetch": "^2.6.1", - "object-hash": "^3.0.0", - "proto3-json-serializer": "^1.0.0", - "protobufjs": "7.2.4", - "protobufjs-cli": "1.1.1", - "retry-request": "^5.0.0" - } - }, - "google-p12-pem": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.1.tgz", - "integrity": "sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ==", - "requires": { - "node-forge": "^1.3.1" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "gtoken": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-6.1.2.tgz", - "integrity": "sha512-4ccGpzz7YAr7lxrT2neugmXQ3hP9ho2gcaityLVkiUecAiwiy60Ii8gRbZeOsXV19fYaRjgBSshs8kXw+NKCPQ==", - "requires": { - "gaxios": "^5.0.1", - "google-p12-pem": "^4.0.0", - "jws": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-stream-ended": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", - "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", - "requires": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" - } - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "js2xmlparser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", - "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", - "requires": { - "xmlcreate": "^2.0.4" - } - }, - "jsdoc": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", - "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", - "requires": { - "@babel/parser": "^7.20.15", - "@jsdoc/salty": "^0.2.1", - "@types/markdown-it": "^12.2.3", - "bluebird": "^3.7.2", - "catharsis": "^0.9.0", - "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.2", - "klaw": "^3.0.0", - "markdown-it": "^12.3.2", - "markdown-it-anchor": "^8.4.1", - "marked": "^4.0.10", - "mkdirp": "^1.0.4", - "requizzle": "^0.2.3", - "strip-json-comments": "^3.1.0", - "underscore": "~1.13.2" - } - }, - "json-bigint": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", - "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", - "requires": { - "bignumber.js": "^9.0.0" - } - }, - "jwa": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", - "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", - "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", - "requires": { - "jwa": "^2.0.0", - "safe-buffer": "^5.0.1" - } - }, - "klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "requires": { - "uc.micro": "^1.0.1" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "requires": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - } - }, - "markdown-it-anchor": { - "version": "8.6.7", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", - "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==" - }, - "marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==" - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - }, - "meld": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/meld/-/meld-1.3.2.tgz", - "integrity": "sha512-vm7Pwiv1t9evT77/etjlZRjTDa/+SgcWFdWCDtoEvgU103Uh7qr4sYPwAsE5rXgwJlZS0w7AR4mzbdu5LrrDEA==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - }, - "object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - }, - "proto3-json-serializer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-1.1.1.tgz", - "integrity": "sha512-AwAuY4g9nxx0u52DnSMkqqgyLHaW/XaPLtaAo3y/ZCfeaQB/g4YDH4kb8Wc/mWzWvu0YjOznVnfn373MVZZrgw==", - "requires": { - "protobufjs": "^7.0.0" - } - }, - "protobufjs": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.4.tgz", - "integrity": "sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==", - "requires": { - "@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/node": ">=13.7.0", - "long": "^5.0.0" - } - }, - "protobufjs-cli": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.1.1.tgz", - "integrity": "sha512-VPWMgIcRNyQwWUv8OLPyGQ/0lQY/QTQAVN5fh+XzfDwsVw1FZ2L3DM/bcBf8WPiRz2tNpaov9lPZfNcmNo6LXA==", - "requires": { - "chalk": "^4.0.0", - "escodegen": "^1.13.0", - "espree": "^9.0.0", - "estraverse": "^5.1.0", - "glob": "^8.0.0", - "jsdoc": "^4.0.0", - "minimist": "^1.2.0", - "semver": "^7.1.2", - "tmp": "^0.2.1", - "uglify-js": "^3.7.7" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "redact-pii": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/redact-pii/-/redact-pii-3.4.0.tgz", - "integrity": "sha512-eXx5rwqqdJGD3LVvuJawJf5ge2G42Cx9ec4ItVzjZEoatN+pg2wJg3S6eBht7dQMI+6UbkKigLziOoD3FmF6ug==", - "requires": { - "@google-cloud/dlp": "^4.1.0", - "lodash": "^4.17.21" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "requizzle": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", - "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", - "requires": { - "lodash": "^4.17.21" - } - }, - "retry-request": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-5.0.2.tgz", - "integrity": "sha512-wfI3pk7EE80lCIXprqh7ym48IHYdwmAAzESdbU8Q9l7pnRCk9LEhpbOTNKjz6FARLm/Bl5m+4F0ABxOkYUujSQ==", - "requires": { - "debug": "^4.1.1", - "extend": "^3.0.2" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, - "uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==" - }, - "underscore": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha512-tyhM7iisckwwmyHVFcjTzISz/R1ss/bRudNgHFYsgeu7j4JbhRvjE+Hbcpr9y5xh+b+HxeFjuToDT4i9kQNrtA==" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-fetch": { - "version": "3.6.19", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", - "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "xmlcreate": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", - "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - } -} diff --git a/packages/botonic-plugin-dynamodb/package-lock.json b/packages/botonic-plugin-dynamodb/package-lock.json deleted file mode 100644 index 442e6f92e9..0000000000 --- a/packages/botonic-plugin-dynamodb/package-lock.json +++ /dev/null @@ -1,351 +0,0 @@ -{ - "name": "@botonic/plugin-dynamodb", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@aws/dynamodb-auto-marshaller": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@aws/dynamodb-auto-marshaller/-/dynamodb-auto-marshaller-0.7.1.tgz", - "integrity": "sha512-LeURlf6/avrfFo9+4Yht9J3CUTJ72yoBpm1FOUmlexuHNW4Ka61tG30w3ZDCXXXmCO2rG0k3ywAgNJEo3WPbyw==", - "requires": { - "tslib": "^1.8.1" - } - }, - "@aws/dynamodb-batch-iterator": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@aws/dynamodb-batch-iterator/-/dynamodb-batch-iterator-0.7.1.tgz", - "integrity": "sha512-SdwBFnjN+ncIl+MOogTeEh1/C6O0jAcqD5YA3AujcH5JPWiMescKAefO4VQbgR0Q9ohcYcMnwL3q6mCdUpyJ9w==", - "requires": { - "tslib": "^1.8.1", - "utf8-bytes": "^0.0.1" - } - }, - "@aws/dynamodb-data-mapper": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@aws/dynamodb-data-mapper/-/dynamodb-data-mapper-0.7.3.tgz", - "integrity": "sha512-2DYHoF2jvO7L2TfwfJoTfdJz0M6qSVJ0wM0zQ97ehrTyVSz/yWDO3GqMA9jsUqf0fZl3CIItHBhiXdddsH5cpA==", - "requires": { - "@aws/dynamodb-auto-marshaller": "^0.7.1", - "@aws/dynamodb-batch-iterator": "^0.7.1", - "@aws/dynamodb-data-marshaller": "^0.7.3", - "@aws/dynamodb-expressions": "^0.7.3", - "@aws/dynamodb-query-iterator": "^0.7.1", - "tslib": "^1.8.1" - } - }, - "@aws/dynamodb-data-mapper-annotations": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@aws/dynamodb-data-mapper-annotations/-/dynamodb-data-mapper-annotations-0.7.3.tgz", - "integrity": "sha512-RROw+6EIJd0bJsl/76wxfvDkv/irY9pfpp/VRlmEIVixKW2UtMqpni+Hs0XuBRtmGKGfFrWB2WGYiikSnfv4FA==", - "requires": { - "@aws/dynamodb-auto-marshaller": "^0.7.1", - "@aws/dynamodb-data-mapper": "^0.7.3", - "@aws/dynamodb-data-marshaller": "^0.7.3", - "reflect-metadata": "^0.1.10", - "tslib": "^1.8.1", - "uuid": "^3.0.0" - } - }, - "@aws/dynamodb-data-marshaller": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@aws/dynamodb-data-marshaller/-/dynamodb-data-marshaller-0.7.3.tgz", - "integrity": "sha512-ea9PR19J2uY7lNSUo2bEcbfI8GiD0n66dISoBHZFrHjgCO2ao2P6UlyG/k0EMhr2zNzTWYNd08VYgTSYz5GBAA==", - "requires": { - "@aws/dynamodb-auto-marshaller": "^0.7.1", - "@aws/dynamodb-expressions": "^0.7.3", - "tslib": "^1.8.1", - "utf8-bytes": "^0.0.1" - } - }, - "@aws/dynamodb-expressions": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@aws/dynamodb-expressions/-/dynamodb-expressions-0.7.3.tgz", - "integrity": "sha512-63vaCyNKmO8BE/JWlQ3DSFG+qCAWgO5MGif31E5CPdWKaBt5yBG5qnh5w5oFelKRK6/1M6cYKl/Yui08wimUig==", - "requires": { - "@aws/dynamodb-auto-marshaller": "^0.7.1", - "tslib": "^1.8.1" - } - }, - "@aws/dynamodb-query-iterator": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@aws/dynamodb-query-iterator/-/dynamodb-query-iterator-0.7.1.tgz", - "integrity": "sha512-x28lcgj2HDadxszYEwQjAJyGMrdy3aznLM2TSEeQxqCxKzFT1qewmKxgWSMslH+CiLuuqs9H1FaIwvP15b6UHQ==", - "requires": { - "tslib": "^1.8.1" - } - }, - "@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@types/node": { - "version": "20.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", - "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1404.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1404.0.tgz", - "integrity": "sha512-pt8SXXH/CDwA0qTNV1SkHhLXnIb9fk1NTutE5w/tj9u8Z5DSbHbc9bnmju1B9aoRG1VTR48/SqOyzkfquVnMCw==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - }, - "dependencies": { - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "utf8-bytes": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/utf8-bytes/-/utf8-bytes-0.0.1.tgz", - "integrity": "sha1-EWsCVEjJtQAIHN+/H01sbDfYg30=" - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "which-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.10.tgz", - "integrity": "sha512-uxoA5vLUfRPdjCuJ1h5LlYdmTLbYfums398v3WLkM+i/Wltl2/XyZpQWKbN++ck5L64SR/grOHqtXCUKmlZPNA==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - } - } -} diff --git a/packages/botonic-plugin-flow-builder/package-lock.json b/packages/botonic-plugin-flow-builder/package-lock.json deleted file mode 100644 index 13b556d6b3..0000000000 --- a/packages/botonic-plugin-flow-builder/package-lock.json +++ /dev/null @@ -1,1364 +0,0 @@ -{ - "name": "@botonic/plugin-flow-builder", - "version": "0.24.6", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - } - }, - "@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "requires": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==" - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==" - }, - "@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/runtime": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", - "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - } - }, - "@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@botonic/core": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.24.0.tgz", - "integrity": "sha512-py4f42W/NZgIHlPkrgLftM9q4M8+sA1+S8ElwPS82rAxvnn6clcNERU6o6P7hqrcRBqC0XP4mVMt374pOBYMHg==", - "requires": { - "aws-sdk": "^2.1404.0", - "axios": "^1.6.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.4.0", - "node-json-db": "^1.6.0", - "pako": "^2.1.0", - "process": "^0.11.10", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - } - }, - "@botonic/react": { - "version": "0.24.4", - "resolved": "https://registry.npmjs.org/@botonic/react/-/react-0.24.4.tgz", - "integrity": "sha512-uw0xTRZ999kr643KRmbpyH0KzXtHGFvnbMDYFUON+DVqUv5bRu/90cE5bE3XFQkgoLiZvXEb4k4KtetzyAJcnw==", - "requires": { - "@botonic/core": "0.24.0", - "axios": "^1.6.0", - "emoji-picker-react": "^4.4.9", - "framer-motion": "^3.1.1", - "he": "^1.2.0", - "lodash.merge": "^4.6.2", - "markdown-it": "^12.0.6", - "qrcode.react": "^1.0.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", - "react-frame-component": "^4.1.3", - "react-json-tree": "^0.15.0", - "react-reveal": "^1.2.2", - "react-router-dom": "^5.3.4", - "react-textarea-autosize": "^7.1.2", - "reconnecting-websocket": "^4.4.0", - "simplebar-react": "^2.4.3", - "styled-components": "^5.3.0", - "ua-parser-js": "^0.8.1", - "unescape": "^1.0.1", - "use-async-effect": "^2.2.7", - "uuid": "^8.3.2" - } - }, - "@emotion/is-prop-valid": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", - "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", - "optional": true, - "requires": { - "@emotion/memoize": "0.7.4" - } - }, - "@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", - "optional": true - }, - "@emotion/stylis": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", - "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" - }, - "@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - }, - "@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" - }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@juggle/resize-observer": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", - "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" - }, - "@types/base16": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/base16/-/base16-1.0.5.tgz", - "integrity": "sha512-OzOWrTluG9cwqidEzC/Q6FAmIPcnZfm8BFRlIx0+UIUqnuAmi5OS88O0RpT3Yz6qdmqObvUhasrbNsCofE4W9A==" - }, - "@types/lodash": { - "version": "4.14.202", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", - "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" - }, - "@types/minipass": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-3.3.5.tgz", - "integrity": "sha512-M2BLHQdEmDmH671h0GIlOQQJrgezd1vNqq7PVj1VOsHZ2uQQb4iPiQIl0SlMdhxZPUsLIfEklmeEHXg8DJRewA==", - "dev": true, - "requires": { - "minipass": "*" - } - }, - "@types/node": { - "version": "18.19.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.8.tgz", - "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==", - "dev": true, - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" - }, - "@types/react": { - "version": "16.14.56", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.56.tgz", - "integrity": "sha512-MxuHB7dvVm5yOxRr7hJoonLG0JY8YvqZtaQ9Quirp3Oe4FLFjAgxkxsKE6IspdHPpRVZKo2ZoDEravWO81EeYA==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "requires": { - "possible-typed-array-names": "^1.0.0" - } - }, - "aws-sdk": { - "version": "2.1570.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1570.0.tgz", - "integrity": "sha512-WySdibC3YOPCFcXNSevX7cGp6Nc0Ksv7m6aaz6YoqSrmSn7mZhkWaVXqfd14nsjJuyEbEgX+gAiZaahyvkUYJw==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.6.2" - }, - "dependencies": { - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - } - } - }, - "axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", - "requires": { - "follow-redirects": "^1.15.4", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "babel-plugin-styled-components": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", - "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "lodash": "^4.17.21", - "picomatch": "^2.3.1" - } - }, - "base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - } - }, - "camelize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", - "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==" - }, - "can-use-dom": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", - "integrity": "sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==" - }, - "css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==" - }, - "css-to-react-native": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", - "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", - "requires": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" - } - }, - "csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "dynamodb-toolbox": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", - "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" - }, - "emoji-picker-react": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/emoji-picker-react/-/emoji-picker-react-4.8.0.tgz", - "integrity": "sha512-gKv+NOM2FjNAokXqlhhmDJMLp1hBTx4X+OoYrPAK1qpTVBseoeybtqPBR1NXixTow7Vbxv1WOuI3SSTiEB089A==", - "requires": { - "flairup": "0.0.38" - } - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - }, - "es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "requires": { - "get-intrinsic": "^1.2.4" - } - }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "flairup": { - "version": "0.0.38", - "resolved": "https://registry.npmjs.org/flairup/-/flairup-0.0.38.tgz", - "integrity": "sha512-W9QA5TM7eYNlGoBYwfVn/o6v4yWBCxfq4+EJ5w774oFeyWvVWnYq6Dgt4CJltjG9y/lPwbOqz3jSSr8K66ToGg==" - }, - "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "framer-motion": { - "version": "3.10.6", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-3.10.6.tgz", - "integrity": "sha512-OxOtKgQS4km9a8dm0IMBtNNp4f0DiHfQ/IzxKs818+Kg9V/Ve/pRUJ2dtWBb6+W4lIPNLgRSpbOwOACVj15XcQ==", - "requires": { - "@emotion/is-prop-valid": "^0.8.2", - "framesync": "5.2.0", - "hey-listen": "^1.0.8", - "popmotion": "9.3.1", - "style-value-types": "4.1.1", - "tslib": "^1.10.0" - } - }, - "framesync": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.2.0.tgz", - "integrity": "sha512-dcl92w5SHc0o6pRK3//VBVNvu6WkYkiXmHG6ZIXrVzmgh0aDYMDAaoA3p3LH71JIdN5qmhDcfONFA4Lmq22tNA==" - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "requires": { - "es-define-property": "^1.0.0" - } - }, - "has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "requires": { - "has-symbols": "^1.0.3" - } - }, - "hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hey-listen": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", - "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" - }, - "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "requires": { - "which-typed-array": "^1.1.14" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "requires": { - "uc.micro": "^1.0.1" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "requires": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - } - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node-json-db": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", - "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - } - } - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "popmotion": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-9.3.1.tgz", - "integrity": "sha512-Qozvg8rz2OGeZwWuIjqlSXqqgWto/+QL24ll8sAAc0n71KY/wvN1W4sAASxTuHv8YWdDnk9u9IdadyPo2DGvDA==", - "requires": { - "framesync": "5.2.0", - "hey-listen": "^1.0.8", - "style-value-types": "4.1.1", - "tslib": "^1.10.0" - } - }, - "possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==" - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "qr.js": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz", - "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==" - }, - "qrcode.react": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-1.0.1.tgz", - "integrity": "sha512-8d3Tackk8IRLXTo67Y+c1rpaiXjoz/Dd2HpcMdW//62/x8J1Nbho14Kh8x974t9prsLHN6XqVgcnRiBGFptQmg==", - "requires": { - "loose-envify": "^1.4.0", - "prop-types": "^15.6.0", - "qr.js": "0.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-base16-styling": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.8.2.tgz", - "integrity": "sha512-5bxHCNKT/FfU9yMzNB/CaCQLGqZ/Nr4FnaIRJUTkwwPTRaCfYAP+/3opeQb61XvesmofJ4FloTSYW9aw1tMXqQ==", - "requires": { - "@types/base16": "^1.0.2", - "@types/lodash": "^4.14.178", - "base16": "^1.0.0", - "color": "^3.2.1", - "csstype": "^3.0.10", - "lodash.curry": "^4.1.1" - } - }, - "react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, - "react-frame-component": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/react-frame-component/-/react-frame-component-4.1.3.tgz", - "integrity": "sha512-4PurhctiqnmC1F5prPZ+LdsalH7pZ3SFA5xoc0HBe8mSHctdLLt4Cr2WXfXOoajHBYq/yiipp9zOgx+vy8GiEA==" - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-json-tree": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/react-json-tree/-/react-json-tree-0.15.2.tgz", - "integrity": "sha512-Fi5BMgpZbqujagMQ4OavtK6k4RhaoU/zFoJeK331/UdsBEXKFs3VosfvOc1JS/oyB21I1MKu8bwMkOXODePBCg==", - "requires": { - "@types/prop-types": "^15.7.4", - "prop-types": "^15.8.0", - "react-base16-styling": "^0.8.2" - } - }, - "react-reveal": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/react-reveal/-/react-reveal-1.2.2.tgz", - "integrity": "sha512-JCv3fAoU6Z+Lcd8U48bwzm4pMZ79qsedSXYwpwt6lJNtj/v5nKJYZZbw3yhaQPPgYePo3Y0NOCoYOq/jcsisuw==", - "requires": { - "prop-types": "^15.5.10" - } - }, - "react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "requires": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "requires": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.3.4", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "react-textarea-autosize": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz", - "integrity": "sha512-uH3ORCsCa3C6LHxExExhF4jHoXYCQwE5oECmrRsunlspaDAbS4mGKNlWZqjLfInWtFQcf0o1n1jC/NGXFdUBCg==", - "requires": { - "@babel/runtime": "^7.1.2", - "prop-types": "^15.6.0" - } - }, - "reconnecting-websocket": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/reconnecting-websocket/-/reconnecting-websocket-4.4.0.tgz", - "integrity": "sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng==" - }, - "regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", - "requires": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - } - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "requires": { - "is-arrayish": "^0.3.1" - } - }, - "simplebar": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/simplebar/-/simplebar-5.3.9.tgz", - "integrity": "sha512-1vIIpjDvY9sVH14e0LGeiCiTFU3ILqAghzO6OI9axeG+mvU/vMSrvXeAXkBolqFFz3XYaY8n5ahH9MeP3sp2Ag==", - "requires": { - "@juggle/resize-observer": "^3.3.1", - "can-use-dom": "^0.1.0", - "core-js": "^3.0.1", - "lodash.debounce": "^4.0.8", - "lodash.memoize": "^4.1.2", - "lodash.throttle": "^4.1.1" - } - }, - "simplebar-react": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/simplebar-react/-/simplebar-react-2.4.3.tgz", - "integrity": "sha512-Ep8gqAUZAS5IC2lT5RE4t1ZFUIVACqbrSRQvFV9a6NbVUzXzOMnc4P82Hl8Ak77AnPQvmgUwZS7aUKLyBoMAcg==", - "requires": { - "prop-types": "^15.6.1", - "simplebar": "^5.3.9" - } - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "style-value-types": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-4.1.1.tgz", - "integrity": "sha512-cNLrl6jk+I1T18ZI2KIp/fcqKVuykcNELDrOz7y+TYZR97xmNdN0ewupURvVFnQxVrRJv98TMBq92VMsggq3kw==", - "requires": { - "hey-listen": "^1.0.8", - "tslib": "^1.10.0" - } - }, - "styled-components": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz", - "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/traverse": "^7.4.5", - "@emotion/is-prop-valid": "^1.1.0", - "@emotion/stylis": "^0.8.4", - "@emotion/unitless": "^0.7.4", - "babel-plugin-styled-components": ">= 1.12.0", - "css-to-react-native": "^3.0.0", - "hoist-non-react-statics": "^3.0.0", - "shallowequal": "^1.1.0", - "supports-color": "^5.5.0" - }, - "dependencies": { - "@emotion/is-prop-valid": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", - "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", - "requires": { - "@emotion/memoize": "^0.8.1" - } - }, - "@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "ua-parser-js": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.8.1.tgz", - "integrity": "sha512-top37bpoaHp+wJBAqjm5KNz7qNfSZ/tmHEisuMMK5uzjdIo/L6uWovDFuYboO+q8EMz1f67exTnd+OPYESuu8Q==" - }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "unescape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unescape/-/unescape-1.0.1.tgz", - "integrity": "sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==", - "requires": { - "extend-shallow": "^2.0.1" - } - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "use-async-effect": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/use-async-effect/-/use-async-effect-2.2.7.tgz", - "integrity": "sha512-Vq94tKPyo/9Nok4LOapV0GoGgZPhbeDW/bP6bulLPV4+lIoftaBRBBbGjTbM+j5W1Bm2EkUHJgapeu5YnQvKEA==" - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", - "requires": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" - } - }, - "xml2js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", - "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - } - } -} diff --git a/packages/botonic-plugin-google-analytics/package-lock.json b/packages/botonic-plugin-google-analytics/package-lock.json deleted file mode 100644 index 6804e2d304..0000000000 --- a/packages/botonic-plugin-google-analytics/package-lock.json +++ /dev/null @@ -1,433 +0,0 @@ -{ - "name": "@botonic/plugin-google-analytics", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@botonic/core": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.24.0.tgz", - "integrity": "sha512-py4f42W/NZgIHlPkrgLftM9q4M8+sA1+S8ElwPS82rAxvnn6clcNERU6o6P7hqrcRBqC0XP4mVMt374pOBYMHg==", - "requires": { - "aws-sdk": "^2.1404.0", - "axios": "^1.6.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.4.0", - "node-json-db": "^1.6.0", - "pako": "^2.1.0", - "process": "^0.11.10", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - } - }, - "@types/node": { - "version": "18.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.13.tgz", - "integrity": "sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==", - "dev": true, - "requires": { - "undici-types": "~5.26.4" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1522.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1522.0.tgz", - "integrity": "sha512-jQ3a7IiJm2g7ko5q7a/PzyFhdSDDTR2j5sv37hU+lBprHYq5xL+JTS5aO7yJDpZKo9syUaykmUkmgBD0qVSp5A==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - } - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "dynamodb-toolbox": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", - "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "node-json-db": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", - "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - } - } -} diff --git a/packages/botonic-plugin-google-translation/package-lock.json b/packages/botonic-plugin-google-translation/package-lock.json deleted file mode 100644 index 6e76c3b101..0000000000 --- a/packages/botonic-plugin-google-translation/package-lock.json +++ /dev/null @@ -1,430 +0,0 @@ -{ - "name": "@botonic/plugin-google-translation", - "version": "0.23.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", - "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@botonic/core": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.23.2.tgz", - "integrity": "sha512-IVTgTeCzifa4i/DddeCsE7GW23BsUqMAdq+JYv8392k/DVS0iUeL6bLL4iZy0OFmWwPDtpHoVWEv8DQ5jRZxDw==", - "requires": { - "aws-sdk": "^2.1404.0", - "axios": "^1.6.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.4.0", - "node-json-db": "^1.6.0", - "pako": "^2.1.0", - "process": "^0.11.10", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1502.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1502.0.tgz", - "integrity": "sha512-mUXUaWmbIyqE6zyIcbUUQIUgw1evK7gV1vQP7ZZEE0qi6hO2Mw99Nc25Bh+187yvRxamMTsFXvvmBViR0Q75SA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - } - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "dynamodb-toolbox": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", - "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "jsrsasign": { - "version": "10.8.6", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.8.6.tgz", - "integrity": "sha512-bQmbVtsfbgaKBTWCKiDCPlUPbdlRIK/FzSwT3BzIgZl/cU6TqXu6pZJsCI/dJVrZ9Gir5GC4woqw9shH/v7MBw==" - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "node-json-db": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", - "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - } - } -} diff --git a/packages/botonic-plugin-hubtype-analytics/package-lock.json b/packages/botonic-plugin-hubtype-analytics/package-lock.json deleted file mode 100644 index 2a96fddd1d..0000000000 --- a/packages/botonic-plugin-hubtype-analytics/package-lock.json +++ /dev/null @@ -1,466 +0,0 @@ -{ - "name": "@botonic/plugin-hubtype-analytics", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", - "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@botonic/core": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.23.2.tgz", - "integrity": "sha512-IVTgTeCzifa4i/DddeCsE7GW23BsUqMAdq+JYv8392k/DVS0iUeL6bLL4iZy0OFmWwPDtpHoVWEv8DQ5jRZxDw==", - "requires": { - "aws-sdk": "^2.1404.0", - "axios": "^1.6.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.4.0", - "node-json-db": "^1.6.0", - "pako": "^2.1.0", - "process": "^0.11.10", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - } - }, - "@types/node": { - "version": "16.18.65", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.65.tgz", - "integrity": "sha512-5E9WgTy95B7i90oISjui9U5Zu7iExUPfU4ygtv4yXEy6zJFE3oQYHCnh5H1jZRPkjphJt2Ml3oQW6M0qtK534A==", - "dev": true - }, - "@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "dev": true - }, - "@types/react": { - "version": "16.14.52", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.52.tgz", - "integrity": "sha512-4+ZN73hgRW3Gang3QMqWjrqPPkf+lWZYiyG4uXtUbpd+7eiBDw6Gemila6rXDd8DorADupTiIERL6Mb5BQTF2w==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1502.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1502.0.tgz", - "integrity": "sha512-mUXUaWmbIyqE6zyIcbUUQIUgw1evK7gV1vQP7ZZEE0qi6hO2Mw99Nc25Bh+187yvRxamMTsFXvvmBViR0Q75SA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - } - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "dynamodb-toolbox": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", - "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "node-json-db": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", - "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - } - } -} diff --git a/packages/botonic-plugin-hubtype-babel/package-lock.json b/packages/botonic-plugin-hubtype-babel/package-lock.json deleted file mode 100644 index 046b3c0e1b..0000000000 --- a/packages/botonic-plugin-hubtype-babel/package-lock.json +++ /dev/null @@ -1,461 +0,0 @@ -{ - "name": "@botonic/plugin-hubtype-babel", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", - "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@botonic/core": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.24.0.tgz", - "integrity": "sha512-py4f42W/NZgIHlPkrgLftM9q4M8+sA1+S8ElwPS82rAxvnn6clcNERU6o6P7hqrcRBqC0XP4mVMt374pOBYMHg==", - "requires": { - "aws-sdk": "^2.1404.0", - "axios": "^1.6.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.4.0", - "node-json-db": "^1.6.0", - "pako": "^2.1.0", - "process": "^0.11.10", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - } - }, - "@types/minipass": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-3.3.5.tgz", - "integrity": "sha512-M2BLHQdEmDmH671h0GIlOQQJrgezd1vNqq7PVj1VOsHZ2uQQb4iPiQIl0SlMdhxZPUsLIfEklmeEHXg8DJRewA==", - "dev": true, - "requires": { - "minipass": "*" - } - }, - "@types/node": { - "version": "18.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.13.tgz", - "integrity": "sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==", - "dev": true, - "requires": { - "undici-types": "~5.26.4" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1522.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1522.0.tgz", - "integrity": "sha512-jQ3a7IiJm2g7ko5q7a/PzyFhdSDDTR2j5sv37hU+lBprHYq5xL+JTS5aO7yJDpZKo9syUaykmUkmgBD0qVSp5A==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - } - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "dynamodb-toolbox": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", - "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "node-json-db": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", - "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - } - } -} diff --git a/packages/botonic-plugin-hubtype-babel/tsconfig.base.json b/packages/botonic-plugin-hubtype-babel/tsconfig.base.json deleted file mode 100644 index 27de99656c..0000000000 --- a/packages/botonic-plugin-hubtype-babel/tsconfig.base.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "es2017", - "module": "commonjs", - "declaration": true, - "sourceMap": true, - "strict": true, - "noUnusedLocals": false, - "noUnusedParameters": true, - "noImplicitReturns": false, - "noFallthroughCasesInSwitch": true, - "forceConsistentCasingInFileNames": true, - "strictPropertyInitialization": false, - "importHelpers": true, - "noImplicitAny": false, - "outDir": "./lib", - "pretty": true - } -} diff --git a/packages/botonic-plugin-inbenta/package-lock.json b/packages/botonic-plugin-inbenta/package-lock.json deleted file mode 100644 index 65ec8fb9d8..0000000000 --- a/packages/botonic-plugin-inbenta/package-lock.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "name": "@botonic/plugin-inbenta", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - } - } -} diff --git a/packages/botonic-plugin-knowledge-bases/package-lock.json b/packages/botonic-plugin-knowledge-bases/package-lock.json deleted file mode 100644 index 005bedd440..0000000000 --- a/packages/botonic-plugin-knowledge-bases/package-lock.json +++ /dev/null @@ -1,440 +0,0 @@ -{ - "name": "@botonic/plugin-knowledge-bases", - "version": "0.24.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", - "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@botonic/core": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.24.0.tgz", - "integrity": "sha512-py4f42W/NZgIHlPkrgLftM9q4M8+sA1+S8ElwPS82rAxvnn6clcNERU6o6P7hqrcRBqC0XP4mVMt374pOBYMHg==", - "requires": { - "aws-sdk": "^2.1404.0", - "axios": "^1.6.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.4.0", - "node-json-db": "^1.6.0", - "pako": "^2.1.0", - "process": "^0.11.10", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - } - }, - "@types/node": { - "version": "18.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.13.tgz", - "integrity": "sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==", - "dev": true, - "requires": { - "undici-types": "~5.26.4" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1522.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1522.0.tgz", - "integrity": "sha512-jQ3a7IiJm2g7ko5q7a/PzyFhdSDDTR2j5sv37hU+lBprHYq5xL+JTS5aO7yJDpZKo9syUaykmUkmgBD0qVSp5A==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - } - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "dynamodb-toolbox": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", - "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "node-json-db": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", - "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - } - } -} diff --git a/packages/botonic-plugin-knowledge-bases/tsconfig.base.json b/packages/botonic-plugin-knowledge-bases/tsconfig.base.json deleted file mode 100644 index 27de99656c..0000000000 --- a/packages/botonic-plugin-knowledge-bases/tsconfig.base.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "es2017", - "module": "commonjs", - "declaration": true, - "sourceMap": true, - "strict": true, - "noUnusedLocals": false, - "noUnusedParameters": true, - "noImplicitReturns": false, - "noFallthroughCasesInSwitch": true, - "forceConsistentCasingInFileNames": true, - "strictPropertyInitialization": false, - "importHelpers": true, - "noImplicitAny": false, - "outDir": "./lib", - "pretty": true - } -} diff --git a/packages/botonic-plugin-luis/package-lock.json b/packages/botonic-plugin-luis/package-lock.json deleted file mode 100644 index 883a59ca22..0000000000 --- a/packages/botonic-plugin-luis/package-lock.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "name": "@botonic/plugin-luis", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", - "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "axios": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", - "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", - "dev": true - } - } -} diff --git a/packages/botonic-plugin-segment/package-lock.json b/packages/botonic-plugin-segment/package-lock.json deleted file mode 100644 index c47288f4a9..0000000000 --- a/packages/botonic-plugin-segment/package-lock.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "name": "@botonic/plugin-segment", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - } - } -} diff --git a/packages/botonic-plugin-watson/package-lock.json b/packages/botonic-plugin-watson/package-lock.json deleted file mode 100644 index d0d4ece156..0000000000 --- a/packages/botonic-plugin-watson/package-lock.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "@botonic/plugin-watson", - "version": "0.24.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", - "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - } - } -} diff --git a/packages/botonic-react/package-lock.json b/packages/botonic-react/package-lock.json deleted file mode 100644 index 3b344b2cf9..0000000000 --- a/packages/botonic-react/package-lock.json +++ /dev/null @@ -1,7405 +0,0 @@ -{ - "name": "@botonic/react", - "version": "0.24.5", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/cli": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.4.tgz", - "integrity": "sha512-j3luA9xGKCXVyCa5R7lJvOMM+Kc2JEnAEIgz2ggtjQ/j5YUVgfsg/WsG95bbsgq7YLHuiCOzMnoSasuY16qiCw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", - "chokidar": "^3.4.0", - "commander": "^4.0.1", - "convert-source-map": "^2.0.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.2.0", - "make-dir": "^2.1.0", - "slash": "^2.0.0" - } - }, - "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - } - }, - "@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true - }, - "@babel/core": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", - "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.5", - "@babel/parser": "^7.23.5", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.5", - "@babel/types": "^7.23.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", - "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", - "requires": { - "@babel/types": "^7.23.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz", - "integrity": "sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - } - }, - "@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" - }, - "@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - } - }, - "@babel/helpers": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", - "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.5", - "@babel/types": "^7.23.5" - } - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", - "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" - } - }, - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", - "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", - "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz", - "integrity": "sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", - "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", - "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", - "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "dev": true, - "requires": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", - "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz", - "integrity": "sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.5.tgz", - "integrity": "sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.5.tgz", - "integrity": "sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@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-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.4", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.5", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.3", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.3", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.23.4", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", - "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.23.3", - "@babel/plugin-transform-react-jsx": "^7.22.15", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.23.3" - } - }, - "@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "@babel/runtime": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", - "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", - "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.5", - "@babel/types": "^7.23.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", - "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", - "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@botonic/core": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.24.0.tgz", - "integrity": "sha512-py4f42W/NZgIHlPkrgLftM9q4M8+sA1+S8ElwPS82rAxvnn6clcNERU6o6P7hqrcRBqC0XP4mVMt374pOBYMHg==", - "requires": { - "aws-sdk": "^2.1404.0", - "axios": "^1.6.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.4.0", - "node-json-db": "^1.6.0", - "pako": "^2.1.0", - "process": "^0.11.10", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - } - }, - "@emotion/is-prop-valid": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", - "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", - "optional": true, - "requires": { - "@emotion/memoize": "0.7.4" - } - }, - "@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", - "optional": true - }, - "@emotion/stylis": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", - "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" - }, - "@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - } - }, - "@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "requires": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - } - }, - "@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3" - } - }, - "@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - } - }, - "@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "requires": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } - } - }, - "@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@juggle/resize-observer": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", - "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" - }, - "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", - "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", - "dev": true, - "optional": true - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@testing-library/dom": { - "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", - "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/react": { - "version": "12.1.5", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz", - "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.0.0", - "@types/react-dom": "<18.0.0" - } - }, - "@testing-library/react-hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz", - "integrity": "sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "react-error-boundary": "^3.1.0" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.7", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz", - "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz", - "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/base16": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/base16/-/base16-1.0.5.tgz", - "integrity": "sha512-OzOWrTluG9cwqidEzC/Q6FAmIPcnZfm8BFRlIx0+UIUqnuAmi5OS88O0RpT3Yz6qdmqObvUhasrbNsCofE4W9A==" - }, - "@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.5.10", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz", - "integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==", - "dev": true, - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, - "@types/lodash": { - "version": "4.14.202", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", - "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" - }, - "@types/node": { - "version": "20.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz", - "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==", - "dev": true, - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/parse5": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-7.0.0.tgz", - "integrity": "sha512-f2SeAxumolBmhuR62vNGTsSAvdz/Oj0k682xNrcKJ4dmRnTPODB74j6CPoNPzBPTHsu7Y7W7u93Mgp8Ovo8vWw==", - "dev": true, - "requires": { - "parse5": "*" - } - }, - "@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" - }, - "@types/react": { - "version": "16.14.43", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.43.tgz", - "integrity": "sha512-7zdjv7jvoLLQg1tTvpQsm+hyNUMT2mPlNV1+d0I8fbGhkJl82spopMyBlu4wb1dviZAxpGdk5eHu/muacknnfw==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "17.0.25", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz", - "integrity": "sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==", - "dev": true, - "requires": { - "@types/react": "^17" - }, - "dependencies": { - "@types/react": { - "version": "17.0.71", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.71.tgz", - "integrity": "sha512-lfqOu9mp16nmaGRrS8deS2Taqhd5Ih0o92Te5Ws6I1py4ytHBcXLqh0YIqVsViqwVI5f+haiFM6hju814BzcmA==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - } - } - }, - "@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true - }, - "@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "dev": true - }, - "acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "requires": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "requires": { - "deep-equal": "^2.0.5" - } - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1522.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1522.0.tgz", - "integrity": "sha512-jQ3a7IiJm2g7ko5q7a/PzyFhdSDDTR2j5sv37hU+lBprHYq5xL+JTS5aO7yJDpZKo9syUaykmUkmgBD0qVSp5A==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - }, - "dependencies": { - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - } - } - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "requires": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-plugin-add-module-exports": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", - "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==", - "dev": true - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "dependencies": { - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", - "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.33.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.3" - } - }, - "babel-plugin-styled-components": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", - "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "lodash": "^4.17.21", - "picomatch": "^2.3.1" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.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": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", - "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==" - }, - "can-use-dom": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", - "integrity": "sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ==" - }, - "caniuse-lite": { - "version": "1.0.30001565", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", - "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "copyfiles": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", - "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", - "dev": true, - "requires": { - "glob": "^7.0.5", - "minimatch": "^3.0.3", - "mkdirp": "^1.0.4", - "noms": "0.0.0", - "through2": "^2.0.1", - "untildify": "^4.0.0", - "yargs": "^16.1.0" - } - }, - "core-js": { - "version": "3.33.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", - "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==" - }, - "core-js-compat": { - "version": "3.33.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz", - "integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==", - "dev": true, - "requires": { - "browserslist": "^4.22.1" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==" - }, - "css-to-react-native": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", - "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", - "requires": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" - } - }, - "cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true - }, - "deep-equal": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", - "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.5", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.2", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.13" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true - }, - "dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "requires": { - "webidl-conversions": "^7.0.0" - } - }, - "dynamodb-toolbox": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", - "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" - }, - "electron-to-chromium": { - "version": "1.4.596", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.596.tgz", - "integrity": "sha512-zW3zbZ40Icb2BCWjm47nxwcFGYlIgdXkAx85XDO7cyky9J4QQfq8t0W19/TLZqq3JPQXtlv8BPIGmfa9Jb4scg==", - "dev": true - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-picker-react": { - "version": "4.5.16", - "resolved": "https://registry.npmjs.org/emoji-picker-react/-/emoji-picker-react-4.5.16.tgz", - "integrity": "sha512-RXaOH1EapmqbtRSMaHnwJWMfA6kiPipg/gN4cFOQRQKvrTQIA3K5+yUyzFuq8O7umIEtXUi1C1tf2dPvyyn44Q==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - } - } - }, - "es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "source-map": "~0.6.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "framer-motion": { - "version": "3.10.6", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-3.10.6.tgz", - "integrity": "sha512-OxOtKgQS4km9a8dm0IMBtNNp4f0DiHfQ/IzxKs818+Kg9V/Ve/pRUJ2dtWBb6+W4lIPNLgRSpbOwOACVj15XcQ==", - "requires": { - "@emotion/is-prop-valid": "^0.8.2", - "framesync": "5.2.0", - "hey-listen": "^1.0.8", - "popmotion": "9.3.1", - "style-value-types": "4.1.1", - "tslib": "^1.10.0" - } - }, - "framesync": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.2.0.tgz", - "integrity": "sha512-dcl92w5SHc0o6pRK3//VBVNvu6WkYkiXmHG6ZIXrVzmgh0aDYMDAaoA3p3LH71JIdN5qmhDcfONFA4Lmq22tNA==" - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", - "dev": true - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hey-listen": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", - "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" - }, - "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "requires": { - "whatwg-encoding": "^2.0.0" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "dev": true, - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - } - }, - "intersection-observer": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz", - "integrity": "sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==", - "dev": true - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "requires": { - "hasown": "^2.0.0" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true - }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "requires": { - "semver": "^7.5.3" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "requires": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "requires": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, - "dependencies": { - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - } - } - }, - "jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0", - "jsdom": "^20.0.0" - } - }, - "jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true - }, - "jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true - }, - "jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true - }, - "jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "requires": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - } - }, - "jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "requires": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - } - } - }, - "jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "requires": { - "uc.micro": "^1.0.1" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "requires": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - } - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-json-db": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", - "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "noms": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", - "integrity": "sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "~1.0.31" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "requires": { - "entities": "^4.4.0" - }, - "dependencies": { - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - } - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - } - } - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "popmotion": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-9.3.1.tgz", - "integrity": "sha512-Qozvg8rz2OGeZwWuIjqlSXqqgWto/+QL24ll8sAAc0n71KY/wvN1W4sAASxTuHv8YWdDnk9u9IdadyPo2DGvDA==", - "requires": { - "framesync": "5.2.0", - "hey-listen": "^1.0.8", - "style-value-types": "4.1.1", - "tslib": "^1.10.0" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - } - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", - "dev": true - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "qr.js": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz", - "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==" - }, - "qrcode.react": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-1.0.1.tgz", - "integrity": "sha512-8d3Tackk8IRLXTo67Y+c1rpaiXjoz/Dd2HpcMdW//62/x8J1Nbho14Kh8x974t9prsLHN6XqVgcnRiBGFptQmg==", - "requires": { - "loose-envify": "^1.4.0", - "prop-types": "^15.6.0", - "qr.js": "0.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-base16-styling": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.8.2.tgz", - "integrity": "sha512-5bxHCNKT/FfU9yMzNB/CaCQLGqZ/Nr4FnaIRJUTkwwPTRaCfYAP+/3opeQb61XvesmofJ4FloTSYW9aw1tMXqQ==", - "requires": { - "@types/base16": "^1.0.2", - "@types/lodash": "^4.14.178", - "base16": "^1.0.0", - "color": "^3.2.1", - "csstype": "^3.0.10", - "lodash.curry": "^4.1.1" - } - }, - "react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, - "react-error-boundary": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", - "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "react-frame-component": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/react-frame-component/-/react-frame-component-4.1.3.tgz", - "integrity": "sha512-4PurhctiqnmC1F5prPZ+LdsalH7pZ3SFA5xoc0HBe8mSHctdLLt4Cr2WXfXOoajHBYq/yiipp9zOgx+vy8GiEA==" - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-json-tree": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/react-json-tree/-/react-json-tree-0.15.2.tgz", - "integrity": "sha512-Fi5BMgpZbqujagMQ4OavtK6k4RhaoU/zFoJeK331/UdsBEXKFs3VosfvOc1JS/oyB21I1MKu8bwMkOXODePBCg==", - "requires": { - "@types/prop-types": "^15.7.4", - "prop-types": "^15.8.0", - "react-base16-styling": "^0.8.2" - } - }, - "react-reveal": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/react-reveal/-/react-reveal-1.2.2.tgz", - "integrity": "sha512-JCv3fAoU6Z+Lcd8U48bwzm4pMZ79qsedSXYwpwt6lJNtj/v5nKJYZZbw3yhaQPPgYePo3Y0NOCoYOq/jcsisuw==", - "requires": { - "prop-types": "^15.5.10" - } - }, - "react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "requires": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "requires": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.3.4", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "react-test-renderer": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz", - "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "react-is": "^16.8.6", - "scheduler": "^0.19.1" - } - }, - "react-textarea-autosize": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz", - "integrity": "sha512-uH3ORCsCa3C6LHxExExhF4jHoXYCQwE5oECmrRsunlspaDAbS4mGKNlWZqjLfInWtFQcf0o1n1jC/NGXFdUBCg==", - "requires": { - "@babel/runtime": "^7.1.2", - "prop-types": "^15.6.0" - } - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - } - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "reconnecting-websocket": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/reconnecting-websocket/-/reconnecting-websocket-4.4.0.tgz", - "integrity": "sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng==" - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - } - }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "requires": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - } - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "requires": { - "is-arrayish": "^0.3.1" - } - }, - "simplebar": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/simplebar/-/simplebar-5.3.9.tgz", - "integrity": "sha512-1vIIpjDvY9sVH14e0LGeiCiTFU3ILqAghzO6OI9axeG+mvU/vMSrvXeAXkBolqFFz3XYaY8n5ahH9MeP3sp2Ag==", - "requires": { - "@juggle/resize-observer": "^3.3.1", - "can-use-dom": "^0.1.0", - "core-js": "^3.0.1", - "lodash.debounce": "^4.0.8", - "lodash.memoize": "^4.1.2", - "lodash.throttle": "^4.1.1" - } - }, - "simplebar-react": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/simplebar-react/-/simplebar-react-2.4.3.tgz", - "integrity": "sha512-Ep8gqAUZAS5IC2lT5RE4t1ZFUIVACqbrSRQvFV9a6NbVUzXzOMnc4P82Hl8Ak77AnPQvmgUwZS7aUKLyBoMAcg==", - "requires": { - "prop-types": "^15.6.1", - "simplebar": "^5.3.9" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, - "requires": { - "internal-slot": "^1.0.4" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "style-value-types": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-4.1.1.tgz", - "integrity": "sha512-cNLrl6jk+I1T18ZI2KIp/fcqKVuykcNELDrOz7y+TYZR97xmNdN0ewupURvVFnQxVrRJv98TMBq92VMsggq3kw==", - "requires": { - "hey-listen": "^1.0.8", - "tslib": "^1.10.0" - } - }, - "styled-components": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz", - "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/traverse": "^7.4.5", - "@emotion/is-prop-valid": "^1.1.0", - "@emotion/stylis": "^0.8.4", - "@emotion/unitless": "^0.7.4", - "babel-plugin-styled-components": ">= 1.12.0", - "css-to-react-native": "^3.0.0", - "hoist-non-react-statics": "^3.0.0", - "shallowequal": "^1.1.0", - "supports-color": "^5.5.0" - }, - "dependencies": { - "@emotion/is-prop-valid": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", - "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", - "requires": { - "@emotion/memoize": "^0.8.1" - } - }, - "@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "dependencies": { - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true - } - } - }, - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true - } - } - }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", - "dev": true - }, - "ua-parser-js": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.8.1.tgz", - "integrity": "sha512-top37bpoaHp+wJBAqjm5KNz7qNfSZ/tmHEisuMMK5uzjdIo/L6uWovDFuYboO+q8EMz1f67exTnd+OPYESuu8Q==" - }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "unescape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unescape/-/unescape-1.0.1.tgz", - "integrity": "sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==", - "requires": { - "extend-shallow": "^2.0.1" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true - }, - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true - }, - "untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use-async-effect": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/use-async-effect/-/use-async-effect-2.2.7.tgz", - "integrity": "sha512-Vq94tKPyo/9Nok4LOapV0GoGgZPhbeDW/bP6bulLPV4+lIoftaBRBBbGjTbM+j5W1Bm2EkUHJgapeu5YnQvKEA==" - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - } - }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dev": true, - "requires": { - "xml-name-validator": "^4.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true - }, - "whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "requires": { - "iconv-lite": "0.6.3" - } - }, - "whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true - }, - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", - "dev": true - }, - "xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "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.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/scripts/package-lock.json b/scripts/package-lock.json deleted file mode 100644 index e20438d91c..0000000000 --- a/scripts/package-lock.json +++ /dev/null @@ -1,869 +0,0 @@ -{ - "name": "botonic-scripts", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/inquirer": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.1.tgz", - "integrity": "sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g==", - "dev": true, - "requires": { - "@types/through": "*", - "rxjs": "^6.4.0" - } - }, - "@types/node": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.0.tgz", - "integrity": "sha512-jfT7iTf/4kOQ9S7CHV9BIyRaQqHu67mOjsIQBC3BKZvzvUB6zLxEwJ6sBE3ozcvP8kF6Uk5PXN0Q+c0dfhGX0g==", - "dev": true - }, - "@types/through": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", - "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "app-root-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", - "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "await-spawn": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/await-spawn/-/await-spawn-4.0.1.tgz", - "integrity": "sha512-cQSpdH79ktTdsMjUuUvyhdIYbXArynlV5jvHY8FPWXdwF5UGyrVaHCQxo/Iw5DbSQx2Ha3EOS+cy41sup+AkiQ==", - "dev": true, - "requires": { - "bl": "^4.0.3" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bl": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", - "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "child_process": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/child_process/-/child_process-1.0.2.tgz", - "integrity": "sha512-Wmza/JzL0SiWz7kl6MhIKT5ceIlnFPJX+lwUGj7Clhy5MMldsSoJR0+uvRzOS5Kv45Mq7t1PoE8TsOA9bzvb6g==" - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "fs": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.2.tgz", - "integrity": "sha512-YAiVokMCrSIFZiroB1oz51hPiPRVcUtSa4x2U5RYXyhS9VAPdiFigKbPTnOSq7XY8wd3FIVPYmXpo5lMzFmxgg==" - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" - }, - "needle": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.2.tgz", - "integrity": "sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", - "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", - "requires": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "sqlite3": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz", - "integrity": "sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==", - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.11.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } -} From d980456e327e9a8d9863a4f8835fe5f96bbcc010 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:50:18 +0100 Subject: [PATCH 08/46] chore(botonic): create a npm monorepo, tsconfig files to build as cjs and esm version, remove old babel plugins --- package-lock.json | 40792 +++++++++++++++++++++++++++---------- package.json | 49 +- packages/babel.config.js | 2 - tsconfig.base.json | 24 +- tsconfig.cjs.base.json | 7 + tsconfig.esm.base.json | 7 + tsconfig.json | 5 +- 7 files changed, 29536 insertions(+), 11350 deletions(-) create mode 100644 tsconfig.cjs.base.json create mode 100644 tsconfig.esm.base.json diff --git a/package-lock.json b/package-lock.json index 4012c2c199..15a6eb9418 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13042 +1,31202 @@ { + "name": "botonic", + "version": "0.25.0-alpha.0", + "lockfileVersion": 3, "requires": true, - "lockfileVersion": 1, - "dependencies": { - "@ampproject/remapping": { + "packages": { + "": { + "name": "botonic", + "version": "0.25.0-alpha.0", + "license": "MIT", + "workspaces": [ + "packages/*" + ], + "dependencies": { + "axios": "^1.6.7" + }, + "devDependencies": { + "@babel/cli": "^7.23.9", + "@babel/core": "^7.23.9", + "@babel/plugin-transform-runtime": "^7.23.9", + "@babel/preset-env": "^7.23.9", + "@babel/preset-typescript": "^7.23.3", + "@babel/runtime": "^7.23.8", + "@types/jest": "^26.0.23", + "@types/node": "^20.0.0", + "@types/rimraf": "^3.0.0", + "@typescript-eslint/eslint-plugin": "^4.26.0", + "@typescript-eslint/parser": "^4.26.0", + "babel-eslint": "^10.1.0", + "babel-plugin-add-module-exports": "^1.0.4", + "cloc": "^2.7.0", + "eslint": "^7.26.0", + "eslint_d": "^10.1.3", + "eslint-config-prettier": "^7.2.0", + "eslint-import-resolver-typescript": "^2.4.0", + "eslint-plugin-filenames": "^1.3.2", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-jest": "^24.3.2", + "eslint-plugin-no-null": "^1.0.2", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^3.1.4", + "eslint-plugin-promise": "^5.1.0", + "eslint-plugin-react": "^7.23.2", + "eslint-plugin-react-hooks": "^4.2.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "jest": "^29.7.0", + "jest-each": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-expect-message": "^1.1.3", + "jest-junit": "^12.3.0", + "prettier": "^3.0.0", + "ts-jest": "^29.1.2", + "ts-mockito": "^2.6.1", + "ts-node": "^10.9.2", + "tslib": "^2.6.2", + "typescript": "^4.9.5" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { + "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" + "node_modules/@aws/dynamodb-auto-marshaller": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@aws/dynamodb-auto-marshaller/-/dynamodb-auto-marshaller-0.7.1.tgz", + "integrity": "sha512-LeURlf6/avrfFo9+4Yht9J3CUTJ72yoBpm1FOUmlexuHNW4Ka61tG30w3ZDCXXXmCO2rG0k3ywAgNJEo3WPbyw==", + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "aws-sdk": "^2.7.0" } }, - "@babel/compat-data": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.9.tgz", - "integrity": "sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==", - "dev": true + "node_modules/@aws/dynamodb-auto-marshaller/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws/dynamodb-batch-iterator": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@aws/dynamodb-batch-iterator/-/dynamodb-batch-iterator-0.7.1.tgz", + "integrity": "sha512-SdwBFnjN+ncIl+MOogTeEh1/C6O0jAcqD5YA3AujcH5JPWiMescKAefO4VQbgR0Q9ohcYcMnwL3q6mCdUpyJ9w==", + "dependencies": { + "tslib": "^1.8.1", + "utf8-bytes": "^0.0.1" + }, + "peerDependencies": { + "aws-sdk": "^2.7.0" + } + }, + "node_modules/@aws/dynamodb-batch-iterator/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws/dynamodb-data-mapper": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@aws/dynamodb-data-mapper/-/dynamodb-data-mapper-0.7.3.tgz", + "integrity": "sha512-2DYHoF2jvO7L2TfwfJoTfdJz0M6qSVJ0wM0zQ97ehrTyVSz/yWDO3GqMA9jsUqf0fZl3CIItHBhiXdddsH5cpA==", + "dependencies": { + "@aws/dynamodb-auto-marshaller": "^0.7.1", + "@aws/dynamodb-batch-iterator": "^0.7.1", + "@aws/dynamodb-data-marshaller": "^0.7.3", + "@aws/dynamodb-expressions": "^0.7.3", + "@aws/dynamodb-query-iterator": "^0.7.1", + "tslib": "^1.8.1" + }, + "peerDependencies": { + "aws-sdk": "^2.7.0" + } + }, + "node_modules/@aws/dynamodb-data-mapper-annotations": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@aws/dynamodb-data-mapper-annotations/-/dynamodb-data-mapper-annotations-0.7.3.tgz", + "integrity": "sha512-RROw+6EIJd0bJsl/76wxfvDkv/irY9pfpp/VRlmEIVixKW2UtMqpni+Hs0XuBRtmGKGfFrWB2WGYiikSnfv4FA==", + "dependencies": { + "@aws/dynamodb-auto-marshaller": "^0.7.1", + "@aws/dynamodb-data-mapper": "^0.7.3", + "@aws/dynamodb-data-marshaller": "^0.7.3", + "reflect-metadata": "^0.1.10", + "tslib": "^1.8.1", + "uuid": "^3.0.0" + } + }, + "node_modules/@aws/dynamodb-data-mapper-annotations/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "@babel/core": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", - "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "node_modules/@aws/dynamodb-data-mapper-annotations/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/@aws/dynamodb-data-mapper/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws/dynamodb-data-marshaller": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@aws/dynamodb-data-marshaller/-/dynamodb-data-marshaller-0.7.3.tgz", + "integrity": "sha512-ea9PR19J2uY7lNSUo2bEcbfI8GiD0n66dISoBHZFrHjgCO2ao2P6UlyG/k0EMhr2zNzTWYNd08VYgTSYz5GBAA==", + "dependencies": { + "@aws/dynamodb-auto-marshaller": "^0.7.1", + "@aws/dynamodb-expressions": "^0.7.3", + "tslib": "^1.8.1", + "utf8-bytes": "^0.0.1" + }, + "peerDependencies": { + "aws-sdk": "^2.7.0" + } + }, + "node_modules/@aws/dynamodb-data-marshaller/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws/dynamodb-expressions": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@aws/dynamodb-expressions/-/dynamodb-expressions-0.7.3.tgz", + "integrity": "sha512-63vaCyNKmO8BE/JWlQ3DSFG+qCAWgO5MGif31E5CPdWKaBt5yBG5qnh5w5oFelKRK6/1M6cYKl/Yui08wimUig==", + "dependencies": { + "@aws/dynamodb-auto-marshaller": "^0.7.1", + "tslib": "^1.8.1" + }, + "peerDependencies": { + "aws-sdk": "^2.7.0" + } + }, + "node_modules/@aws/dynamodb-expressions/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws/dynamodb-query-iterator": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@aws/dynamodb-query-iterator/-/dynamodb-query-iterator-0.7.1.tgz", + "integrity": "sha512-x28lcgj2HDadxszYEwQjAJyGMrdy3aznLM2TSEeQxqCxKzFT1qewmKxgWSMslH+CiLuuqs9H1FaIwvP15b6UHQ==", + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "aws-sdk": "^2.7.0" + } + }, + "node_modules/@aws/dynamodb-query-iterator/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@babel/cli": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.9.tgz", + "integrity": "sha512-vB1UXmGDNEhcf1jNAHKT9IlYk1R+hehVTLFlCLHBi8gfuHQGP6uRjgXVYU0EVlI/qwAWpstqkBdf2aez3/z/5Q==", "dev": true, - "requires": { + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "commander": "^4.0.1", + "convert-source-map": "^2.0.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", + "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", + "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.9", + "@babel/parser": "^7.23.9", + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, - "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/generator": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.9.tgz", - "integrity": "sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==", - "dev": true, - "requires": { - "@babel/types": "^7.21.5", + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dependencies": { + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-compilation-targets": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", - "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "semver": "^6.3.1" }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.23.10", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz", + "integrity": "sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==", "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", - "dev": true + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", - "dev": true, - "requires": { - "@babel/types": "^7.21.4" + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-plugin-utils": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", - "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", - "dev": true + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-simple-access": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", - "dev": true, - "requires": { - "@babel/types": "^7.21.5" + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-string-parser": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", - "dev": true + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "dev": true + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", + "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", + "dependencies": { + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/parser": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", - "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", - "dev": true + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "@babel/plugin-syntax-async-generators": { + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-bigint": { + "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-class-properties": { + "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-import-meta": { + "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-json-strings": { + "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-logical-assignment-operators": { + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-numeric-separator": { + "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-object-rest-spread": { + "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-catch-binding": { + "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-chaining": { + "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-top-level-await": { + "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/template": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", - "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/parser": "^7.21.9", - "@babel/types": "^7.21.5" + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", - "debug": "^4.1.0", - "globals": "^11.1.0" + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", "dependencies": { - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@evocateur/libnpmaccess": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", - "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "npm-package-arg": "^6.1.0" + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", "dependencies": { - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - } + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@evocateur/libnpmpublish": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz", - "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "lodash.clonedeep": "^4.5.0", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.1.0", - "semver": "^5.5.1", - "ssri": "^6.0.1" + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", "dependencies": { - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@evocateur/npm-registry-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", - "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==", - "dev": true, - "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@evocateur/pacote": { - "version": "9.6.5", - "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz", - "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "bluebird": "^3.5.3", - "cacache": "^12.0.3", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.5.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.4.4", - "npm-pick-manifest": "^3.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.3", - "safe-buffer": "^5.2.0", - "semver": "^5.7.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "dev": true, - "requires": { - "@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.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.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" + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", - "dev": true, - "requires": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@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", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", - "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", - "dev": true, - "requires": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@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.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/add": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.21.0.tgz", - "integrity": "sha512-vhUXXF6SpufBE1EkNEXwz1VLW03f177G9uMOFMQkp6OJ30/PWg4Ekifuz9/3YfgB2/GH8Tu4Lk3O51P2Hskg/A==", - "dev": true, - "requires": { - "@evocateur/pacote": "^9.6.3", - "@lerna/bootstrap": "3.21.0", - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/npm-conf": "3.16.0", - "@lerna/validation-error": "3.13.0", - "dedent": "^0.7.0", - "npm-package-arg": "^6.1.0", - "p-map": "^2.1.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/bootstrap": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.21.0.tgz", - "integrity": "sha512-mtNHlXpmvJn6JTu0KcuTTPl2jLsDNud0QacV/h++qsaKbhAaJr/FElNZ5s7MwZFUM3XaDmvWzHKaszeBMHIbBw==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/has-npm-version": "3.16.5", - "@lerna/npm-install": "3.16.5", - "@lerna/package-graph": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/rimraf-dir": "3.16.5", - "@lerna/run-lifecycle": "3.16.2", - "@lerna/run-topologically": "3.18.5", - "@lerna/symlink-binary": "3.17.0", - "@lerna/symlink-dependencies": "3.17.0", - "@lerna/validation-error": "3.13.0", - "dedent": "^0.7.0", - "get-port": "^4.2.0", - "multimatch": "^3.0.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "p-finally": "^1.0.0", - "p-map": "^2.1.0", - "p-map-series": "^1.0.0", - "p-waterfall": "^1.0.0", - "read-package-tree": "^5.1.6", - "semver": "^6.2.0" + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/changed": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-3.21.0.tgz", - "integrity": "sha512-hzqoyf8MSHVjZp0gfJ7G8jaz+++mgXYiNs9iViQGA8JlN/dnWLI5sWDptEH3/B30Izo+fdVz0S0s7ydVE3pWIw==", - "dev": true, - "requires": { - "@lerna/collect-updates": "3.20.0", - "@lerna/command": "3.21.0", - "@lerna/listable": "3.18.5", - "@lerna/output": "3.13.0" + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/check-working-tree": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.16.5.tgz", - "integrity": "sha512-xWjVBcuhvB8+UmCSb5tKVLB5OuzSpw96WEhS2uz6hkWVa/Euh1A0/HJwn2cemyK47wUrCQXtczBUiqnq9yX5VQ==", - "dev": true, - "requires": { - "@lerna/collect-uncommitted": "3.16.5", - "@lerna/describe-ref": "3.16.5", - "@lerna/validation-error": "3.13.0" + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/child-process": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.16.5.tgz", - "integrity": "sha512-vdcI7mzei9ERRV4oO8Y1LHBZ3A5+ampRKg1wq5nutLsUA4mEBN6H7JqjWOMY9xZemv6+kATm2ofjJ3lW5TszQg==", - "dev": true, - "requires": { - "chalk": "^2.3.1", - "execa": "^1.0.0", - "strong-log-transformer": "^2.0.0" + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/clean": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-3.21.0.tgz", - "integrity": "sha512-b/L9l+MDgE/7oGbrav6rG8RTQvRiZLO1zTcG17zgJAAuhlsPxJExMlh2DFwJEVi2les70vMhHfST3Ue1IMMjpg==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/prompt": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/rimraf-dir": "3.16.5", - "p-map": "^2.1.0", - "p-map-series": "^1.0.0", - "p-waterfall": "^1.0.0" + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/cli": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-3.18.5.tgz", - "integrity": "sha512-erkbxkj9jfc89vVs/jBLY/fM0I80oLmJkFUV3Q3wk9J3miYhP14zgVEBsPZY68IZlEjT6T3Xlq2xO1AVaatHsA==", - "dev": true, - "requires": { - "@lerna/global-options": "3.13.0", - "dedent": "^0.7.0", - "npmlog": "^4.1.2", - "yargs": "^14.2.2" + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz", + "integrity": "sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==", "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "yargs": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", - "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.1" - } - }, - "yargs-parser": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", - "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/collect-uncommitted": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-3.16.5.tgz", - "integrity": "sha512-ZgqnGwpDZiWyzIQVZtQaj9tRizsL4dUOhuOStWgTAw1EMe47cvAY2kL709DzxFhjr6JpJSjXV5rZEAeU3VE0Hg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "chalk": "^2.3.1", - "figgy-pudding": "^3.5.1", - "npmlog": "^4.1.2" + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/collect-updates": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.20.0.tgz", - "integrity": "sha512-qBTVT5g4fupVhBFuY4nI/3FSJtQVcDh7/gEPOpRxoXB/yCSnT38MFHXWl+y4einLciCjt/+0x6/4AG80fjay2Q==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/describe-ref": "3.16.5", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "slash": "^2.0.0" + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", "dependencies": { - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/command": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/command/-/command-3.21.0.tgz", - "integrity": "sha512-T2bu6R8R3KkH5YoCKdutKv123iUgUbW8efVjdGCDnCMthAQzoentOJfDeodBwn0P2OqCl3ohsiNVtSn9h78fyQ==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/package-graph": "3.18.5", - "@lerna/project": "3.21.0", - "@lerna/validation-error": "3.13.0", - "@lerna/write-log-file": "3.13.0", - "clone-deep": "^4.0.1", - "dedent": "^0.7.0", - "execa": "^1.0.0", - "is-ci": "^2.0.0", - "npmlog": "^4.1.2" + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/conventional-commits": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.22.0.tgz", - "integrity": "sha512-z4ZZk1e8Mhz7+IS8NxHr64wyklHctCJyWpJKEZZPJiLFJ8yKto/x38O80R10pIzC0rr8Sy/OsjSH4bl0TbbgqA==", - "dev": true, - "requires": { - "@lerna/validation-error": "3.13.0", - "conventional-changelog-angular": "^5.0.3", - "conventional-changelog-core": "^3.1.6", - "conventional-recommended-bump": "^5.0.0", - "fs-extra": "^8.1.0", - "get-stream": "^4.0.0", - "lodash.template": "^4.5.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "pify": "^4.0.1", - "semver": "^6.2.0" + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/create": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-3.22.0.tgz", - "integrity": "sha512-MdiQQzCcB4E9fBF1TyMOaAEz9lUjIHp1Ju9H7f3lXze5JK6Fl5NYkouAvsLgY6YSIhXMY8AHW2zzXeBDY4yWkw==", - "dev": true, - "requires": { - "@evocateur/pacote": "^9.6.3", - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/npm-conf": "3.16.0", - "@lerna/validation-error": "3.13.0", - "camelcase": "^5.0.0", - "dedent": "^0.7.0", - "fs-extra": "^8.1.0", - "globby": "^9.2.0", - "init-package-json": "^1.10.3", - "npm-package-arg": "^6.1.0", - "p-reduce": "^1.0.0", - "pify": "^4.0.1", - "semver": "^6.2.0", - "slash": "^2.0.0", - "validate-npm-package-license": "^3.0.3", - "validate-npm-package-name": "^3.0.0", - "whatwg-url": "^7.0.0" + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", "dependencies": { - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - } - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/create-symlink": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-3.16.2.tgz", - "integrity": "sha512-pzXIJp6av15P325sgiIRpsPXLFmkisLhMBCy4764d+7yjf2bzrJ4gkWVMhsv4AdF0NN3OyZ5jjzzTtLNqfR+Jw==", - "dev": true, - "requires": { - "@zkochan/cmd-shim": "^3.1.0", - "fs-extra": "^8.1.0", - "npmlog": "^4.1.2" + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@lerna/describe-ref": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.16.5.tgz", - "integrity": "sha512-c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "npmlog": "^4.1.2" + "node_modules/@babel/preset-env": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz", + "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@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-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/diff": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.21.0.tgz", - "integrity": "sha512-5viTR33QV3S7O+bjruo1SaR40m7F2aUHJaDAC7fL9Ca6xji+aw1KFkpCtVlISS0G8vikUREGMJh+c/VMSc8Usw==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/validation-error": "3.13.0", - "npmlog": "^4.1.2" + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "@lerna/exec": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.21.0.tgz", - "integrity": "sha512-iLvDBrIE6rpdd4GIKTY9mkXyhwsJ2RvQdB9ZU+/NhR3okXfqKc6py/24tV111jqpXTtZUW6HNydT4dMao2hi1Q==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/profiler": "3.20.0", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "p-map": "^2.1.0" + "node_modules/@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/filter-options": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.20.0.tgz", - "integrity": "sha512-bmcHtvxn7SIl/R9gpiNMVG7yjx7WyT0HSGw34YVZ9B+3xF/83N3r5Rgtjh4hheLZ+Q91Or0Jyu5O3Nr+AwZe2g==", - "dev": true, - "requires": { - "@lerna/collect-updates": "3.20.0", - "@lerna/filter-packages": "3.18.0", - "dedent": "^0.7.0", - "figgy-pudding": "^3.5.1", - "npmlog": "^4.1.2" + "node_modules/@babel/preset-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@lerna/filter-packages": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.18.0.tgz", - "integrity": "sha512-6/0pMM04bCHNATIOkouuYmPg6KH3VkPCIgTfQmdkPJTullERyEQfNUKikrefjxo1vHOoCACDpy65JYyKiAbdwQ==", - "dev": true, - "requires": { - "@lerna/validation-error": "3.13.0", - "multimatch": "^3.0.0", - "npmlog": "^4.1.2" - } + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, - "@lerna/get-npm-exec-opts": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.13.0.tgz", - "integrity": "sha512-Y0xWL0rg3boVyJk6An/vurKzubyJKtrxYv2sj4bB8Mc5zZ3tqtv0ccbOkmkXKqbzvNNF7VeUt1OJ3DRgtC/QZw==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" + "node_modules/@babel/runtime": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", + "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@lerna/get-packed": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-3.16.0.tgz", - "integrity": "sha512-AjsFiaJzo1GCPnJUJZiTW6J1EihrPkc2y3nMu6m3uWFxoleklsSCyImumzVZJssxMi3CPpztj8LmADLedl9kXw==", - "dev": true, - "requires": { - "fs-extra": "^8.1.0", - "ssri": "^6.0.1", - "tar": "^4.4.8" + "node_modules/@babel/template": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", + "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9" + }, + "engines": { + "node": ">=6.9.0" } }, - "@lerna/github-client": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.22.0.tgz", - "integrity": "sha512-O/GwPW+Gzr3Eb5bk+nTzTJ3uv+jh5jGho9BOqKlajXaOkMYGBELEAqV5+uARNGWZFvYAiF4PgqHb6aCUu7XdXg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@octokit/plugin-enterprise-rest": "^6.0.1", - "@octokit/rest": "^16.28.4", - "git-url-parse": "^11.1.2", - "npmlog": "^4.1.2" + "node_modules/@babel/traverse": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", + "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@lerna/gitlab-client": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-3.15.0.tgz", - "integrity": "sha512-OsBvRSejHXUBMgwWQqNoioB8sgzL/Pf1pOUhHKtkiMl6aAWjklaaq5HPMvTIsZPfS6DJ9L5OK2GGZuooP/5c8Q==", - "dev": true, - "requires": { - "node-fetch": "^2.5.0", - "npmlog": "^4.1.2", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } + "node_modules/@babel/types": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", + "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@lerna/global-options": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.13.0.tgz", - "integrity": "sha512-SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==", - "dev": true + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, - "@lerna/has-npm-version": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.16.5.tgz", - "integrity": "sha512-WL7LycR9bkftyqbYop5rEGJ9sRFIV55tSGmbN1HLrF9idwOCD7CLrT64t235t3t4O5gehDnwKI5h2U3oxTrF8Q==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } + "node_modules/@botonic/cli": { + "resolved": "packages/botonic-cli", + "link": true }, - "@lerna/import": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/import/-/import-3.22.0.tgz", - "integrity": "sha512-uWOlexasM5XR6tXi4YehODtH9Y3OZrFht3mGUFFT3OIl2s+V85xIGFfqFGMTipMPAGb2oF1UBLL48kR43hRsOg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/prompt": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/validation-error": "3.13.0", - "dedent": "^0.7.0", - "fs-extra": "^8.1.0", - "p-map-series": "^1.0.0" - } + "node_modules/@botonic/core": { + "resolved": "packages/botonic-core", + "link": true }, - "@lerna/info": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/info/-/info-3.21.0.tgz", - "integrity": "sha512-0XDqGYVBgWxUquFaIptW2bYSIu6jOs1BtkvRTWDDhw4zyEdp6q4eaMvqdSap1CG+7wM5jeLCi6z94wS0AuiuwA==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/output": "3.13.0", - "envinfo": "^7.3.1" - } + "node_modules/@botonic/dx": { + "resolved": "packages/botonic-dx", + "link": true }, - "@lerna/init": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/init/-/init-3.21.0.tgz", - "integrity": "sha512-6CM0z+EFUkFfurwdJCR+LQQF6MqHbYDCBPyhu/d086LRf58GtYZYj49J8mKG9ktayp/TOIxL/pKKjgLD8QBPOg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "fs-extra": "^8.1.0", - "p-map": "^2.1.0", - "write-json-file": "^3.2.0" - } + "node_modules/@botonic/eslint-config": { + "resolved": "packages/botonic-eslint-config", + "link": true }, - "@lerna/link": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/link/-/link-3.21.0.tgz", - "integrity": "sha512-tGu9GxrX7Ivs+Wl3w1+jrLi1nQ36kNI32dcOssij6bg0oZ2M2MDEFI9UF2gmoypTaN9uO5TSsjCFS7aR79HbdQ==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/package-graph": "3.18.5", - "@lerna/symlink-dependencies": "3.17.0", - "p-map": "^2.1.0", - "slash": "^2.0.0" - }, - "dependencies": { - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - } - } + "node_modules/@botonic/plugin-contentful": { + "resolved": "packages/botonic-plugin-contentful", + "link": true }, - "@lerna/list": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/list/-/list-3.21.0.tgz", - "integrity": "sha512-KehRjE83B1VaAbRRkRy6jLX1Cin8ltsrQ7FHf2bhwhRHK0S54YuA6LOoBnY/NtA8bHDX/Z+G5sMY78X30NS9tg==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/listable": "3.18.5", - "@lerna/output": "3.13.0" - } - }, - "@lerna/listable": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-3.18.5.tgz", - "integrity": "sha512-Sdr3pVyaEv5A7ZkGGYR7zN+tTl2iDcinryBPvtuv20VJrXBE8wYcOks1edBTcOWsPjCE/rMP4bo1pseyk3UTsg==", - "dev": true, - "requires": { - "@lerna/query-graph": "3.18.5", - "chalk": "^2.3.1", - "columnify": "^1.5.4" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } + "node_modules/@botonic/plugin-dynamodb": { + "resolved": "packages/botonic-plugin-dynamodb", + "link": true }, - "@lerna/log-packed": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-3.16.0.tgz", - "integrity": "sha512-Fp+McSNBV/P2mnLUYTaSlG8GSmpXM7krKWcllqElGxvAqv6chk2K3c2k80MeVB4WvJ9tRjUUf+i7HUTiQ9/ckQ==", - "dev": true, - "requires": { - "byte-size": "^5.0.1", - "columnify": "^1.5.4", - "has-unicode": "^2.0.1", - "npmlog": "^4.1.2" - } + "node_modules/@botonic/plugin-flow-builder": { + "resolved": "packages/botonic-plugin-flow-builder", + "link": true }, - "@lerna/npm-conf": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-3.16.0.tgz", - "integrity": "sha512-HbO3DUrTkCAn2iQ9+FF/eisDpWY5POQAOF1m7q//CZjdC2HSW3UYbKEGsSisFxSfaF9Z4jtrV+F/wX6qWs3CuA==", - "dev": true, - "requires": { - "config-chain": "^1.1.11", - "pify": "^4.0.1" - } + "node_modules/@botonic/plugin-google-analytics": { + "resolved": "packages/botonic-plugin-google-analytics", + "link": true }, - "@lerna/npm-dist-tag": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.5.tgz", - "integrity": "sha512-xw0HDoIG6HreVsJND9/dGls1c+lf6vhu7yJoo56Sz5bvncTloYGLUppIfDHQr4ZvmPCK8rsh0euCVh2giPxzKQ==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "@lerna/otplease": "3.18.5", - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2" - } + "node_modules/@botonic/plugin-hubtype-analytics": { + "resolved": "packages/botonic-plugin-hubtype-analytics", + "link": true }, - "@lerna/npm-install": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.16.5.tgz", - "integrity": "sha512-hfiKk8Eku6rB9uApqsalHHTHY+mOrrHeWEs+gtg7+meQZMTS3kzv4oVp5cBZigndQr3knTLjwthT/FX4KvseFg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/get-npm-exec-opts": "3.13.0", - "fs-extra": "^8.1.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "signal-exit": "^3.0.2", - "write-pkg": "^3.1.0" - } - }, - "@lerna/npm-publish": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.18.5.tgz", - "integrity": "sha512-3etLT9+2L8JAx5F8uf7qp6iAtOLSMj+ZYWY6oUgozPi/uLqU0/gsMsEXh3F0+YVW33q0M61RpduBoAlOOZnaTg==", - "dev": true, - "requires": { - "@evocateur/libnpmpublish": "^1.2.2", - "@lerna/otplease": "3.18.5", - "@lerna/run-lifecycle": "3.16.2", - "figgy-pudding": "^3.5.1", - "fs-extra": "^8.1.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "pify": "^4.0.1", - "read-package-json": "^2.0.13" - } + "node_modules/@botonic/plugin-hubtype-babel": { + "resolved": "packages/botonic-plugin-hubtype-babel", + "link": true }, - "@lerna/npm-run-script": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.16.5.tgz", - "integrity": "sha512-1asRi+LjmVn3pMjEdpqKJZFT/3ZNpb+VVeJMwrJaV/3DivdNg7XlPK9LTrORuKU4PSvhdEZvJmSlxCKyDpiXsQ==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/get-npm-exec-opts": "3.13.0", - "npmlog": "^4.1.2" - } + "node_modules/@botonic/plugin-knowledge-bases": { + "resolved": "packages/botonic-plugin-knowledge-bases", + "link": true }, - "@lerna/otplease": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.18.5.tgz", - "integrity": "sha512-S+SldXAbcXTEDhzdxYLU0ZBKuYyURP/ND2/dK6IpKgLxQYh/z4ScljPDMyKymmEvgiEJmBsPZAAPfmNPEzxjog==", - "dev": true, - "requires": { - "@lerna/prompt": "3.18.5", - "figgy-pudding": "^3.5.1" - } + "node_modules/@botonic/react": { + "resolved": "packages/botonic-react", + "link": true }, - "@lerna/output": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/output/-/output-3.13.0.tgz", - "integrity": "sha512-7ZnQ9nvUDu/WD+bNsypmPG5MwZBwu86iRoiW6C1WBuXXDxM5cnIAC1m2WxHeFnjyMrYlRXM9PzOQ9VDD+C15Rg==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "peer": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" } }, - "@lerna/pack-directory": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-3.16.4.tgz", - "integrity": "sha512-uxSF0HZeGyKaaVHz5FroDY9A5NDDiCibrbYR6+khmrhZtY0Bgn6hWq8Gswl9iIlymA+VzCbshWIMX4o2O8C8ng==", - "dev": true, - "requires": { - "@lerna/get-packed": "3.16.0", - "@lerna/package": "3.16.0", - "@lerna/run-lifecycle": "3.16.2", - "figgy-pudding": "^3.5.1", - "npm-packlist": "^1.4.4", - "npmlog": "^4.1.2", - "tar": "^4.4.10", - "temp-write": "^3.4.0" + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" } }, - "@lerna/package": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/package/-/package-3.16.0.tgz", - "integrity": "sha512-2lHBWpaxcBoiNVbtyLtPUuTYEaB/Z+eEqRS9duxpZs6D+mTTZMNy6/5vpEVSCBmzvdYpyqhqaYjjSLvjjr5Riw==", - "dev": true, - "requires": { - "load-json-file": "^5.3.0", - "npm-package-arg": "^6.1.0", - "write-pkg": "^3.1.0" + "node_modules/@contentful/rich-text-types": { + "version": "16.3.4", + "resolved": "https://registry.npmjs.org/@contentful/rich-text-types/-/rich-text-types-16.3.4.tgz", + "integrity": "sha512-PyVSrQa5j1hO4grgA0Ivo/taiOvW0uFN79JB5JkTG8U7DnWGI7Ap2As6zN6/E6YvDqb7w2cYRMSGSQ3qfxu8HQ==", + "engines": { + "node": ">=6.0.0" } }, - "@lerna/package-graph": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.18.5.tgz", - "integrity": "sha512-8QDrR9T+dBegjeLr+n9WZTVxUYUhIUjUgZ0gvNxUBN8S1WB9r6H5Yk56/MVaB64tA3oGAN9IIxX6w0WvTfFudA==", - "dev": true, - "requires": { - "@lerna/prerelease-id-from-version": "3.16.0", - "@lerna/validation-error": "3.13.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "semver": "^6.2.0" - }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@lerna/prerelease-id-from-version": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-3.16.0.tgz", - "integrity": "sha512-qZyeUyrE59uOK8rKdGn7jQz+9uOpAaF/3hbslJVFL1NqF9ELDTqjCPXivuejMX/lN4OgD6BugTO4cR7UTq/sZA==", - "dev": true, - "requires": { - "semver": "^6.2.0" + "@jridgewell/trace-mapping": "0.3.9" }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "engines": { + "node": ">=12" } }, - "@lerna/profiler": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-3.20.0.tgz", - "integrity": "sha512-bh8hKxAlm6yu8WEOvbLENm42i2v9SsR4WbrCWSbsmOElx3foRnMlYk7NkGECa+U5c3K4C6GeBbwgqs54PP7Ljg==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "fs-extra": "^8.1.0", - "npmlog": "^4.1.2", - "upath": "^1.2.0" + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "@lerna/project": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/project/-/project-3.21.0.tgz", - "integrity": "sha512-xT1mrpET2BF11CY32uypV2GPtPVm6Hgtha7D81GQP9iAitk9EccrdNjYGt5UBYASl4CIDXBRxwmTTVGfrCx82A==", - "dev": true, - "requires": { - "@lerna/package": "3.16.0", - "@lerna/validation-error": "3.13.0", - "cosmiconfig": "^5.1.0", - "dedent": "^0.7.0", - "dot-prop": "^4.2.0", - "glob-parent": "^5.0.0", - "globby": "^9.2.0", - "load-json-file": "^5.3.0", - "npmlog": "^4.1.2", - "p-map": "^2.1.0", - "resolve-from": "^4.0.0", - "write-json-file": "^3.2.0" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - } - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "engines": { + "node": ">=10.0.0" } }, - "@lerna/prompt": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.18.5.tgz", - "integrity": "sha512-rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ==", - "dev": true, - "requires": { - "inquirer": "^6.2.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/publish": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-3.22.1.tgz", - "integrity": "sha512-PG9CM9HUYDreb1FbJwFg90TCBQooGjj+n/pb3gw/eH5mEDq0p8wKdLFe0qkiqUkm/Ub5C8DbVFertIo0Vd0zcw==", - "dev": true, - "requires": { - "@evocateur/libnpmaccess": "^3.1.2", - "@evocateur/npm-registry-fetch": "^4.0.0", - "@evocateur/pacote": "^9.6.3", - "@lerna/check-working-tree": "3.16.5", - "@lerna/child-process": "3.16.5", - "@lerna/collect-updates": "3.20.0", - "@lerna/command": "3.21.0", - "@lerna/describe-ref": "3.16.5", - "@lerna/log-packed": "3.16.0", - "@lerna/npm-conf": "3.16.0", - "@lerna/npm-dist-tag": "3.18.5", - "@lerna/npm-publish": "3.18.5", - "@lerna/otplease": "3.18.5", - "@lerna/output": "3.13.0", - "@lerna/pack-directory": "3.16.4", - "@lerna/prerelease-id-from-version": "3.16.0", - "@lerna/prompt": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/run-lifecycle": "3.16.2", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "@lerna/version": "3.22.1", - "figgy-pudding": "^3.5.1", - "fs-extra": "^8.1.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "p-finally": "^1.0.0", - "p-map": "^2.1.0", - "p-pipe": "^1.2.0", - "semver": "^6.2.0" - }, + "node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@emotion/memoize": "0.7.4" } }, - "@lerna/pulse-till-done": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz", - "integrity": "sha512-1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } + "node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true }, - "@lerna/query-graph": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.18.5.tgz", - "integrity": "sha512-50Lf4uuMpMWvJ306be3oQDHrWV42nai9gbIVByPBYJuVW8dT8O8pA3EzitNYBUdLL9/qEVbrR0ry1HD7EXwtRA==", - "dev": true, - "requires": { - "@lerna/package-graph": "3.18.5", - "figgy-pudding": "^3.5.1" + "node_modules/@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "@lerna/resolve-symlink": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-3.16.0.tgz", - "integrity": "sha512-Ibj5e7njVHNJ/NOqT4HlEgPFPtPLWsO7iu59AM5bJDcAJcR96mLZ7KGVIsS2tvaO7akMEJvt2P+ErwCdloG3jQ==", - "dev": true, - "requires": { - "fs-extra": "^8.1.0", - "npmlog": "^4.1.2", - "read-cmd-shim": "^1.0.1" + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "@lerna/rimraf-dir": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.16.5.tgz", - "integrity": "sha512-bQlKmO0pXUsXoF8lOLknhyQjOZsCc0bosQDoX4lujBXSWxHVTg1VxURtWf2lUjz/ACsJVDfvHZbDm8kyBk5okA==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "npmlog": "^4.1.2", - "path-exists": "^3.0.0", - "rimraf": "^2.6.2" + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "funding": { + "url": "https://opencollective.com/eslint" } }, - "@lerna/run": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/run/-/run-3.21.0.tgz", - "integrity": "sha512-fJF68rT3veh+hkToFsBmUJ9MHc9yGXA7LSDvhziAojzOb0AI/jBDp6cEcDQyJ7dbnplba2Lj02IH61QUf9oW0Q==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/npm-run-script": "3.16.5", - "@lerna/output": "3.13.0", - "@lerna/profiler": "3.20.0", - "@lerna/run-topologically": "3.18.5", - "@lerna/timer": "3.13.0", - "@lerna/validation-error": "3.13.0", - "p-map": "^2.1.0" - } - }, - "@lerna/run-lifecycle": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-3.16.2.tgz", - "integrity": "sha512-RqFoznE8rDpyyF0rOJy3+KjZCeTkO8y/OB9orPauR7G2xQ7PTdCpgo7EO6ZNdz3Al+k1BydClZz/j78gNCmL2A==", - "dev": true, - "requires": { - "@lerna/npm-conf": "3.16.0", - "figgy-pudding": "^3.5.1", - "npm-lifecycle": "^3.1.2", - "npmlog": "^4.1.2" - } - }, - "@lerna/run-topologically": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.18.5.tgz", - "integrity": "sha512-6N1I+6wf4hLOnPW+XDZqwufyIQ6gqoPfHZFkfWlvTQ+Ue7CuF8qIVQ1Eddw5HKQMkxqN10thKOFfq/9NQZ4NUg==", - "dev": true, - "requires": { - "@lerna/query-graph": "3.18.5", - "figgy-pudding": "^3.5.1", - "p-queue": "^4.0.0" - } - }, - "@lerna/symlink-binary": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.17.0.tgz", - "integrity": "sha512-RLpy9UY6+3nT5J+5jkM5MZyMmjNHxZIZvXLV+Q3MXrf7Eaa1hNqyynyj4RO95fxbS+EZc4XVSk25DGFQbcRNSQ==", - "dev": true, - "requires": { - "@lerna/create-symlink": "3.16.2", - "@lerna/package": "3.16.0", - "fs-extra": "^8.1.0", - "p-map": "^2.1.0" - } - }, - "@lerna/symlink-dependencies": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.17.0.tgz", - "integrity": "sha512-KmjU5YT1bpt6coOmdFueTJ7DFJL4H1w5eF8yAQ2zsGNTtZ+i5SGFBWpb9AQaw168dydc3s4eu0W0Sirda+F59Q==", - "dev": true, - "requires": { - "@lerna/create-symlink": "3.16.2", - "@lerna/resolve-symlink": "3.16.0", - "@lerna/symlink-binary": "3.17.0", - "fs-extra": "^8.1.0", - "p-finally": "^1.0.0", - "p-map": "^2.1.0", - "p-map-series": "^1.0.0" + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "@lerna/timer": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-3.13.0.tgz", - "integrity": "sha512-RHWrDl8U4XNPqY5MQHkToWS9jHPnkLZEt5VD+uunCKTfzlxGnRCr3/zVr8VGy/uENMYpVP3wJa4RKGY6M0vkRw==", - "dev": true - }, - "@lerna/validation-error": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-3.13.0.tgz", - "integrity": "sha512-SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, - "@lerna/version": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/@lerna/version/-/version-3.22.1.tgz", - "integrity": "sha512-PSGt/K1hVqreAFoi3zjD0VEDupQ2WZVlVIwesrE5GbrL2BjXowjCsTDPqblahDUPy0hp6h7E2kG855yLTp62+g==", - "dev": true, - "requires": { - "@lerna/check-working-tree": "3.16.5", - "@lerna/child-process": "3.16.5", - "@lerna/collect-updates": "3.20.0", - "@lerna/command": "3.21.0", - "@lerna/conventional-commits": "3.22.0", - "@lerna/github-client": "3.22.0", - "@lerna/gitlab-client": "3.15.0", - "@lerna/output": "3.13.0", - "@lerna/prerelease-id-from-version": "3.16.0", - "@lerna/prompt": "3.18.5", - "@lerna/run-lifecycle": "3.16.2", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "chalk": "^2.3.1", - "dedent": "^0.7.0", - "load-json-file": "^5.3.0", + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "p-map": "^2.1.0", - "p-pipe": "^1.2.0", - "p-reduce": "^1.0.0", - "p-waterfall": "^1.0.0", - "semver": "^6.2.0", - "slash": "^2.0.0", - "temp-write": "^3.4.0", - "write-json-file": "^3.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "@lerna/write-log-file": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-3.13.0.tgz", - "integrity": "sha512-RibeMnDPvlL8bFYW5C8cs4mbI3AHfQef73tnJCQ/SgrXZHehmHnsyWUiE7qDQCAo+B1RfTapvSyFF69iPj326A==", - "dev": true, - "requires": { - "npmlog": "^4.1.2", - "write-file-atomic": "^2.3.0" - }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dependencies": { - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - } + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "engines": { + "node": ">= 4" } }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz", + "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==", "dev": true }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" } }, - "@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dev": true, - "requires": { - "@octokit/types": "^6.0.3" - } + "node_modules/@hapi/topo/node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" }, - "@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", - "dev": true, - "requires": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - }, - "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true - } + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" } }, - "@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", - "dev": true + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, - "@octokit/plugin-enterprise-rest": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", - "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", - "dev": true + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, - "@octokit/plugin-paginate-rest": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", - "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.1" - }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dependencies": { - "@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, - "requires": { - "@types/node": ">= 8" - } - } + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", - "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.1", - "deprecation": "^2.3.1" - }, - "dependencies": { - "@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, - "requires": { - "@types/node": ">= 8" - } - } + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", - "dev": true, - "requires": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", - "dev": true, - "requires": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - }, - "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true - } + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "@octokit/request-error": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", - "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, - "requires": { - "@types/node": ">= 8" - } - } + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "@octokit/rest": { - "version": "16.43.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz", - "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==", - "dev": true, - "requires": { - "@octokit/auth-token": "^2.4.0", - "@octokit/plugin-paginate-rest": "^1.1.1", - "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "2.4.0", - "@octokit/request": "^5.2.0", - "@octokit/request-error": "^1.0.2", - "atob-lite": "^2.0.0", - "before-after-hook": "^2.0.0", - "btoa-lite": "^1.0.0", - "deprecation": "^2.0.0", - "lodash.get": "^4.4.2", - "lodash.set": "^4.3.2", - "lodash.uniq": "^4.5.0", - "octokit-pagination-methods": "^1.1.0", - "once": "^1.4.0", - "universal-user-agent": "^4.0.0" - } - }, - "@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", - "dev": true, - "requires": { - "@octokit/openapi-types": "^12.11.0" - } - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" } }, - "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" } }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@types/babel__traverse": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.0.tgz", - "integrity": "sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "@types/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==", - "dev": true, - "requires": { - "@types/minimatch": "^5.1.2", - "@types/node": "*" + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dev": true, - "requires": { - "@types/node": "*" + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "@types/jest": { - "version": "26.0.24", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", - "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", - "dev": true, - "requires": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true + "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "node_modules/@jest/core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "@types/node": { - "version": "15.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", - "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==", - "dev": true + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", - "dev": true - }, - "@types/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==", - "dev": true, - "requires": { - "@types/glob": "*", - "@types/node": "*" + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/yargs": { - "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "@typescript-eslint/eslint-plugin": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", - "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.33.0", - "@typescript-eslint/scope-manager": "4.33.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", - "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", - "dev": true + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" + "node_modules/@jest/reporters/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "@zkochan/cmd-shim": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz", - "integrity": "sha512-o8l0+x7C7sMZU3v9GuJIAU10qQLtwR1dtRQIOmlNMtyaqhmpXOzx1HWiYoWfmmf9HHZoAkXpc9TM9PQYF9d4Jg==", - "dev": true, - "requires": { - "is-windows": "^1.0.0", - "mkdirp-promise": "^5.0.1", - "mz": "^2.5.0" + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", - "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", - "dev": true, - "requires": { - "humanize-ms": "^1.2.1" + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "node_modules/@jest/test-sequencer/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { + "node_modules/@jest/transform/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { + "dependencies": { "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "node_modules/@jest/transform/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "array-differ": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-2.1.0.tgz", - "integrity": "sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w==", - "dev": true + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", - "dev": true + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "dev": true + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "node_modules/@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "optional": true + }, + "node_modules/@nlpjs/core": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/core/-/core-4.26.1.tgz", + "integrity": "sha512-M/PeFddsi3y7Z1piFJxsLGm5/xdMhcrpOsml7s6CTEgYo8iduaT30HDd61tZxDyvvJseU6uFqlXSn7XKkAcC1g==" + }, + "node_modules/@nlpjs/lang-ca": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-ca/-/lang-ca-4.26.1.tgz", + "integrity": "sha512-fD4R5tcAB0uYtNxSEF20b1KmF6nUQSbiJqrIUJI5yis4ObjCYRQnSh4bjVDKUKxyONjbD6L8EaK5GrY1/jkwFQ==", + "dependencies": { + "@nlpjs/core": "^4.26.1" } }, - "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" + "node_modules/@nlpjs/lang-cs": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-cs/-/lang-cs-4.26.1.tgz", + "integrity": "sha512-CqI6VB8toaJ/MlP1D4K9BctA6GpZJhMKyEy+OX9xavDe4r4ao/SxlSaIYK3izK0k+J38lJWC5lXYGazfCdTGjA==", + "dependencies": { + "@nlpjs/core": "^4.26.1" } }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "node_modules/@nlpjs/lang-de": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-de/-/lang-de-4.26.1.tgz", + "integrity": "sha512-HfZQwsE5FICq9taVZDiyktmdAePVF5948NM80et0d9mx43RWDFhHKQYgtJPwfQXtdCoQtOM5TOJ2FanGwzPeaA==", + "dependencies": { + "@nlpjs/core": "^4.26.1" } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true + "node_modules/@nlpjs/lang-el": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-el/-/lang-el-4.26.1.tgz", + "integrity": "sha512-pcOvuSwPCXxI+2xNZZzM4V5pTRDntYoJi0SP/ic2nV4IPQ0nU2j16dYfg1HlvET/E6iN1VTqghrCaf10SMkDGA==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true + "node_modules/@nlpjs/lang-en-min": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-en-min/-/lang-en-min-4.26.1.tgz", + "integrity": "sha512-1sJZ7dy7ysqzbsB8IklguvB88J8EPIv4XGVkZCcwecKtOw+fp5LAsZ3TJVmEf18iK1gD4cEGr7qZg5fpPxTpWQ==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" + "node_modules/@nlpjs/lang-es": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-es/-/lang-es-4.26.1.tgz", + "integrity": "sha512-fIPQt+WPcNdyxZOCMkOPlMb4Y1iE585QxjB9IAdFz8ZtVg7mc4dlv5f46ud7ppdMh84iLOuOdo6pzu2Cqm14lw==", + "dependencies": { + "@nlpjs/core": "^4.26.1" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true + "node_modules/@nlpjs/lang-fr": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-fr/-/lang-fr-4.26.1.tgz", + "integrity": "sha512-LTA852atCJnHtKDmtjx/ui5AnvEIkrPx+MJQ2mB3gn8ko6i2UITnJgPmJE9Kej5bLasVZOAJvU/SrfXEmnPGOw==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true + "node_modules/@nlpjs/lang-hu": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-hu/-/lang-hu-4.26.1.tgz", + "integrity": "sha512-7dPUn5/ZpLZmsdRwO+dtORuMIiIpnsWbgSLIKdOLh8irhgUR+M2bYTfkdnKcrEcHzHPP8Svn7pU0xk7OKSUA1w==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true + "node_modules/@nlpjs/lang-it": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-it/-/lang-it-4.26.1.tgz", + "integrity": "sha512-BZA3QnfQGW91gYaybRmHnCAPBvQggtmHZJrAmuBZUKUS12HoQm8uybjw2fZO+vahEeUQceKNDISRcT1eLLijog==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "node_modules/@nlpjs/lang-nl": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-nl/-/lang-nl-4.26.1.tgz", + "integrity": "sha512-I/mP1RRbUN4BQ+8NXAl2FKaLHbb7f6S8JVjxHQ0sKHT4BgQ3+r0yO+DVcEsHg+vWRiY1Fyzh0gq0PhLVnF6HnA==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "node_modules/@nlpjs/lang-pl": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-pl/-/lang-pl-4.26.1.tgz", + "integrity": "sha512-nrDXlq+TzQLE5IpXPIlFMzd8OpquvApWsouh6fmLsD9HZLZI4O3w1M4sXXLzE+9Ggu9Cy1m1QJ0/i7XCcv115g==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "atob-lite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==", - "dev": true + "node_modules/@nlpjs/lang-pt": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-pt/-/lang-pt-4.26.1.tgz", + "integrity": "sha512-p6yZHaJ0e+n0avMHpdDw5PMk4HkKXjPbOMbrlg0dF+VRqChjxfH478Q423rDyzu/4MzDsIYB+p6KzL9AARKXpg==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true + "node_modules/@nlpjs/lang-ro": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-ro/-/lang-ro-4.26.1.tgz", + "integrity": "sha512-baUdTA0DWpDR0Tn6fxo+RDN/6gbuINLCARtHwap2UR/HKQWP2XoH/DIvcjZpwUTalr5MQjso31epcdeRRapczA==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true + "node_modules/@nlpjs/lang-ru": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-ru/-/lang-ru-4.26.1.tgz", + "integrity": "sha512-NaZ2DAOGxWG2Us9IyIDs3m6vhGpUaUJRVgzzHHyX3LO3xEYjZmtnA0jEpBaTOe2PuNHThv0WCZUNn9BSurV3PA==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true + "node_modules/@nlpjs/lang-sl": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-sl/-/lang-sl-4.26.1.tgz", + "integrity": "sha512-QBJwcJt+oKUpAnHKNJkLkx9Xm1n4dUPC5GPYfAXTnJZf0hNWJSY21GicdWi7Vu/qFJ3ghIqtSP8D7KIPLnibNw==", + "dependencies": { + "@nlpjs/core": "^4.26.1" + } }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, + "node_modules/@nlpjs/lang-tr": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-tr/-/lang-tr-4.26.1.tgz", + "integrity": "sha512-p30uuXvE9pZeU/5XkrQfvxRgiAOBmP3EyBFGV/+P05PEogaqbsmmtVCgCnR63yeRvVnGbToPBPjRK3OO1y4AEQ==", "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "@nlpjs/core": "^4.26.1" } }, - "babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "dev": true, - "requires": { - "@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.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" + "node_modules/@nlpjs/lang-uk": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/lang-uk/-/lang-uk-4.26.1.tgz", + "integrity": "sha512-PVEvmlhvl6BL3e/Q4qjMPsnwON3cWEYvDh9dg+Si+sjD2Edu9tajolJKcQ6ZA4I8dXrld5xuXx+DEBH/uB4uWQ==", + "dependencies": { + "@nlpjs/core": "^4.26.1" } }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, + "node_modules/@nlpjs/language-min": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@nlpjs/language-min/-/language-min-4.25.0.tgz", + "integrity": "sha512-g8jtbDbqtRm+dlD/1Vnb4VWfKbKteApEGVTqIMxYkk6N/HMhvLZ5J2svrxzrB98a/HZ0fb//YBfFgymnz9Oukg==" + }, + "node_modules/@nlpjs/ner": { + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/@nlpjs/ner/-/ner-4.27.0.tgz", + "integrity": "sha512-ptwkxriJdmgHSH9TfP10JQ1jviaSl2SupSFGUvTuWkuJhobQd3hbnlSq40V6XYvJNmqh9M9zEab/AKeghxYOTA==", "dependencies": { - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@nlpjs/core": "^4.26.1", + "@nlpjs/language-min": "^4.25.0", + "@nlpjs/similarity": "^4.26.1" } }, - "babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" + "node_modules/@nlpjs/similarity": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@nlpjs/similarity/-/similarity-4.26.1.tgz", + "integrity": "sha512-QutSBFGo/huNuz60PgqCjub0oBd9S8MLrjme33U5GzxuSvToQzXtn9/ynIia8qDm009D09VXV+LPeNE4h7yuSg==" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.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" + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" } }, - "babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "node_modules/@oclif/command": { + "version": "1.8.36", + "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.36.tgz", + "integrity": "sha512-/zACSgaYGtAQRzc7HjzrlIs14FuEYAZrMOEwicRoUnZVyRunG4+t5iSEeQu0Xy2bgbCD0U1SP/EdeNZSTXRwjQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@oclif/config": "^1.18.2", + "@oclif/errors": "^1.3.6", + "@oclif/help": "^1.0.1", + "@oclif/parser": "^3.8.17", + "debug": "^4.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12.0.0" }, + "peerDependencies": { + "@oclif/config": "^1" + } + }, + "node_modules/@oclif/command/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" + "node_modules/@oclif/command/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", - "dev": true + "node_modules/@oclif/command/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "node_modules/@oclif/config": { + "version": "1.18.17", + "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.17.tgz", + "integrity": "sha512-k77qyeUvjU8qAJ3XK3fr/QVAqsZO8QOBuESnfeM5HHtPNLSyfVcwiMM2zveSW5xRdLSG3MfV8QnLVkuyCL2ENg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@oclif/errors": "^1.3.6", + "@oclif/parser": "^3.8.17", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-wsl": "^2.1.1", + "tslib": "^2.6.1" + }, + "engines": { + "node": ">=8.0.0" + } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@oclif/dev-cli": { + "version": "1.26.10", + "resolved": "https://registry.npmjs.org/@oclif/dev-cli/-/dev-cli-1.26.10.tgz", + "integrity": "sha512-dJ+II9rVXckzFvG+82PbfphMTnoqiHvsuAAbcHrLdZWPBnFAiDKhNYE0iHnA/knAC4VGXhogsrAJ3ERT5d5r2g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "dependencies": { + "@oclif/command": "^1.8.15", + "@oclif/config": "^1.18.2", + "@oclif/errors": "^1.3.5", + "@oclif/plugin-help": "3.2.18", + "cli-ux": "5.6.7", + "debug": "^4.1.1", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^8.1", + "github-slugger": "^1.2.1", + "lodash": "^4.17.11", + "normalize-package-data": "^3.0.0", + "qqjs": "^0.3.10", + "tslib": "^2.0.3" + }, + "bin": { + "oclif-dev": "bin/run" + }, + "engines": { + "node": ">=8.10.0" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@oclif/dev-cli/node_modules/@oclif/config": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz", + "integrity": "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true, - "requires": { - "fill-range": "^7.0.1" + "dependencies": { + "@oclif/errors": "^1.3.3", + "@oclif/parser": "^3.8.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-wsl": "^2.1.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "node_modules/@oclif/dev-cli/node_modules/@oclif/errors": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz", + "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "dependencies": { + "clean-stack": "^3.0.0", + "fs-extra": "^8.1", + "indent-string": "^4.0.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "node_modules/@oclif/dev-cli/node_modules/@oclif/plugin-help": { + "version": "3.2.18", + "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.18.tgz", + "integrity": "sha512-5n5Pkz4L0duknIvFwx2Ko9Xda3miT6RZP8bgaaK3Q/9fzVBrhi4bOM0u05/OThI6V+3NsSdxYS2o1NLcXToWDg==", "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" + "dependencies": { + "@oclif/command": "^1.8.14", + "@oclif/config": "1.18.2", + "@oclif/errors": "1.3.5", + "@oclif/help": "^1.0.0", + "chalk": "^4.1.2", + "indent-string": "^4.0.0", + "lodash": "^4.17.21", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "widest-line": "^3.1.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/@oclif/dev-cli/node_modules/@oclif/plugin-help/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "requires": { - "node-int64": "^0.4.0" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "btoa-lite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", - "integrity": "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", - "dev": true - }, - "byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", - "dev": true - }, - "byte-size": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-5.0.1.tgz", - "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw==", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "node_modules/@oclif/dev-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "node_modules/@oclif/dev-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/@oclif/dev-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "call-me-maybe": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", - "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "node_modules/@oclif/dev-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "node_modules/@oclif/dev-cli/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "requires": { - "callsites": "^2.0.0" - }, "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", - "dev": true - } + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "node_modules/@oclif/dev-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "caller-callsite": "^2.0.0" + "engines": { + "node": ">=8" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "node_modules/@oclif/dev-cli/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "caniuse-lite": { - "version": "1.0.30001489", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", - "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", - "dev": true - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "node_modules/@oclif/dev-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "rsvp": "^4.8.4" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@oclif/dev-cli/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "engines": { + "node": ">= 4.0.0" } }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "node_modules/@oclif/errors": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.6.tgz", + "integrity": "sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "clean-stack": "^3.0.0", + "fs-extra": "^8.1", + "indent-string": "^4.0.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=8.0.0" + } }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, + "node_modules/@oclif/errors/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" + "node_modules/@oclif/errors/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true + "node_modules/@oclif/errors/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { + "node_modules/@oclif/help": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@oclif/help/-/help-1.0.15.tgz", + "integrity": "sha512-Yt8UHoetk/XqohYX76DfdrUYLsPKMc5pgkzsZVHDyBSkLiGRzujVaGZdjr32ckVZU9q3a47IjhWxhip7Dz5W/g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@oclif/config": "1.18.16", + "@oclif/errors": "1.3.6", + "chalk": "^4.1.2", + "indent-string": "^4.0.0", + "lodash": "^4.17.21", "string-width": "^4.2.0", "strip-ansi": "^6.0.0", + "widest-line": "^3.1.0", "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "cloc": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/cloc/-/cloc-2.11.0.tgz", - "integrity": "sha512-+mxuCHo7ESOQadlsyMjmPZ4hGBtvQzmNGHfLdBNvXKbnRhtmOTslU4XF2cyFSaOCHaaF26ba2CGjU6lpeIFB0w==", - "dev": true - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "node_modules/@oclif/help/node_modules/@oclif/config": { + "version": "1.18.16", + "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.16.tgz", + "integrity": "sha512-VskIxVcN22qJzxRUq+raalq6Q3HUde7sokB7/xk5TqRZGEKRVbFeqdQBxDWwQeudiJEgcNiMvIFbMQ43dY37FA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@oclif/errors": "^1.3.6", + "@oclif/parser": "^3.8.16", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-wsl": "^2.1.1", + "tslib": "^2.6.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true + "node_modules/@oclif/help/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "node_modules/@oclif/help/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "color-convert": { + "node_modules/@oclif/help/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/@oclif/help/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "columnify": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", - "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", - "dev": true, - "requires": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" + "node_modules/@oclif/help/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" + "node_modules/@oclif/help/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "dev": true, - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - }, - "dependencies": { - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - } + "node_modules/@oclif/help/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "node_modules/@oclif/linewrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz", + "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==" + }, + "node_modules/@oclif/parser": { + "version": "3.8.17", + "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.17.tgz", + "integrity": "sha512-l04iSd0xoh/16TGVpXb81Gg3z7tlQGrEup16BrVLsZBK6SEYpYHRJZnM32BwZrHI97ZSFfuSwVlzoo6HdsaK8A==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@oclif/errors": "^1.3.6", + "@oclif/linewrap": "^1.0.0", + "chalk": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=8.0.0" + } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "node_modules/@oclif/parser/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "node_modules/@oclif/parser/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "node_modules/@oclif/parser/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true + "node_modules/@oclif/parser/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "node_modules/@oclif/parser/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "conventional-changelog-core": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", - "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", - "dev": true, - "requires": { - "conventional-changelog-writer": "^4.0.6", - "conventional-commits-parser": "^3.0.3", - "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", - "git-raw-commits": "2.0.0", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^2.0.3", - "lodash": "^4.2.1", - "normalize-package-data": "^2.3.5", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - } + "node_modules/@oclif/parser/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "conventional-changelog-preset-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true + "node_modules/@oclif/plugin-help": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.3.1.tgz", + "integrity": "sha512-QuSiseNRJygaqAdABYFWn/H1CwIZCp9zp/PLid6yXvy6VcQV7OenEFF5XuYaCvSARe2Tg9r8Jqls5+fw1A9CbQ==", + "dependencies": { + "@oclif/command": "^1.8.15", + "@oclif/config": "1.18.2", + "@oclif/errors": "1.3.5", + "@oclif/help": "^1.0.1", + "chalk": "^4.1.2", + "indent-string": "^4.0.0", + "lodash": "^4.17.21", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "widest-line": "^3.1.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=8.0.0" + } }, - "conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.6", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - } + "node_modules/@oclif/plugin-help/node_modules/@oclif/config": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz", + "integrity": "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@oclif/errors": "^1.3.3", + "@oclif/parser": "^3.8.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-wsl": "^2.1.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", - "dev": true, - "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" + "node_modules/@oclif/plugin-help/node_modules/@oclif/errors": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz", + "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "clean-stack": "^3.0.0", + "fs-extra": "^8.1", + "indent-string": "^4.0.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", - "dev": true, - "requires": { - "JSONStream": "^1.0.4", - "is-text-path": "^1.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - } + "node_modules/@oclif/plugin-help/node_modules/@oclif/errors/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "conventional-recommended-bump": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-5.0.1.tgz", - "integrity": "sha512-RVdt0elRcCxL90IrNP0fYCpq1uGt2MALko0eyeQ+zQuDVWtMGAy9ng6yYn3kax42lCj9+XBxQ8ZN6S9bdKxDhQ==", - "dev": true, - "requires": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.1.1", - "conventional-commits-filter": "^2.0.2", - "conventional-commits-parser": "^3.0.3", - "git-raw-commits": "2.0.0", - "git-semver-tags": "^2.0.3", - "meow": "^4.0.0", - "q": "^1.5.1" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } - }, - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", - "dev": true - }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", - "dev": true, - "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - } - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", - "dev": true - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==", - "dev": true - } + "node_modules/@oclif/plugin-help/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "node_modules/@oclif/plugin-help/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "node_modules/@oclif/plugin-help/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@oclif/plugin-help/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@oclif/plugin-help/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dependencies": { - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true + "node_modules/@oclif/plugin-help/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "node_modules/@oclif/plugin-help/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } }, - "core_d": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/core_d/-/core_d-3.2.0.tgz", - "integrity": "sha512-waKkgHU2P19huhuMjCqCDWTYjxCIHoB+nnYjI7pVMUOC1giWxMNDrXkPw9QjWY+PWCFm49bD3wA/J+c7BGZ+og==", - "dev": true, - "requires": { - "supports-color": "^8.1.0" - }, + "node_modules/@oclif/plugin-help/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true - } + "node_modules/@oclif/plugin-help/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" } }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "node_modules/@oclif/plugin-help/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/@oclif/screen": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz", + "integrity": "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==", + "deprecated": "Deprecated in favor of @oclif/core", "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "engines": { + "node": ">=8.0.0" } }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@samverschueren/stream-to-observable": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", + "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true + "any-observable": "^0.3.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependenciesMeta": { + "rxjs": { + "optional": true + }, + "zen-observable": { + "optional": true } } }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" + "node_modules/@segment/loosely-validate-event": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", + "integrity": "sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==", + "dependencies": { + "component-type": "^1.2.1", + "join-component": "^1.1.0" } }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", - "dev": true - }, - "dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dependencies": { + "@hapi/hoek": "^9.0.0" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } + "node_modules/@sideway/address/node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" }, - "data-urls": { + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "node_modules/@sideway/pinpoint": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" + "node_modules/@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "engines": { + "node": ">=4" } }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==", - "dev": true + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dependencies": { + "type-detect": "4.0.8" + } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } }, - "decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "node_modules/@testing-library/dom": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true - } + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" } }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "clone": "^1.0.2" + "engines": { + "node": ">=8" } }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/@testing-library/react": { + "version": "12.1.5", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz", + "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==", "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.0.0", + "@types/react-dom": "<18.0.0" }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "<18.0.0", + "react-dom": "<18.0.0" + } + }, + "node_modules/@testing-library/react-hooks": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz", + "integrity": "sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==", + "dev": true, "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "@babel/runtime": "^7.12.5", + "react-error-boundary": "^3.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0", + "react": "^16.9.0 || ^17.0.0", + "react-dom": "^16.9.0 || ^17.0.0", + "react-test-renderer": "^16.9.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "react-dom": { + "optional": true }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } + "react-test-renderer": { + "optional": true } } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" }, - "detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", - "dev": true + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, - "dezalgo": { + "node_modules/@tsconfig/node16": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", - "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "node_modules/@types/analytics-node": { + "version": "3.1.14", + "resolved": "https://registry.npmjs.org/@types/analytics-node/-/analytics-node-3.1.14.tgz", + "integrity": "sha512-m7+SReJIPwwS0eqnJ+5WwdR4U5aU0WhVUYuQ/n177iPpyXObPy/wP7HU7mohyNeRqxGsTO8mIUYC3MRGkyxhwQ==", "dev": true }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "node_modules/@types/archiver": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.4.tgz", + "integrity": "sha512-Lj7fLBIMwYFgViVVZHEdExZC3lVYsl+QL0VmdNdIzGZH544jHveYWij6qdnBgJQDnR7pMKliN9z2cPZFEbhyPw==", + "dependencies": { + "@types/readdir-glob": "*" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/@types/aws-sdk": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@types/aws-sdk/-/aws-sdk-2.7.0.tgz", + "integrity": "sha512-bF6brnwPN9+kheqdKCpinMgCkj+sJIUEj+0v0LPug9OQwL5/1jy+kiJwl+Nkw4Kh+7oaL1phhC4gMz6Oq60jMg==", + "deprecated": "This is a stub types definition for aws-sdk (https://github.com/aws/aws-sdk-js). aws-sdk provides its own type definitions, so you don't need @types/aws-sdk installed!", "dev": true, - "requires": { - "path-type": "^4.0.0" + "dependencies": { + "aws-sdk": "*" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } + "@babel/types": "^7.0.0" } }, - "dot-prop": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", - "dev": true, - "requires": { - "is-obj": "^1.0.0" + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dependencies": { + "@babel/types": "^7.20.7" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "node_modules/@types/base16": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/base16/-/base16-1.0.5.tgz", + "integrity": "sha512-OzOWrTluG9cwqidEzC/Q6FAmIPcnZfm8BFRlIx0+UIUqnuAmi5OS88O0RpT3Yz6qdmqObvUhasrbNsCofE4W9A==" + }, + "node_modules/@types/concurrently": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@types/concurrently/-/concurrently-6.4.0.tgz", + "integrity": "sha512-CYU1eyFHsIa2IZIsb8gfUOdiewfnZcyM2Hg1Zaq95xnmB0Ix/bTRM8SttqZ2Cjy6JGPZLttHjZewVsDg1yvnJg==", "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "dependencies": { + "@types/node": "*", + "chalk": "^4.1.0" } }, - "electron-to-chromium": { - "version": "1.4.408", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.408.tgz", - "integrity": "sha512-vjeaj0u/UYnzA/CIdGXzzcxRLCqRwREYc9YfaWInjIEr7/XPttZ6ShpyqapchEy0S2r6LpLjDBTnNj7ZxnxJKg==", - "dev": true - }, - "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "node_modules/@types/concurrently/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "iconv-lite": "^0.6.2" - }, "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/@types/concurrently/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { - "once": "^1.4.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@types/concurrently/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "ansi-colors": "^4.1.1" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==", + "node_modules/@types/concurrently/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/@types/concurrently/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "is-arrayish": "^0.2.1" + "engines": { + "node": ">=8" } }, - "es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "node_modules/@types/concurrently/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true + "node_modules/@types/eslint": { + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" } }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", "dev": true, - "requires": { - "has": "^1.0.3" + "dependencies": { + "@types/node": "*" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/@types/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==", "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "dependencies": { + "@types/minimatch": "^5.1.2", + "@types/node": "*" } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dependencies": { + "@types/node": "*" + } }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-HhxyLejTHMfohAuhRun4csWigAMjXTmRyiJTU1Y/I1xmggikFMkOUoMQRlFm+zQcPEGHSs3io/0FAmNZf8EymQ==", "dev": true, - "requires": { - "es6-promise": "^4.0.3" + "dependencies": { + "@types/through": "*", + "rxjs": "^6.4.0" } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "26.0.24", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", + "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", + "dependencies": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "node_modules/@types/jest/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@types/jest/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } + "@types/yargs-parser": "*" } }, - "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "eslint-config-prettier": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", - "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", - "dev": true - }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "node_modules/@types/jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "eslint-import-resolver-typescript": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", - "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", - "dev": true, - "requires": { - "debug": "^4.3.4", - "glob": "^7.2.0", - "is-glob": "^4.0.3", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "node_modules/@types/jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@types/jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" } }, - "eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@types/jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "eslint-plugin-filenames": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", - "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, - "requires": { - "lodash.camelcase": "4.3.0", - "lodash.kebabcase": "4.1.1", - "lodash.snakecase": "4.1.1", - "lodash.upperfirst": "4.3.1" + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "node_modules/@types/json-patch": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/json-patch/-/json-patch-0.0.30.tgz", + "integrity": "sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/localtunnel": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/localtunnel/-/localtunnel-2.0.4.tgz", + "integrity": "sha512-7WM5nlEfEKp8MpwthPa2utdy+f/7ZBxMPzu8qw6EijFFTcpzh5CXgt2YoncxWAZNOPNieMofXCKFudtDEY4bag==", "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@types/node": "*" } }, - "eslint-plugin-jest": { - "version": "24.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz", - "integrity": "sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "^4.0.1" - } + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" }, - "eslint-plugin-no-null": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-null/-/eslint-plugin-no-null-1.0.2.tgz", - "integrity": "sha512-uRDiz88zCO/2rzGfgG15DBjNsgwWtWiSo4Ezy7zzajUgpnFIqd1TjepKeRmJZHEfBGu58o2a8S0D7vglvvhkVA==", + "node_modules/@types/marked": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-2.0.5.tgz", + "integrity": "sha512-shRZ7XnYFD/8n8zSjKvFdto1QNSf4tONZIlNEZGrJe8GsOE8DL/hG1Hbl8gZlfLnjS7+f5tZGIaTgfpyW38h4w==", "dev": true }, - "eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "node_modules/@types/memoizee": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/@types/memoizee/-/memoizee-0.4.11.tgz", + "integrity": "sha512-2gyorIBZu8GoDr9pYjROkxWWcFtHCquF7TVbN2I+/OvgZhnIGQS0vX5KJz4lXNKb8XOSfxFOSG5OLru1ESqLUg==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" + }, + "node_modules/@types/minipass": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-3.3.5.tgz", + "integrity": "sha512-M2BLHQdEmDmH671h0GIlOQQJrgezd1vNqq7PVj1VOsHZ2uQQb4iPiQIl0SlMdhxZPUsLIfEklmeEHXg8DJRewA==", + "deprecated": "This is a stub types definition. minipass provides its own type definitions, so you do not need this installed.", "dev": true, - "requires": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "minipass": "*" } }, - "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" + "node_modules/@types/node": { + "version": "20.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz", + "integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==", + "dependencies": { + "undici-types": "~5.26.4" } }, - "eslint-plugin-promise": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", - "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", - "dev": true - }, - "eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" - }, + "node_modules/@types/nodemon": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/nodemon/-/nodemon-1.19.6.tgz", + "integrity": "sha512-vjKuaQOLUA5EY2zkUmWG1ipXbKt9Wd+H/0SiIuHVeH4cHtt6509iRUGH9ZR0iqgUrtj3BrP9KqoTuV3ZCbQcYA==", "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@types/node": "*" } }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "peer": true }, - "eslint-plugin-simple-import-sort": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz", - "integrity": "sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw==", + "node_modules/@types/pako": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.7.tgz", + "integrity": "sha512-YBtzT2ztNF6R/9+UXj2wTGFnC9NklAnASt3sC0h2m1bbH7G6FyBIkt4AN8ThZpNfxUo1b2iMVO0UawiJymEt8A==", "dev": true }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/@types/parse5": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-7.0.0.tgz", + "integrity": "sha512-f2SeAxumolBmhuR62vNGTsSAvdz/Oj0k682xNrcKJ4dmRnTPODB74j6CPoNPzBPTHsu7Y7W7u93Mgp8Ovo8vWw==", + "deprecated": "This is a stub types definition. parse5 provides its own type definitions, so you do not need this installed.", "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "dependencies": { + "parse5": "*" } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - } + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "peer": true }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, - "eslint_d": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/eslint_d/-/eslint_d-10.1.3.tgz", - "integrity": "sha512-B8ESWH1KrLNgV0CR9r/Mc4lbgArnbWIuHnHrJlmuWx+02UriPXNnk4+nNFakzXHRh/sTHeCA4LiArkSfIqsfsw==", + "node_modules/@types/react": { + "version": "16.14.56", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.56.tgz", + "integrity": "sha512-MxuHB7dvVm5yOxRr7hJoonLG0JY8YvqZtaQ9Quirp3Oe4FLFjAgxkxsKE6IspdHPpRVZKo2ZoDEravWO81EeYA==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "17.0.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz", + "integrity": "sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==", "dev": true, - "requires": { - "core_d": "^3.1.0", - "eslint": "^7.3.0", - "nanolru": "^1.0.0", - "optionator": "^0.9.1" + "dependencies": { + "@types/react": "^17" } }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "node_modules/@types/react-dom/node_modules/@types/react": { + "version": "17.0.75", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.75.tgz", + "integrity": "sha512-MSA+NzEzXnQKrqpO63CYqNstFjsESgvJAdAyyJ1n6ZQq/GLgf6nOfIKwk+Twuz0L1N6xPe+qz5xRCJrbhMaLsw==", "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "node_modules/@types/readdir-glob": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.5.tgz", + "integrity": "sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==", + "dependencies": { + "@types/node": "*" + } }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/@types/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==", "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } + "@types/glob": "*", + "@types/node": "*" } }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" + }, + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + }, + "node_modules/@types/through": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", + "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } + "@types/node": "*" } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", "dev": true }, - "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", - "dev": true + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dependencies": { + "@types/yargs-parser": "*" + } }, - "exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", + "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } + "@typescript-eslint/experimental-utils": "4.33.0", + "@typescript-eslint/scope-manager": "4.33.0", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", + "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/@typescript-eslint/parser": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", + "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "dependencies": { + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "debug": "^4.3.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", + "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0" }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "node_modules/@typescript-eslint/type-utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" + "node_modules/@typescript-eslint/type-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" + "node_modules/@typescript-eslint/type-utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true + "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" + "node_modules/@typescript-eslint/type-utils/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/@typescript-eslint/type-utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@typescript-eslint/types": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", "dev": true, - "requires": { - "flat-cache": "^3.0.4" + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", "dev": true, - "requires": { - "to-regex-range": "^5.0.1" + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "requires": { - "map-cache": "^0.2.2" + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "node_modules/@typescript-eslint/utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" + "node_modules/@typescript-eslint/utils/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", "dev": true, - "optional": true + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "genfun": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" } }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, - "get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", - "through2": "^2.0.0" - }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", - "dev": true - } + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "get-port": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", - "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", - "dev": true + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "node_modules/@webpack-cli/configtest": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true + "node_modules/@webpack-cli/info": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", + "dependencies": { + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" + } }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "node_modules/@webpack-cli/serve": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } } }, - "git-raw-commits": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", - "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", - "dev": true, - "requires": { - "dargs": "^4.0.1", - "lodash.template": "^4.0.2", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", - "dev": true - }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", - "dev": true, - "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - } - }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", - "dev": true, - "requires": { - "through2": "^2.0.2" - } - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", - "dev": true - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==", - "dev": true - } - } + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, - "git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", - "dev": true, - "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - } + "engines": { + "node": ">=0.4.0" } }, - "git-semver-tags": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", - "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, - "requires": { - "meow": "^4.0.0", - "semver": "^6.0.0" - }, "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", - "dev": true - }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", - "dev": true, - "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", - "dev": true - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==", - "dev": true - } + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, - "git-up": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", - "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", + "node_modules/acorn-globals/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, - "requires": { - "is-ssh": "^1.3.0", - "parse-url": "^6.0.0" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "git-url-parse": { - "version": "11.6.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz", - "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==", - "dev": true, - "requires": { - "git-up": "^4.0.0" + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", - "dev": true, - "requires": { - "ini": "^1.3.2" + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "engines": { + "node": ">=0.4.0" } }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "node_modules/adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", + "integrity": "sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==", + "dependencies": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + }, + "bin": { + "adler32": "bin/adler32.njs" + }, + "engines": { + "node": ">=0.8" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, - "requires": { - "define-properties": "^1.1.3" + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/aggregate-error/node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "engines": { + "node": ">=6" } }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "dev": true, - "optional": true - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" + "node_modules/analytics-node": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/analytics-node/-/analytics-node-3.5.0.tgz", + "integrity": "sha512-XgQq6ejZHCehUSnZS4V7QJPLIP7S9OAWwQDYl4WTLtsRvc5fCxIwzK/yihzmIW51v9PnyBmrl9dMcqvwfOE8WA==", + "dependencies": { + "@segment/loosely-validate-event": "^2.0.0", + "axios": "^0.21.1", + "axios-retry": "^3.0.2", + "lodash.isstring": "^4.0.1", + "md5": "^2.2.1", + "ms": "^2.0.0", + "remove-trailing-slash": "^0.1.0", + "uuid": "^3.2.1" + }, + "engines": { + "node": ">=4" } }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true + "node_modules/analytics-node/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" + "node_modules/analytics-node/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" } }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" } }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", "dev": true }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" + "node_modules/any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", + "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", + "engines": { + "node": ">=6" } }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", "dev": true }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - } + ] }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "node_modules/archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==", + "dependencies": { + "file-type": "^4.2.0" + }, + "engines": { + "node": ">=4" + } }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" + "node_modules/archive-type/node_modules/file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==", + "engines": { + "node": ">=4" } }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "human-signals": { + "node_modules/archiver-utils/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "requires": { - "ms": "^2.0.0" + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "node_modules/archiver/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true + "node_modules/archiver/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } }, - "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" + "node_modules/archiver/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "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" + }, + "engines": { + "node": ">=6" } }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "dependencies": { + "deep-equal": "^2.0.5" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { + "node_modules/arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "engines": { + "node": ">=0.10.0" + } }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "engines": { + "node": ">=0.10.0" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "engines": { + "node": ">=0.10.0" + } }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "init-package-json": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", - "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", - "dev": true, - "requires": { - "glob": "^7.1.1", - "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "1 || 2", - "semver": "2.x || 3.x || 4 || 5", - "validate-npm-package-license": "^3.0.1", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "engines": { + "node": ">=0.10.0" } }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" } }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha512-rBtCAQAJm8A110nbwn6YdveUnuZH3WrC36IwkRXxDnq53JvXA2NVQvB7IHyKomxK1MJ4VDNw3UtFDdXQ+AvLYA==", - "dev": true + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "engines": { + "node": ">=0.10.0" + } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "engines": { + "node": ">=0.10.0" } }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "requires": { + "node_modules/array.prototype.filter": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz", + "integrity": "sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==", + "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "node_modules/array.prototype.findlastindex": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz", + "integrity": "sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dependencies": { "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", "dev": true, - "requires": { - "ci-info": "^2.0.0" + "dependencies": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" } }, - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dev": true, - "requires": { - "has": "^1.0.3" + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "engines": { + "node": ">=0.10.0" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "engines": { + "node": ">=8" } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/async-parallel": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/async-parallel/-/async-parallel-1.2.3.tgz", + "integrity": "sha512-FWKFY4Gk8lNobUdjTY7rOjk30yfCdzQ1nbNX/dWV94RaAlBa0clGYGqXORYjdYRaylq+HDyIDzq6smVu2L0P1g==" + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "has-symbols": "^1.0.3" } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", - "dev": true - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "optional": true + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "node_modules/available-typed-arrays": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz", + "integrity": "sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true + "node_modules/aws-sdk": { + "version": "2.1554.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1554.0.tgz", + "integrity": "sha512-MmCfg80CKCOFeC8K6UMSmDLPPGVesAglOzmO2IMEugHt10UsK2szOa+C31IHO2PEnjhn+l4WoVlaBAN/YQX+tQ==", + "dependencies": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.16.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "util": "^0.12.4", + "uuid": "8.0.0", + "xml2js": "0.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "node_modules/aws-sdk/node_modules/uuid": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", + "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", + "bin": { + "uuid": "dist/bin/uuid" + } }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" + "node_modules/axios-retry": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.9.1.tgz", + "integrity": "sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==", + "dependencies": { + "@babel/runtime": "^7.15.4", + "is-retry-allowed": "^2.2.0" } }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" + "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "engines": { + "node": ">=4" } }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "dev": true + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "is-regex": { + "node_modules/babel-jest/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "is-ssh": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", - "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", - "dev": true, - "requires": { - "protocols": "^2.0.1" + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" + "node_modules/babel-loader/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-symbol": { + "node_modules/babel-plugin-add-module-exports": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } + "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", + "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==" }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", - "dev": true, - "requires": { - "text-extensions": "^1.0.0" + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "dev": true + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.5.0", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "optional": true, - "requires": { - "is-docker": "^2.0.0" + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "node_modules/babel-plugin-styled-components": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", + "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "lodash": "^4.17.21", + "picomatch": "^2.3.1" + }, + "peerDependencies": { + "styled-components": ">= 2" + } }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base16": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/bin-build": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", + "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "istanbul-lib-report": { + "node_modules/bin-build/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/bin-build/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-build/node_modules/get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" } }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "node_modules/bin-build/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" } }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "node_modules/bin-build/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", - "dev": true, - "requires": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" + "node_modules/bin-build/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { + "path-key": "^2.0.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-build/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-build/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dependencies": { - "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "dev": true, - "requires": { - "@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.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - } - } + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" + "node_modules/bin-build/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-build/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/bin-build/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, + "node_modules/bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", "dependencies": { - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - } + "execa": "^0.7.0", + "executable": "^4.1.0" + }, + "engines": { + "node": ">=4" } }, - "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@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.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" + "node_modules/bin-check/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "node_modules/bin-check/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" + "node_modules/bin-check/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" } }, - "jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" + "node_modules/bin-check/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" } }, - "jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", - "dev": true, - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" + "node_modules/bin-check/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", - "dev": true, - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "node_modules/bin-check/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "jest-expect-message": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/jest-expect-message/-/jest-expect-message-1.1.3.tgz", - "integrity": "sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==", - "dev": true + "node_modules/bin-check/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "dev": true + "node_modules/bin-check/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.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" + "node_modules/bin-check/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" } }, - "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@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.6.2", - "is-generator-fn": "^2.0.0", - "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" + "node_modules/bin-check/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "jest-junit": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-12.3.0.tgz", - "integrity": "sha512-+NmE5ogsEjFppEl90GChrk7xgz8xzvF0f+ZT5AnhW6suJC93gvQtmQjfyjDnE0Z2nXJqEkxF0WXlvjG/J+wn/g==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "strip-ansi": "^5.2.0", - "uuid": "^8.3.2", - "xml": "^1.0.1" + "node_modules/bin-check/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, + "node_modules/bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", + "dependencies": { + "execa": "^1.0.0", + "find-versions": "^3.0.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/bin-version-check": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + }, + "engines": { + "node": ">=6" } }, - "jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", - "dev": true, - "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "node_modules/bin-version-check/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" } }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "node_modules/bin-version/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" } }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@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" + "node_modules/bin-version/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" } }, - "jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*" + "node_modules/bin-version/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true + "node_modules/bin-version/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } }, - "jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", - "dev": true + "node_modules/bin-version/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" + "node_modules/bin-version/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" } }, - "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "node_modules/bin-version/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" } }, - "jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", - "dev": true, - "requires": { - "@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.6.3", - "jest-docblock": "^26.0.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" + "node_modules/bin-version/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "dev": true, - "requires": { - "@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.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.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" + "node_modules/bin-version/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-version/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", "dependencies": { - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - } + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" } }, - "jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" + "node_modules/bin-wrapper/node_modules/download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "dependencies": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "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.6.2", - "semver": "^7.3.2" + "node_modules/bin-wrapper/node_modules/download/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" } }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" + "node_modules/bin-wrapper/node_modules/file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", + "engines": { + "node": ">=6" } }, - "jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", - "dev": true, - "requires": { - "@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.6.2" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - } + "node_modules/bin-wrapper/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" } }, - "jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", - "dev": true, - "requires": { - "@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.6.2", - "string-length": "^4.0.1" + "node_modules/bin-wrapper/node_modules/got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dependencies": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "node_modules/bin-wrapper/node_modules/got/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" } }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "node_modules/bin-wrapper/node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "engines": { + "node": ">=0.10.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, + "node_modules/bin-wrapper/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dependencies": { - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true - } + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true + "node_modules/bin-wrapper/node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "node_modules/bin-wrapper/node_modules/p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "engines": { + "node": ">=4" + } }, - "json-parse-even-better-errors": { + "node_modules/bin-wrapper/node_modules/p-event": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "dependencies": { + "p-timeout": "^2.0.1" + }, + "engines": { + "node": ">=6" + } }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "node_modules/bin-wrapper/node_modules/p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=4" + } }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "node_modules/bin-wrapper/node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "engines": { + "node": ">=4" + } }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true + "node_modules/bin-wrapper/node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" } }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "node_modules/bl/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" } }, - "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "node_modules/blessed": { + "version": "0.1.81", + "resolved": "https://registry.npmjs.org/blessed/-/blessed-0.1.81.tgz", + "integrity": "sha512-LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ==", "dev": true, - "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "bin": { + "blessed": "bin/tput.js" + }, + "engines": { + "node": ">= 0.8.0" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, - "lerna": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.22.1.tgz", - "integrity": "sha512-vk1lfVRFm+UuEFA7wkLKeSF7Iz13W+N/vFd48aW2yuS7Kv0RbNm2/qcDPV863056LMfkRlsEe+QYOw3palj5Lg==", - "dev": true, - "requires": { - "@lerna/add": "3.21.0", - "@lerna/bootstrap": "3.21.0", - "@lerna/changed": "3.21.0", - "@lerna/clean": "3.21.0", - "@lerna/cli": "3.18.5", - "@lerna/create": "3.22.0", - "@lerna/diff": "3.21.0", - "@lerna/exec": "3.21.0", - "@lerna/import": "3.22.0", - "@lerna/info": "3.21.0", - "@lerna/init": "3.21.0", - "@lerna/link": "3.21.0", - "@lerna/list": "3.21.0", - "@lerna/publish": "3.22.1", - "@lerna/run": "3.21.0", - "@lerna/version": "3.22.1", - "import-local": "^2.0.0", - "npmlog": "^4.1.2" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true - } + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "peer": true + }, + "node_modules/browserslist": { + "version": "4.22.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", + "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001580", + "electron-to-chromium": "^1.4.648", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } }, - "load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true - } + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", "dev": true }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" }, - "lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", - "dev": true + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", + "engines": { + "node": ">=0.10.0" + } }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", - "dev": true + "node_modules/cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", + "dependencies": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + } }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" + } }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "dev": true + "node_modules/cacheable-request/node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" + "node_modules/cacheable-request/node_modules/keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dependencies": { + "json-buffer": "3.0.0" } }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0" + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==", + "engines": { + "node": ">=0.10.0" } }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true + "node_modules/call-bind": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz", + "integrity": "sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "set-function-length": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "dev": true + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "engines": { + "node": ">=0.10.0" } }, - "macos-release": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", - "integrity": "sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==", - "dev": true + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/camelo": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelo/-/camelo-1.2.1.tgz", + "integrity": "sha512-5O6lYuw6JR8viGfxFQhJTaO7cPTsnEaJUK2Gj0JeZ0O+iO78kxfeF47ocx6Ml0K8KWbE/JgBbgi3zF6lcUkvGw==", "dev": true, - "requires": { - "semver": "^6.0.0" - }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "regex-escape": "^3.4.10", + "uc-first-array": "^1.1.10" } }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "make-fetch-happen": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", - "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", - "dev": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^12.0.0", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" - }, - "dependencies": { - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - } - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "node_modules/can-use-dom": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", + "integrity": "sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ==" + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001584", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001584.tgz", + "integrity": "sha512-LOz7CCQ9M1G7OjJOF9/mzmqmj3jE/7VOmrfw6Mgs0E8cjOsbRXQJHsPBfmBOXDskXKrHLyyW3n7kpDW/4BsfpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ] + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "peer": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", "dev": true, - "requires": { - "tmpl": "1.0.5" + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true + "node_modules/caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "dependencies": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "requires": { - "object-visit": "^1.0.0" + "node_modules/cfb/node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "engines": { + "node": ">=0.8" } }, - "meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "merge-stream": { + "node_modules/chownr": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" } }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" } }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "node_modules/clean-stack/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "node_modules/clean-webpack-plugin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", + "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", + "dependencies": { + "del": "^4.1.1" }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": ">=4.0.0 <6.0.0" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" } }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", "dev": true, - "requires": { - "minipass": "^2.9.0" + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" } }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", - "dev": true, - "requires": { - "mkdirp": "*" + "node_modules/cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", + "dependencies": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "dependencies": { - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "multimatch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-3.0.0.tgz", - "integrity": "sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA==", - "dev": true, - "requires": { - "array-differ": "^2.0.3", - "array-union": "^1.0.2", - "arrify": "^1.0.1", - "minimatch": "^3.0.4" - }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - } + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", - "dev": true + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "node_modules/cli-ux": { + "version": "5.6.7", + "resolved": "https://registry.npmjs.org/cli-ux/-/cli-ux-5.6.7.tgz", + "integrity": "sha512-dsKAurMNyFDnO6X1TiiRNiVbL90XReLKcvIq4H777NMqXGBxBws23ag8ubCJE97vVZEgWG2eSUhsyLf63Jv8+g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "dependencies": { + "@oclif/command": "^1.8.15", + "@oclif/errors": "^1.3.5", + "@oclif/linewrap": "^1.0.0", + "@oclif/screen": "^1.0.4", + "ansi-escapes": "^4.3.0", + "ansi-styles": "^4.2.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.0", + "clean-stack": "^3.0.0", + "cli-progress": "^3.4.0", + "extract-stack": "^2.0.0", + "fs-extra": "^8.1", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.13.1", + "lodash": "^4.17.21", + "natural-orderby": "^2.0.1", + "object-treeify": "^1.1.4", + "password-prompt": "^1.1.2", + "semver": "^7.3.2", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "supports-color": "^8.1.0", + "supports-hyperlinks": "^2.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "nanolru": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nanolru/-/nanolru-1.0.0.tgz", - "integrity": "sha512-GyQkE8M32pULhQk7Sko5raoIbPalAk90ICG+An4fq6fCsFHsP6fB2K46WGXVdoJpy4SGMnZ/EKbo123fZJomWg==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/cli-ux/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "node_modules/cli-ux/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - }, "dependencies": { - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node-fetch-npm": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", - "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", + "node_modules/cli-ux/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node-gyp": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz", - "integrity": "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==", + "node_modules/cli-ux/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "mkdirp": "^0.5.1", - "nopt": "^4.0.1", - "npmlog": "^4.1.2", - "request": "^2.88.0", - "rimraf": "^2.6.3", - "semver": "^5.7.1", - "tar": "^4.4.12", - "which": "^1.3.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "node_modules/cli-ux/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node-notifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", - "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", + "node_modules/cli-ux/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", - "dev": true + "node_modules/cli-ux/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "node_modules/cli-ux/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/cli-ux/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true + "node_modules/cli-ux/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "node_modules/cli-ux/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "npm-lifecycle": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz", - "integrity": "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==", + "node_modules/cli-ux/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "requires": { - "byline": "^5.0.0", - "graceful-fs": "^4.1.15", - "node-gyp": "^5.0.2", - "resolve-from": "^4.0.0", - "slide": "^1.1.6", - "uid-number": "0.0.6", - "umask": "^1.1.0", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "engines": { + "node": ">= 4.0.0" } }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "node_modules/cli-ux/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "node_modules/cloc": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/cloc/-/cloc-2.11.0.tgz", + "integrity": "sha512-+mxuCHo7ESOQadlsyMjmPZ4hGBtvQzmNGHfLdBNvXKbnRhtmOTslU4XF2cyFSaOCHaaF26ba2CGjU6lpeIFB0w==", "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" + "bin": { + "cloc": "lib/cloc" } }, - "npm-pick-manifest": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", - "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "requires": { - "path-key": "^2.0.0" + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", "dependencies": { - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true - } + "mimic-response": "^1.0.0" } }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "dev": true + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "engines": { + "node": ">=0.10.0" + } }, - "nwsapi": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.4.tgz", - "integrity": "sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "engines": { + "node": ">=0.8" + } }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "requires": { - "isobject": "^3.0.0" + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" } }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, - "requires": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" + "engines": { + "node": ">= 6" } }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dev": true, - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" + "node_modules/component-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz", + "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/compress-commons": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", + "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" } }, - "octokit-pagination-methods": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", - "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==", - "dev": true + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" + "node_modules/compress-commons/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, - "requires": { - "mimic-fn": "^2.1.0" + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "os-name": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", - "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "requires": { - "macos-release": "^2.2.0", - "windows-release": "^3.1.0" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "node_modules/concurrently": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz", + "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==", + "dependencies": { + "chalk": "^4.1.0", + "date-fns": "^2.16.1", + "lodash": "^4.17.21", + "rxjs": "^6.6.3", + "spawn-command": "^0.0.2-1", + "supports-color": "^8.1.0", + "tree-kill": "^1.2.2", + "yargs": "^16.2.0" + }, + "bin": { + "concurrently": "bin/concurrently.js" + }, + "engines": { + "node": ">=10.0.0" } }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true + "node_modules/concurrently/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true + "node_modules/concurrently/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" + "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" + "node_modules/concurrently/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true + "node_modules/concurrently/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "p-map-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", - "integrity": "sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" + "node_modules/concurrently/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "p-pipe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", - "integrity": "sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw==", - "dev": true + "node_modules/concurrently/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, - "p-queue": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-4.0.0.tgz", - "integrity": "sha512-3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg==", - "dev": true, - "requires": { - "eventemitter3": "^3.1.0" + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==", - "dev": true + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "node_modules/console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha512-QC/8l9e6ofi6nqZ5PawlDgzmMw3OxIXtvolBzap/F4UDBJlDaZRSNbL/lb41C29FcbSJncBFlJFj2WJoNyZRfQ==" }, - "p-waterfall": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-1.0.0.tgz", - "integrity": "sha512-KeXddIp6jBT8qzyxfQGOGzNYc/7ftxKtRc5Uggre02yvbZrSBHE2M2C842/WizMBFD4s0Ngwz3QFOit2A+Ezrg==", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "engines": { + "node": ">= 0.6" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" + "node_modules/contentful": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/contentful/-/contentful-8.5.8.tgz", + "integrity": "sha512-6YyE95uDJYTyGKQYtqYrMzdDZe3sLkrC0UEnpXuIOeciGACRQP9ouTjRJnLMa5ONUPt0+UJh7JH3epNouPZWIw==", + "dependencies": { + "axios": "^0.21.1", + "contentful-resolve-response": "^1.3.0", + "contentful-sdk-core": "^6.8.5", + "fast-copy": "^2.1.0", + "json-stringify-safe": "^5.0.1" + }, + "engines": { + "node": ">=12" } }, - "parse-github-repo-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg==", - "dev": true + "node_modules/contentful-batch-libs": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/contentful-batch-libs/-/contentful-batch-libs-9.7.0.tgz", + "integrity": "sha512-nNAycOJIvo2arHbXIgsF1I8xXXJtnTooGJaHwfamFeuXbyp1q5NlNbHYGqWVR5vQjLJsuk48VExLbpa26T9C9g==", + "dependencies": { + "date-fns": "^2.28.0", + "figures": "3.2.0", + "https-proxy-agent": "^7.0.2", + "lodash.clonedeep": "^4.5.0", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=18" + } }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "node_modules/contentful-batch-libs/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "parse-path": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.4.tgz", - "integrity": "sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==", - "dev": true, - "requires": { - "is-ssh": "^1.3.0", - "protocols": "^1.4.0", - "qs": "^6.9.4", - "query-string": "^6.13.8" - }, + "node_modules/contentful-batch-libs/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", "dependencies": { - "protocols": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", - "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", - "dev": true - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - } + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" } }, - "parse-url": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.5.tgz", - "integrity": "sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA==", + "node_modules/contentful-batch-libs/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/contentful-cli": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/contentful-cli/-/contentful-cli-1.19.1.tgz", + "integrity": "sha512-UJGxV8zFnQIp3Cho0Xb4Nu8xFxRlyHipPi8RuHTmuh3D/JuZW+WJDrfBHVt7DtTxbrKdzqYJqOYlQJMf9shIsw==", "dev": true, - "requires": { - "is-ssh": "^1.3.0", - "normalize-url": "^6.1.0", - "parse-path": "^4.0.0", - "protocols": "^1.4.0" - }, "dependencies": { - "protocols": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", - "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", - "dev": true - } + "ast-types": "^0.14.2", + "bfj": "^7.0.2", + "blessed": "^0.1.81", + "bluebird": "^3.5.0", + "camelcase": "^6.0.0", + "chalk": "^2.4.1", + "cli-table3": "^0.6.0", + "command-exists": "^1.2.7", + "contentful-export": "^7.19.0", + "contentful-import": "^8.3.2", + "contentful-management": "^10.0.0", + "contentful-migration": "^4.12.5", + "emojic": "^1.1.11", + "execa": "^5.0.0", + "figlet": "^1.2.0", + "find-up": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "inquirer": "^8.0.0", + "inquirer-select-directory": "^1.2.0", + "listr": "^0.14.1", + "lodash": "^4.17.15", + "marked": "^4.0.12", + "mkdirp": "^1.0.3", + "mz": "^2.6.0", + "open": "^8.0.5", + "path": "^0.12.7", + "prettier": "^2.0.2", + "recast": "^0.22.0", + "rxjs": "^7.3.0", + "shell-escape": "^0.2.0", + "tar": "^6.0.1", + "to-ast": "^1.0.0", + "tree-kill": "^1.2.2", + "typescript": "^4.9.4", + "wrap-ansi": "^7.0.0", + "yargs": "~13.3.2" + }, + "bin": { + "contentful": "bin/contentful.js" + }, + "engines": { + "node": ">=8" } }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true + "node_modules/contentful-cli/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "node_modules/contentful-cli/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "node_modules/contentful-cli/node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "node_modules/contentful-cli/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true + "node_modules/contentful-cli/node_modules/cliui/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } }, - "pinkie-promise": { + "node_modules/contentful-cli/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "pinkie": "^2.0.0" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "node_modules/contentful-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/contentful-cli/node_modules/contentful-management": { + "version": "10.46.4", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-10.46.4.tgz", + "integrity": "sha512-swOTlKO6AeCRnD5w237ey6wKDXty8shFVm0AisKO2w5seQINlFytgCkZd89E0lxjg4zgjb9maa7AScUtyQUd5w==", "dev": true, - "requires": { - "find-up": "^4.0.0" + "dependencies": { + "@contentful/rich-text-types": "^16.3.0", + "@types/json-patch": "0.0.30", + "axios": "^1.4.0", + "contentful-sdk-core": "^8.1.0", + "fast-copy": "^3.0.0", + "lodash.isplainobject": "^4.0.6", + "type-fest": "^4.0.0" + }, + "engines": { + "node": ">=14" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "node_modules/contentful-cli/node_modules/contentful-management/node_modules/fast-copy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", + "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==", "dev": true }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true + "node_modules/contentful-cli/node_modules/contentful-sdk-core": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-8.1.2.tgz", + "integrity": "sha512-XZvX2JMJF4YiICXLrHFv59KBHaQJ6ElqAP8gSNgnCu4x+pPG7Y1bC2JMNOiyAgJuGQGVUOcNZ5PmK+tsNEayYw==", + "dev": true, + "dependencies": { + "fast-copy": "^2.1.7", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "p-throttle": "^4.1.1", + "qs": "^6.11.2" + }, + "engines": { + "node": ">=12" + } }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "node_modules/contentful-cli/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "node_modules/contentful-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "fast-diff": "^1.1.2" + "engines": { + "node": ">=8" } }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "node_modules/contentful-cli/node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" } }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true + "node_modules/contentful-cli/node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw==", + "node_modules/contentful-cli/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/contentful-cli/node_modules/inquirer/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "promzard": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", - "integrity": "sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==", + "node_modules/contentful-cli/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "requires": { - "read": "1" + "engines": { + "node": ">=4" } }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "node_modules/contentful-cli/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - } + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true - }, - "protocols": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", - "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", - "dev": true - }, - "protoduck": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", - "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", + "node_modules/contentful-cli/node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, - "requires": { - "genfun": "^5.0.0" + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" } }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true + "node_modules/contentful-cli/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "pump": { + "node_modules/contentful-cli/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "node_modules/contentful-cli/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "engines": { + "node": ">=4" } }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true + "node_modules/contentful-cli/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } }, - "query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "node_modules/contentful-cli/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" + "dependencies": { + "tslib": "^2.1.0" } }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "node_modules/contentful-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true + "node_modules/contentful-cli/node_modules/type-fest": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz", + "integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "node_modules/contentful-cli/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", + "node_modules/contentful-cli/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, - "requires": { - "mute-stream": "~0.0.4" + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" } }, - "read-cmd-shim": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz", - "integrity": "sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==", + "node_modules/contentful-cli/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2" + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "read-package-json": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", - "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", + "node_modules/contentful-cli/node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "requires": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" + "engines": { + "node": ">=6" } }, - "read-package-tree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", - "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", + "node_modules/contentful-cli/node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, - "requires": { - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "util-promisify": "^2.1.0" + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "node_modules/contentful-cli/node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" } }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "node_modules/contentful-cli/node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/contentful-export": { + "version": "7.19.119", + "resolved": "https://registry.npmjs.org/contentful-export/-/contentful-export-7.19.119.tgz", + "integrity": "sha512-B0B9DTUgsNn6SZPMyGfFZOR8c4XfNhNhKSGnCfdPpNR+3F+79cWeVItmDL2DIGVYTeilhh44G1WShcMc0yTCLg==", "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + "bfj": "^8.0.0", + "bluebird": "^3.3.3", + "cli-table3": "^0.6.0", + "contentful": "^10.6.9", + "contentful-batch-libs": "^9.4.1", + "contentful-management": "^11.0.1", + "date-fns": "^2.28.0", + "figures": "^3.2.0", + "jsonwebtoken": "^9.0.0", + "listr": "^0.14.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.6.0", + "lodash.startcase": "^4.4.0", + "mkdirp": "^2.0.0", + "node-fetch": "^2.6.7", + "yargs": "^17.1.1" + }, + "bin": { + "contentful-export": "bin/contentful-export" + }, + "engines": { + "node": ">=18" } }, - "readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "node_modules/contentful-export/node_modules/bfj": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-8.0.0.tgz", + "integrity": "sha512-6KJe4gFrZ4lhmvWcUIj37yFAs36mi2FZXuTkw6udZ/QsX/znFypW4SatqcLA5K5T4BAWgJZD73UFEJJQxuJjoA==", "dev": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 18.0.0" } }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "node_modules/contentful-export/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/contentful-export/node_modules/contentful": { + "version": "10.6.21", + "resolved": "https://registry.npmjs.org/contentful/-/contentful-10.6.21.tgz", + "integrity": "sha512-ez3zNJ1A2dJTuoNxSkFhwjkhrQ/jYYTvc8jFeFIMwZuYMHjYwL+mFo1372pSASeJ6QAIf2srKOmukzCGiHtcSg==", "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "dependencies": { + "@contentful/rich-text-types": "^16.0.2", + "axios": "^1.6.0", + "contentful-resolve-response": "^1.8.1", + "contentful-sdk-core": "^8.1.0", + "json-stringify-safe": "^5.0.1", + "type-fest": "^4.0.0" + }, + "engines": { + "node": ">=12" } }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "node_modules/contentful-export/node_modules/contentful-management": { + "version": "11.14.3", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-11.14.3.tgz", + "integrity": "sha512-bSKvtsPVN5R1CyTtDQnSW9VehVIySu6Sg2jJqRnXz9nWiWiZ7CvT/2Ra6mqFN0dzgPUr+QWtCgrJWo0vTemDpg==", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "dependencies": { + "@contentful/rich-text-types": "^16.3.0", + "@types/json-patch": "0.0.30", + "axios": "^1.6.2", + "contentful-sdk-core": "^8.1.0", + "fast-copy": "^3.0.0", + "lodash.isplainobject": "^4.0.6", + "type-fest": "^4.0.0" + }, + "engines": { + "node": ">=18" } }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "node_modules/contentful-export/node_modules/contentful-management/node_modules/fast-copy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", + "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "node_modules/contentful-export/node_modules/contentful-sdk-core": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-8.1.2.tgz", + "integrity": "sha512-XZvX2JMJF4YiICXLrHFv59KBHaQJ6ElqAP8gSNgnCu4x+pPG7Y1bC2JMNOiyAgJuGQGVUOcNZ5PmK+tsNEayYw==", "dev": true, - "requires": { - "is-finite": "^1.0.0" + "dependencies": { + "fast-copy": "^2.1.7", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "p-throttle": "^4.1.1", + "qs": "^6.11.2" + }, + "engines": { + "node": ">=12" } }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } + "node_modules/contentful-export/node_modules/mkdirp": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", + "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "node_modules/contentful-export/node_modules/type-fest": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz", + "integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==", "dev": true, - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "node_modules/contentful-export/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "dev": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "node_modules/contentful-import": { + "version": "8.5.63", + "resolved": "https://registry.npmjs.org/contentful-import/-/contentful-import-8.5.63.tgz", + "integrity": "sha512-nRdwWxLKl0Ysai7tYQGGimXU94NDcg1jaJ7bw909RxHWZ/UBOg3teNGmKp9pIo+xtALoAcneagiiug5NWx2OnQ==", + "dependencies": { + "@discoveryjs/json-ext": "^0.5.7", + "bluebird": "^3.5.1", + "cli-table3": "^0.6.0", + "contentful-batch-libs": "^9.5.0", + "contentful-management": "^10.39.2", + "date-fns": "^2.30.0", + "joi": "^17.9.2", + "listr": "^0.14.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.6.0", + "lodash": "^4.17.10", + "p-queue": "^6.6.2", + "yargs": "^17.7.2" + }, + "bin": { + "contentful-import": "bin/contentful-import" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/contentful-import/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "node_modules/contentful-import/node_modules/contentful-management": { + "version": "10.46.4", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-10.46.4.tgz", + "integrity": "sha512-swOTlKO6AeCRnD5w237ey6wKDXty8shFVm0AisKO2w5seQINlFytgCkZd89E0lxjg4zgjb9maa7AScUtyQUd5w==", + "dependencies": { + "@contentful/rich-text-types": "^16.3.0", + "@types/json-patch": "0.0.30", + "axios": "^1.4.0", + "contentful-sdk-core": "^8.1.0", + "fast-copy": "^3.0.0", + "lodash.isplainobject": "^4.0.6", + "type-fest": "^4.0.0" + }, + "engines": { + "node": ">=14" + } }, - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==", - "dev": true + "node_modules/contentful-import/node_modules/contentful-management/node_modules/fast-copy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", + "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==" }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "node_modules/contentful-import/node_modules/contentful-sdk-core": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-8.1.2.tgz", + "integrity": "sha512-XZvX2JMJF4YiICXLrHFv59KBHaQJ6ElqAP8gSNgnCu4x+pPG7Y1bC2JMNOiyAgJuGQGVUOcNZ5PmK+tsNEayYw==", + "dependencies": { + "fast-copy": "^2.1.7", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "p-throttle": "^4.1.1", + "qs": "^6.11.2" + }, + "engines": { + "node": ">=12" + } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" + "node_modules/contentful-import/node_modules/type-fest": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz", + "integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true + "node_modules/contentful-import/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true + "node_modules/contentful-management": { + "version": "7.54.2", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-7.54.2.tgz", + "integrity": "sha512-up7a31QsVM3ADXm6CrLGp9u/AVHO/yIDJGyS9Ztesa/xlxJgGmrEMTqUevauT1Y/5vC54gBM5S8in1zcP7atqQ==", + "dependencies": { + "@types/json-patch": "0.0.30", + "axios": "^0.21.4", + "contentful-sdk-core": "^6.10.4", + "fast-copy": "^2.1.0", + "lodash.isplainobject": "^4.0.6", + "type-fest": "^2.5.3" + }, + "engines": { + "node": ">=6" + } }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" + "node_modules/contentful-management/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" } }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", - "dev": true, - "requires": { - "aproba": "^1.1.1" + "node_modules/contentful-management/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/contentful-migration": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/contentful-migration/-/contentful-migration-4.19.1.tgz", + "integrity": "sha512-CRkFuEZwuJBOUyG8TYlDwGOaQ9Cu6L82CJ5YxQ9aIsNKWWn0BPA/kLUl26/zTYqUsYUM0gRO0+Eh3I5atZcuPg==", "dev": true, - "requires": { - "tslib": "^1.9.0" - }, "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "@hapi/hoek": "^11.0.4", + "axios": "^1.6.2", + "bluebird": "^3.7.2", + "callsites": "^3.1.0", + "cardinal": "^2.1.1", + "chalk": "^4.0.0", + "contentful-management": "^11.5.7", + "didyoumean2": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "inquirer": "^8.1.2", + "joi": "^17.4.0", + "kind-of": "^6.0.3", + "listr2": "^3.13.5", + "lodash": "^4.17.15", + "p-throttle": "^4.1.1", + "uuid": "^9.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "contentful-migration": "bin/contentful-migration" + }, + "engines": { + "node": ">=8.0.0" } }, - "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "node_modules/contentful-migration/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "node_modules/contentful-migration/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "requires": { - "ret": "~0.1.10" + "engines": { + "node": ">=6" } }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "node_modules/contentful-migration/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "node_modules/contentful-migration/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "node_modules/contentful-migration/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "xmlchars": "^2.2.0" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "node_modules/contentful-migration/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/contentful-migration/node_modules/contentful-management": { + "version": "11.14.3", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-11.14.3.tgz", + "integrity": "sha512-bSKvtsPVN5R1CyTtDQnSW9VehVIySu6Sg2jJqRnXz9nWiWiZ7CvT/2Ra6mqFN0dzgPUr+QWtCgrJWo0vTemDpg==", "dev": true, - "requires": { - "lru-cache": "^6.0.0" + "dependencies": { + "@contentful/rich-text-types": "^16.3.0", + "@types/json-patch": "0.0.30", + "axios": "^1.6.2", + "contentful-sdk-core": "^8.1.0", + "fast-copy": "^3.0.0", + "lodash.isplainobject": "^4.0.6", + "type-fest": "^4.0.0" + }, + "engines": { + "node": ">=18" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "node_modules/contentful-migration/node_modules/contentful-management/node_modules/fast-copy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", + "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==", "dev": true }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/contentful-migration/node_modules/contentful-sdk-core": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-8.1.2.tgz", + "integrity": "sha512-XZvX2JMJF4YiICXLrHFv59KBHaQJ6ElqAP8gSNgnCu4x+pPG7Y1bC2JMNOiyAgJuGQGVUOcNZ5PmK+tsNEayYw==", "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "dependencies": { + "fast-copy": "^2.1.7", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "p-throttle": "^4.1.1", + "qs": "^6.11.2" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/contentful-migration/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/contentful-migration/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "kind-of": "^6.0.2" + "engines": { + "node": ">=8" } }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/contentful-migration/node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", "dev": true, - "requires": { - "shebang-regex": "^3.0.0" + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" } }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "node_modules/contentful-migration/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "node_modules/contentful-migration/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "optional": true + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/contentful-migration/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "node_modules/contentful-migration/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "node_modules/contentful-migration/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "node_modules/contentful-migration/node_modules/type-fest": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz", + "integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "node_modules/contentful-migration/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==", - "dev": true + "node_modules/contentful-migration/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/contentful-migration/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/contentful-migration/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - } + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "node_modules/contentful-migration/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/contentful-resolve-response": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/contentful-resolve-response/-/contentful-resolve-response-1.8.1.tgz", + "integrity": "sha512-VXGK2c8dBIGcRCknqudKmkDr2PzsUYfjLN6hhx71T09UzoXOdA/c0kfDhsf/BBCBWPWcLaUgaJEFU0lCo45TSg==", + "dependencies": { + "fast-copy": "^2.1.7" + }, + "engines": { + "node": ">=4.7.2" + } + }, + "node_modules/contentful-sdk-core": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-6.11.0.tgz", + "integrity": "sha512-ukKxiiHdCa/izTQbA3/VUPMQB2PZW5D2KYjV9WQVOc8QjmDhu1wpEDkYxYjOrUDgT5tM7xw6umpwlifxoYe9kQ==", + "dependencies": { + "fast-copy": "^2.1.0", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "p-throttle": "^4.1.1", + "qs": "^6.9.4" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/contentful/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copyfiles": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", + "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", + "dev": true, + "dependencies": { + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^1.0.4", + "noms": "0.0.0", + "through2": "^2.0.1", + "untildify": "^4.0.0", + "yargs": "^16.1.0" + }, + "bin": { + "copyfiles": "copyfiles", + "copyup": "copyfiles" + } + }, + "node_modules/core_d": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/core_d/-/core_d-3.2.0.tgz", + "integrity": "sha512-waKkgHU2P19huhuMjCqCDWTYjxCIHoB+nnYjI7pVMUOC1giWxMNDrXkPw9QjWY+PWCFm49bD3wA/J+c7BGZ+og==", + "dev": true, + "dependencies": { + "supports-color": "^8.1.0" + } + }, + "node_modules/core_d/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/core_d/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/core-js": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.1.tgz", + "integrity": "sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.1.tgz", + "integrity": "sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==", + "dependencies": { + "browserslist": "^4.22.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", + "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/crc32-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/create-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/create-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/create-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "engines": { + "node": "*" + } + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dependencies": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/csv-parse": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", + "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" + }, + "node_modules/csv-stringify": { + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", + "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "dependencies": { + "array-find-index": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/decode": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", + "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", + "dependencies": { + "kung-fu": "^0.2.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar/node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz/node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-equal/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.2.tgz", + "integrity": "sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/del/node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/del/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/didyoumean2": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/didyoumean2/-/didyoumean2-5.0.0.tgz", + "integrity": "sha512-Plha9WCF08aSGB39IsOhlk0AHecwcXtq/gMbHgylRNEv7JV3lnlt7akfdax7mnUHndEuuh57CmBaKSSXns7+YA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "fastest-levenshtein": "^1.0.12", + "lodash.deburr": "^4.1.0" + }, + "engines": { + "node": ">=12.13" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/download": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "dependencies": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/download/node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/download/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/download/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/download/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, + "node_modules/dynamodb-toolbox": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", + "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.657", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.657.tgz", + "integrity": "sha512-On2ymeleg6QbRuDk7wNgDdXtNqlJLM2w4Agx1D/RiTmItiL+a9oq5p7HUa2ZtkAtGBe/kil2dq/7rPfkbe0r5w==" + }, + "node_modules/elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-picker-react": { + "version": "4.7.12", + "resolved": "https://registry.npmjs.org/emoji-picker-react/-/emoji-picker-react-4.7.12.tgz", + "integrity": "sha512-SV625gwJHk3z2H62Iy03MISvP6jcSbYW6IqY23mWDX3rnfE0Mb9UfMdzf3pB2C9c1ruU9qe+L6S0deSZsab1cA==", + "dependencies": { + "flairup": "0.0.37" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/emojic": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/emojic/-/emojic-1.1.17.tgz", + "integrity": "sha512-o6eKBKh02CxD6lhJ5famk+phxXmQfgdITLN7qB3kcEZnJ+7l0oXVTQe+tShSOEgw1+/8q6iPUUdMqvt5Vlj7zw==", + "dev": true, + "dependencies": { + "camelo": "^1.2.1", + "emojilib": "^2.0.2", + "iterate-object": "^1.2.0", + "r-json": "^1.1.0" + } + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", + "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "node_modules/esbuild-loader": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.21.0.tgz", + "integrity": "sha512-k7ijTkCT43YBSZ6+fBCW1Gin7s46RrJ0VQaM8qA7lq7W+OLsGgtLyFV8470FzYi/4TeDexniTBTPTwZUnXXR5g==", + "dependencies": { + "esbuild": "^0.16.17", + "joycon": "^3.0.1", + "json5": "^2.2.0", + "loader-utils": "^2.0.0", + "tapable": "^2.2.0", + "webpack-sources": "^1.4.3" + }, + "funding": { + "url": "https://github.com/privatenumber/esbuild-loader?sponsor=1" + }, + "peerDependencies": { + "webpack": "^4.40.0 || ^5.0.0" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint_d": { + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/eslint_d/-/eslint_d-10.1.3.tgz", + "integrity": "sha512-B8ESWH1KrLNgV0CR9r/Mc4lbgArnbWIuHnHrJlmuWx+02UriPXNnk4+nNFakzXHRh/sTHeCA4LiArkSfIqsfsw==", + "dev": true, + "dependencies": { + "core_d": "^3.1.0", + "eslint": "^7.3.0", + "nanolru": "^1.0.0", + "optionator": "^0.9.1" + }, + "bin": { + "eslint_d": "bin/eslint_d.js" + } + }, + "node_modules/eslint-config-prettier": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", + "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", + "devOptional": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", + "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "glob": "^7.2.0", + "is-glob": "^4.0.3", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-filenames": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", + "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", + "dependencies": { + "lodash.camelcase": "4.3.0", + "lodash.kebabcase": "4.1.1", + "lodash.snakecase": "4.1.1", + "lodash.upperfirst": "4.3.1" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "24.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz", + "integrity": "sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "^4.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": ">= 4", + "eslint": ">=5" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-no-null": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-null/-/eslint-plugin-no-null-1.0.2.tgz", + "integrity": "sha512-uRDiz88zCO/2rzGfgG15DBjNsgwWtWiSo4Ezy7zzajUgpnFIqd1TjepKeRmJZHEfBGu58o2a8S0D7vglvvhkVA==", + "engines": { + "node": ">=5.0.0" + }, + "peerDependencies": { + "eslint": ">=3.0.0" + } + }, + "node_modules/eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "dependencies": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-plugin-node/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-promise": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", + "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", + "dev": true, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-simple-import-sort": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz", + "integrity": "sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw==", + "dev": true, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/exec-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", + "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", + "dependencies": { + "execa": "^0.7.0", + "p-finally": "^1.0.0", + "pify": "^3.0.0", + "rimraf": "^2.5.4", + "tempfile": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/exec-buffer/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/exec-buffer/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/exec-buffer/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/exec-buffer/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exec-buffer/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/exec-buffer/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/exec-buffer/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/exec-buffer/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/exec-buffer/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exec-buffer/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exec-buffer/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/exec-buffer/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "peer": true + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/executable/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dependencies": { + "mime-db": "^1.28.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extract-stack": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz", + "integrity": "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-copy": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.7.tgz", + "integrity": "sha512-ozrGwyuCTAy7YgFCua8rmqmytECYk/JYAMXcswOcm0qvGoE3tPb7ivBeIHTOK2DiapBhDZgacIhzhQIKU5TCfA==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fast-xml-parser": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", + "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", + "dependencies": { + "strnum": "^1.0.4" + }, + "bin": { + "xml2js": "cli.js" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fetch-repo-dir": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fetch-repo-dir/-/fetch-repo-dir-1.0.6.tgz", + "integrity": "sha512-03sI/J52D6AOCqHotogGOWIcRfSIiAjtwaER+cGWPbwJ3PxFrtNz6BztxXve1v2vhqLAPSW+UWnlLMgkph9fPg==", + "dependencies": { + "fs-extra": "^10.0.0", + "tar": "^6.1.11", + "tmp": "^0.2.1" + } + }, + "node_modules/figlet": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.7.0.tgz", + "integrity": "sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg==", + "dev": true, + "bin": { + "figlet": "bin/index.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "dependencies": { + "semver-regex": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/flairup": { + "version": "0.0.37", + "resolved": "https://registry.npmjs.org/flairup/-/flairup-0.0.37.tgz", + "integrity": "sha512-GY7coNGpJQczEIfBsgByKhkclQZC2OosDyyGTfFfm2rXEzwq7MbWQgGo/GwM7TdU53Ow4rPznKPMC8Q3iympjQ==" + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/framer-motion": { + "version": "3.10.6", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-3.10.6.tgz", + "integrity": "sha512-OxOtKgQS4km9a8dm0IMBtNNp4f0DiHfQ/IzxKs818+Kg9V/Ve/pRUJ2dtWBb6+W4lIPNLgRSpbOwOACVj15XcQ==", + "dependencies": { + "framesync": "5.2.0", + "hey-listen": "^1.0.8", + "popmotion": "9.3.1", + "style-value-types": "4.1.1", + "tslib": "^1.10.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": ">=16.8 || ^17.0.0", + "react-dom": ">=16.8 || ^17.0.0" + } + }, + "node_modules/framer-motion/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/framesync": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.2.0.tgz", + "integrity": "sha512-dcl92w5SHc0o6pRK3//VBVNvu6WkYkiXmHG6ZIXrVzmgh0aDYMDAaoA3p3LH71JIdN5qmhDcfONFA4Lmq22tNA==" + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/from2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "dependencies": { + "npm-conf": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.1.tgz", + "integrity": "sha512-KmuibvwbWaM4BHcBRYwJfZ1JxyJeBwB8ct9YYu67SvYdbEIlcQ2e56dHxfbobqW38GXo8/zDFqJeGtHiVbWyQw==", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-them-args": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/get-them-args/-/get-them-args-1.3.2.tgz", + "integrity": "sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==" + }, + "node_modules/get-tsconfig": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gifsicle": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-5.3.0.tgz", + "integrity": "sha512-FJTpgdj1Ow/FITB7SVza5HlzXa+/lqEY0tHQazAJbuAdvyJtkH4wIdsR2K414oaTwRXHFLLF+tYbipj+OpYg+Q==", + "hasInstallScript": true, + "dependencies": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "execa": "^5.0.0" + }, + "bin": { + "gifsicle": "cli.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/imagemin/gisicle-bin?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dependencies": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/got/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "optional": true, + "peer": true + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "engines": { + "node": "*" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dependencies": { + "has-symbol-support-x": "^1.4.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, + "node_modules/http-call": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz", + "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==", + "dev": true, + "dependencies": { + "content-type": "^1.0.4", + "debug": "^4.1.1", + "is-retry-allowed": "^1.1.0", + "is-stream": "^2.0.0", + "parse-json": "^4.0.0", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-call/node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-call/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" + }, + "node_modules/image-minimizer-webpack-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/image-minimizer-webpack-plugin/-/image-minimizer-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-/BpKvjbfj9A+au7FryzHmj+1g3h2NzQ0w4nrXTU5YcQIGotvG69A5xyFL9Mq1htI9E8dI4rMF/wUc0klZLb1pg==", + "dependencies": { + "imagemin": "^7.0.1", + "klona": "^2.0.4", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/image-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "dependencies": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imagemin-gifsicle": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-7.0.0.tgz", + "integrity": "sha512-LaP38xhxAwS3W8PFh4y5iQ6feoTSF+dTAXFRUEYQWYst6Xd+9L/iPk34QGgK/VO/objmIlmq9TStGfVY2IcHIA==", + "dependencies": { + "execa": "^1.0.0", + "gifsicle": "^5.0.0", + "is-gif": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/imagemin/imagemin-gifsicle?sponsor=1" + } + }, + "node_modules/imagemin-gifsicle/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/imagemin-gifsicle/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imagemin-gifsicle/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imagemin-gifsicle/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/imagemin-gifsicle/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/imagemin-gifsicle/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/imagemin-gifsicle/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/imagemin-gifsicle/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/imagemin-gifsicle/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/imagemin-gifsicle/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/imagemin-jpegtran": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-7.0.0.tgz", + "integrity": "sha512-MJoyTCW8YjMJf56NorFE41SR/WkaGA3IYk4JgvMlRwguJEEd3PnP9UxA8Y2UWjquz8d+On3Ds/03ZfiiLS8xTQ==", + "dependencies": { + "exec-buffer": "^3.0.0", + "is-jpg": "^2.0.0", + "jpegtran-bin": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/imagemin-optipng": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-8.0.0.tgz", + "integrity": "sha512-CUGfhfwqlPjAC0rm8Fy+R2DJDBGjzy2SkfyT09L8rasnF9jSoHFqJ1xxSZWK6HVPZBMhGPMxCTL70OgTHlLF5A==", + "dependencies": { + "exec-buffer": "^3.0.0", + "is-png": "^2.0.0", + "optipng-bin": "^7.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/imagemin-svgo": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-9.0.0.tgz", + "integrity": "sha512-uNgXpKHd99C0WODkrJ8OO/3zW3qjgS4pW7hcuII0RcHN3tnKxDjJWcitdVC/TZyfIqSricU8WfrHn26bdSW62g==", + "dependencies": { + "is-svg": "^4.2.1", + "svgo": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/imagemin-svgo?sponsor=1" + } + }, + "node_modules/imagemin/node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/imagemin/node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imagemin/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imagemin/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer-select-directory": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/inquirer-select-directory/-/inquirer-select-directory-1.2.0.tgz", + "integrity": "sha512-G6D+//DozjVi+o3VwrHu2+RjQPAb0M78Vg4c8mellV8rehly/mJFLBgs9r4VrKz/afb+Gr2fqj24jH3gYUYawQ==", + "dev": true, + "dependencies": { + "chalk": "1.1.1", + "cli-cursor": "2.0.0", + "figures": "2.0.0", + "inquirer": "2.0.0", + "rx-lite": "4.0.8" + } + }, + "node_modules/inquirer-select-directory/node_modules/ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inquirer-select-directory/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inquirer-select-directory/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inquirer-select-directory/node_modules/chalk": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", + "integrity": "sha512-W10W+QfIxJlTm3VRtg8eafwUBkDfUPFvRvPv4jCD9vF4+HzlAyXJ7P3Y5yw/r+gJ1TzFEU6oFqMgp1dIVpYr0A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.1.0", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inquirer-select-directory/node_modules/cli-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.0.0.tgz", + "integrity": "sha512-ywUurX98mpNoTE8LvXv6Tntx9uUuMiQ9LyoiVL7XFcb4hyYbxW80xQ5iF/k61SeTLBdVslOPgoLCL5tlvgXpsw==", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-select-directory/node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "node_modules/inquirer-select-directory/node_modules/external-editor": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", + "integrity": "sha512-0XYlP43jzxMgJjugDJ85Z0UDPnowkUbfFztNvsSGC9sJVIk97MZbGEb9WAhIVH0UgNxoLj/9ZQgB4CHJyz2GGQ==", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "spawn-sync": "^1.0.15", + "tmp": "^0.0.29" + } + }, + "node_modules/inquirer-select-directory/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-select-directory/node_modules/inquirer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-2.0.0.tgz", + "integrity": "sha512-ClW/liBHCfUD57ciSoxoq7fS9F3t1rvxxO5gRzdsDzfcJdKTyeMsVgRBQZkzcr8Nd2f4NIA9rm0qDl4ZXYZRUA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^1.1.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "external-editor": "^1.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.6", + "pinkie-promise": "^2.0.0", + "run-async": "^2.2.0", + "rx": "^4.1.0", + "string-width": "^2.0.0", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "node_modules/inquirer-select-directory/node_modules/inquirer/node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", + "dev": true, + "dependencies": { + "restore-cursor": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inquirer-select-directory/node_modules/inquirer/node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inquirer-select-directory/node_modules/inquirer/node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", + "dev": true, + "dependencies": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inquirer-select-directory/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-select-directory/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-select-directory/node_modules/mute-stream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", + "integrity": "sha512-m0kBTDLF/0lgzCsPVmJSKM5xkLNX7ZAB0Q+n2DP37JMIRPVC2R4c3BdO6x++bXFKftbhvSfKgwxAexME+BRDRw==", + "dev": true + }, + "node_modules/inquirer-select-directory/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-select-directory/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-select-directory/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-select-directory/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-select-directory/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-select-directory/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inquirer-select-directory/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/inquirer-select-directory/node_modules/tmp": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", + "integrity": "sha512-89PTqMWGDva+GqClOqBV9s3SMh7MA3Mq0pJUdAoHuF65YoE7O0LermaZkVfT5/Ngfo18H4eYiyG7zKOtnEbxsw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/intersection-observer": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz", + "integrity": "sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==", + "dev": true + }, + "node_modules/into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", + "dependencies": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-gif": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz", + "integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==", + "dependencies": { + "file-type": "^10.4.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-gif/node_modules/file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-jpg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz", + "integrity": "sha512-ODlO0ruzhkzD3sdynIainVP5eoOFNN85rxA1+cwwnPe4dKyX0r5+hxNO5XpCrxlHcmb9vkOit9mhRD2JVuimHg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "dependencies": { + "symbol-observable": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-png": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-2.0.0.tgz", + "integrity": "sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-retry-allowed": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", + "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-svg": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.4.0.tgz", + "integrity": "sha512-v+AgVwiK5DsGtT9ng+m4mClp6zDAmwrW8nZi6Gg15qzvBnRWWdfWA1TGaXyCDnWq5g5asofIgMVl3PjKxvk1ug==", + "dependencies": { + "fast-xml-parser": "^4.1.3" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-svg/node_modules/fast-xml-parser": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz", + "integrity": "sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dependencies": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/iterate-object": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/iterate-object/-/iterate-object-1.3.4.tgz", + "integrity": "sha512-4dG1D1x/7g8PwHS9aK6QV5V94+ZvyP4+d19qDv43EzImmrndysIl4prmJ1hWWIGCqrZHyaHBm6BSEWHOLnpoNw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-diff/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-diff/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/jest-diff/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-expect-message": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/jest-expect-message/-/jest-expect-message-1.1.3.tgz", + "integrity": "sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==", + "dev": true + }, + "node_modules/jest-extended": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-0.11.5.tgz", + "integrity": "sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q==", + "dependencies": { + "expect": "^24.1.0", + "jest-get-type": "^22.4.3", + "jest-matcher-utils": "^22.0.0" + } + }, + "node_modules/jest-extended/node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-extended/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" + }, + "node_modules/jest-extended/node_modules/@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-extended/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-extended/node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-extended/node_modules/expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-extended/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-extended/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-extended/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-extended/node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-diff/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/jest-diff/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-diff/node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", + "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", + "dependencies": { + "chalk": "^2.0.1", + "jest-get-type": "^22.4.3", + "pretty-format": "^22.4.3" + } + }, + "node_modules/jest-extended/node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-extended/node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-extended/node_modules/pretty-format": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", + "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "dependencies": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "node_modules/jest-extended/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/jest-extended/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-extended/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@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.6.2", + "is-generator-fn": "^2.0.0", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "peer": true, + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "peer": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "peer": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "peer": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "peer": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@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.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "peer": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/jest-jasmine2/node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "peer": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jest-jasmine2/node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "peer": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/jest-jasmine2/node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jest-jasmine2/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "peer": true, + "dependencies": { + "@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.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "peer": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-jasmine2/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "peer": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "peer": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "peer": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-jasmine2/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "peer": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@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.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-jasmine2/node_modules/jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "peer": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "peer": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "peer": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "peer": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "peer": true, + "dependencies": { + "@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.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "peer": true, + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "peer": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "peer": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "peer": true, + "dependencies": { + "@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.6.3", + "jest-docblock": "^26.0.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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "peer": true, + "dependencies": { + "@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.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.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" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "peer": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "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.6.2", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "peer": true, + "dependencies": { + "@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.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "peer": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jest-jasmine2/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-jasmine2/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "peer": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/jest-jasmine2/node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/jest-jasmine2/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-jasmine2/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "peer": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/jest-jasmine2/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "peer": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "peer": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-jasmine2/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "peer": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-jasmine2/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-jasmine2/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "peer": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "peer": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-jasmine2/node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "peer": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/jest-jasmine2/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "peer": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/jest-jasmine2/node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "peer": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-jasmine2/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-jasmine2/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/jest-jasmine2/node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "peer": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "peer": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-jasmine2/node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-junit": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-12.3.0.tgz", + "integrity": "sha512-+NmE5ogsEjFppEl90GChrk7xgz8xzvF0f+ZT5AnhW6suJC93gvQtmQjfyjDnE0Z2nXJqEkxF0WXlvjG/J+wn/g==", + "dependencies": { + "mkdirp": "^1.0.4", + "strip-ansi": "^5.2.0", + "uuid": "^8.3.2", + "xml": "^1.0.1" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/jest-junit/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-junit/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-matcher-utils/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "peer": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jmespath": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/joi": { + "version": "17.12.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", + "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/joi/node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/join-component": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz", + "integrity": "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==" + }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/jpegtran-bin": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-5.0.2.tgz", + "integrity": "sha512-4FSmgIcr8d5+V6T1+dHbPZjaFH0ogVyP4UVsE+zri7S9YLO4qAT2our4IN3sW3STVgNTbqPermdIgt2XuAJ4EA==", + "hasInstallScript": true, + "dependencies": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.0.0" + }, + "bin": { + "jpegtran": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "dev": true, + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dev": true, + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsonwebtoken/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dev": true, + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kill-port": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/kill-port/-/kill-port-1.6.1.tgz", + "integrity": "sha512-un0Y55cOM7JKGaLnGja28T38tDDop0AQ8N0KlAdyh+B1nmMoX8AnNmqPNZbS3mUMgiST51DCVqmbFT1gNJpVNw==", + "dependencies": { + "get-them-args": "1.3.2", + "shell-exec": "1.0.2" + }, + "bin": { + "kill-port": "cli.js" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/kung-fu": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", + "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/listr": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", + "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", + "dependencies": { + "@samverschueren/stream-to-observable": "^0.3.0", + "is-observable": "^1.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.5.0", + "p-map": "^2.0.0", + "rxjs": "^6.3.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-update-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", + "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", + "dependencies": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^2.3.0", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "listr": "^0.14.2" + } + }, + "node_modules/listr-update-renderer/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-update-renderer/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/listr-verbose-renderer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.6.0.tgz", + "integrity": "sha512-P3bA/giMu432bs3gHiKXKOIHlWanCIlRhbhCfgKNgCoyvTvZsdbfkgX1BvThYXhm36cS8pOX3Z5vxXBFZC+NQw==", + "dependencies": { + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "date-fns": "^2.0.1", + "figures": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/listr-verbose-renderer/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-verbose-renderer/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-verbose-renderer/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-verbose-renderer/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-verbose-renderer/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr/node_modules/date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" + }, + "node_modules/listr/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr/node_modules/listr-verbose-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", + "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "dependencies": { + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "date-fns": "^1.27.2", + "figures": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/listr/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/listr2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/listr2/node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/listr2/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/listr2/node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/load-json-file/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/localtunnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", + "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", + "dependencies": { + "axios": "0.21.4", + "debug": "4.3.2", + "openurl": "1.1.1", + "yargs": "17.1.1" + }, + "bin": { + "lt": "bin/lt.js" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/localtunnel/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/localtunnel/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/localtunnel/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/localtunnel/node_modules/yargs": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "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.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/localtunnel/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "node_modules/lodash.curry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", + "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.deburr": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", + "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==", + "dev": true + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "dev": true + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "dev": true + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" + }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" + }, + "node_modules/log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", + "dependencies": { + "chalk": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dependencies": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha512-Ah4CgdSRfeCJagxQhcVNMi9BfGYyEKLa6d7OA6xSbld/Hg3Cf2QiOa1mDpmG7Ve8LOH6DN3mdttzjQAvWTyVkw==", + "dependencies": { + "figures": "^1.3.5", + "squeak": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/logalot/node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha512-MMIcFmmR9zlGZtBcFOows6c2COMekHCIFJz3ew/rRpKZ1wR4mXDPzvcVqLarux8M33X4TPSq2Jdw8WJj0q0KbQ==", + "dependencies": { + "get-stdin": "^4.0.1", + "indent-string": "^2.1.0", + "longest": "^1.0.0", + "meow": "^3.3.0" + }, + "bin": { + "lpad-align": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lpad-align/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "dependencies": { + "es5-ext": "~0.10.2" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/marked": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", + "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "dependencies": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/meow/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.45", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz", + "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanolru": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nanolru/-/nanolru-1.0.0.tgz", + "integrity": "sha512-GyQkE8M32pULhQk7Sko5raoIbPalAk90ICG+An4fq6fCsFHsP6fB2K46WGXVdoJpy4SGMnZ/EKbo123fZJomWg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-json-db": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", + "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", + "dependencies": { + "mkdirp": "~1.0.4" + } + }, + "node_modules/node-notifier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", + "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", + "optional": true, + "peer": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node_modules/node-notifier/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "optional": true, + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-notifier/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true, + "peer": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/nodemon": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz", + "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon-webpack-plugin": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/nodemon-webpack-plugin/-/nodemon-webpack-plugin-4.8.2.tgz", + "integrity": "sha512-jOMLTafIL62Iu5E5wpQ6tSXkE1fgnD1St/FNkhK6iHHhHUf/vgbnV/xRtXYP+IWItoVvgBkY1ZvGsWHz1V/SIw==", + "dependencies": { + "@types/nodemon": "latest", + "nodemon": "3.0.1" + }, + "engines": { + "node": ">=8.10.0" + }, + "peerDependencies": { + "webpack": "4 || 5" + } + }, + "node_modules/nodemon-webpack-plugin/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon-webpack-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nodemon-webpack-plugin/node_modules/nodemon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.1.tgz", + "integrity": "sha512-g9AZ7HmkhQkqXkRc20w+ZfQ73cHLbE8hnPbtaFbFtCumZsjyMhKk9LajQ07U5Ux28lvFjZ5X7HvWR1xzU8jHVw==", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon-webpack-plugin/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nodemon-webpack-plugin/node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nodemon-webpack-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/noms": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", + "integrity": "sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" + } + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dependencies": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/normalize-url/node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/normalize-url/node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dependencies": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-conf/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz", + "integrity": "sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==", + "dependencies": { + "array.prototype.filter": "^1.0.3", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openurl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", + "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==" + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/optipng-bin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-7.0.1.tgz", + "integrity": "sha512-W99mpdW7Nt2PpFiaO+74pkht7KEqkXkeRomdWXfEz3SALZ6hns81y/pm1dsGZ6ItUIfchiNIP6ORDr1zETU1jA==", + "hasInstallScript": true, + "dependencies": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0" + }, + "bin": { + "optipng": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "dependencies": { + "arch": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA==", + "dependencies": { + "p-timeout": "^1.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==", + "dependencies": { + "p-reduce": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue/node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-4.1.1.tgz", + "integrity": "sha512-TuU8Ato+pRTPJoDzYD4s7ocJYcNSEZRvlxoq3hcPI2kZDZ49IQ1Wkj7/gDJc3X7XiEAAvRGtDzdXJI0tC3IL1g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "dev": true, + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-to-regexp/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/path/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/popmotion": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-9.3.1.tgz", + "integrity": "sha512-Qozvg8rz2OGeZwWuIjqlSXqqgWto/+QL24ll8sAAc0n71KY/wvN1W4sAASxTuHv8YWdDnk9u9IdadyPo2DGvDA==", + "dependencies": { + "framesync": "5.2.0", + "hey-listen": "^1.0.8", + "style-value-types": "4.1.1", + "tslib": "^1.10.0" + } + }, + "node_modules/popmotion/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.34", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.34.tgz", + "integrity": "sha512-4eLTO36woPSocqZ1zIrFD2K1v6wH7pY1uBh0JIM2KKfrVtGvPFiAku6aNOP0W1Wr9qwnaCsF0Z+CrVnryB2A8Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", + "bin": { + "printj": "bin/printj.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/pusher-js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", + "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" + }, + "node_modules/qqjs": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz", + "integrity": "sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "debug": "^4.1.1", + "execa": "^0.10.0", + "fs-extra": "^6.0.1", + "get-stream": "^5.1.0", + "glob": "^7.1.2", + "globby": "^10.0.1", + "http-call": "^5.1.2", + "load-json-file": "^6.2.0", + "pkg-dir": "^4.2.0", + "tar-fs": "^2.0.0", + "tmp": "^0.1.0", + "write-json-file": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/qqjs/node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/qqjs/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/qqjs/node_modules/execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/qqjs/node_modules/execa/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/qqjs/node_modules/fs-extra": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", + "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/qqjs/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qqjs/node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qqjs/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/qqjs/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/qqjs/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/qqjs/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/qqjs/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/qqjs/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/qqjs/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/qqjs/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/qqjs/node_modules/tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "dev": true, + "dependencies": { + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qqjs/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/qqjs/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/qr.js": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz", + "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==" + }, + "node_modules/qrcode.react": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-1.0.1.tgz", + "integrity": "sha512-8d3Tackk8IRLXTo67Y+c1rpaiXjoz/Dd2HpcMdW//62/x8J1Nbho14Kh8x974t9prsLHN6XqVgcnRiBGFptQmg==", + "dependencies": { + "loose-envify": "^1.4.0", + "prop-types": "^15.6.0", + "qr.js": "0.0.0" + }, + "peerDependencies": { + "react": "^15.5.3 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/r-json": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/r-json/-/r-json-1.3.0.tgz", + "integrity": "sha512-xesd+RHCpymPCYd9DvDvUr1w1IieSChkqYF1EpuAYrvCfLXji9NP36DvyYZJZZB5soVDvZ0WUtBoZaU1g5Yt9A==", + "dev": true, + "dependencies": { + "w-json": "1.3.10" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-base16-styling": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.8.2.tgz", + "integrity": "sha512-5bxHCNKT/FfU9yMzNB/CaCQLGqZ/Nr4FnaIRJUTkwwPTRaCfYAP+/3opeQb61XvesmofJ4FloTSYW9aw1tMXqQ==", + "dependencies": { + "@types/base16": "^1.0.2", + "@types/lodash": "^4.14.178", + "base16": "^1.0.0", + "color": "^3.2.1", + "csstype": "^3.0.10", + "lodash.curry": "^4.1.1" + } + }, + "node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "react": ">=16.13.1" + } + }, + "node_modules/react-frame-component": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/react-frame-component/-/react-frame-component-4.1.3.tgz", + "integrity": "sha512-4PurhctiqnmC1F5prPZ+LdsalH7pZ3SFA5xoc0HBe8mSHctdLLt4Cr2WXfXOoajHBYq/yiipp9zOgx+vy8GiEA==", + "peerDependencies": { + "prop-types": "^15.5.9", + "react": ">= 16.3", + "react-dom": ">= 16.3" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-json-tree": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/react-json-tree/-/react-json-tree-0.15.2.tgz", + "integrity": "sha512-Fi5BMgpZbqujagMQ4OavtK6k4RhaoU/zFoJeK331/UdsBEXKFs3VosfvOc1JS/oyB21I1MKu8bwMkOXODePBCg==", + "dependencies": { + "@types/prop-types": "^15.7.4", + "prop-types": "^15.8.0", + "react-base16-styling": "^0.8.2" + }, + "peerDependencies": { + "@types/react": "^16.3.0 || ^17.0.0", + "react": "^16.3.0 || ^17.0.0" + } + }, + "node_modules/react-reveal": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/react-reveal/-/react-reveal-1.2.2.tgz", + "integrity": "sha512-JCv3fAoU6Z+Lcd8U48bwzm4pMZ79qsedSXYwpwt6lJNtj/v5nKJYZZbw3yhaQPPgYePo3Y0NOCoYOq/jcsisuw==", + "dependencies": { + "prop-types": "^15.5.10" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-test-renderer": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz", + "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.8.6", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/react-test-renderer/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/react-textarea-autosize": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz", + "integrity": "sha512-uH3ORCsCa3C6LHxExExhF4jHoXYCQwE5oECmrRsunlspaDAbS4mGKNlWZqjLfInWtFQcf0o1n1jC/NGXFdUBCg==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "prop-types": "^15.6.0" + }, + "peerDependencies": { + "react": ">=0.14.0 <17.0.0" + } + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "node_modules/read-pkg/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recast": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.22.0.tgz", + "integrity": "sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==", + "dev": true, + "dependencies": { + "assert": "^2.0.0", + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/recast/node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/reconnecting-websocket": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/reconnecting-websocket/-/reconnecting-websocket-4.4.0.tgz", + "integrity": "sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng==" + }, + "node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/redent/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dev": true, + "dependencies": { + "esprima": "~4.0.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.14.tgz", + "integrity": "sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==" + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz", + "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0", + "get-intrinsic": "^1.2.3", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-escape": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/regex-escape/-/regex-escape-3.4.10.tgz", + "integrity": "sha512-qEqf7uzW+iYcKNLMDFnMkghhQBnGdivT6KqVQyKsyjSWnoFyooXVnxrw9dtv3AFLnD6VBGXxtZGAQNFGFTnCqA==", + "dev": true + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "peer": true + }, + "node_modules/remove-trailing-slash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz", + "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==" + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated" + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "dev": true + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "peer": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", + "dev": true + }, + "node_modules/rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==", + "dev": true + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/safe-array-concat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz", + "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "peer": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "peer": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "peer": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "peer": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "peer": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "peer": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "peer": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "peer": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "peer": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "peer": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "peer": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "peer": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/sane/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "peer": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "peer": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/sass": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", + "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==", + "dependencies": { + "semver": "^5.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/semver-truncate/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/set-function-length": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "dependencies": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-escape": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/shell-escape/-/shell-escape-0.2.0.tgz", + "integrity": "sha512-uRRBT2MfEOyxuECseCZd28jC1AJ8hmqqneWQ4VWUTgCAFvb3wKU1jLqj6egC4Exrr88ogg3dp+zroH4wJuaXzw==", + "dev": true + }, + "node_modules/shell-exec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shell-exec/-/shell-exec-1.0.2.tgz", + "integrity": "sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==" + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "optional": true, + "peer": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/simplebar": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/simplebar/-/simplebar-5.3.9.tgz", + "integrity": "sha512-1vIIpjDvY9sVH14e0LGeiCiTFU3ILqAghzO6OI9axeG+mvU/vMSrvXeAXkBolqFFz3XYaY8n5ahH9MeP3sp2Ag==", + "dependencies": { + "@juggle/resize-observer": "^3.3.1", + "can-use-dom": "^0.1.0", + "core-js": "^3.0.1", + "lodash.debounce": "^4.0.8", + "lodash.memoize": "^4.1.2", + "lodash.throttle": "^4.1.1" + } + }, + "node_modules/simplebar-react": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/simplebar-react/-/simplebar-react-2.4.3.tgz", + "integrity": "sha512-Ep8gqAUZAS5IC2lT5RE4t1ZFUIVACqbrSRQvFV9a6NbVUzXzOMnc4P82Hl8Ak77AnPQvmgUwZS7aUKLyBoMAcg==", + "dependencies": { + "prop-types": "^15.6.1", + "simplebar": "^5.3.9" + }, + "peerDependencies": { + "react": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0 || ^17.0 || ^18.0.0", + "react-dom": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0 || ^17.0 || ^18.0.0" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "dependencies": { + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-stream/-/sort-stream-1.0.1.tgz", + "integrity": "sha512-Zey0E2WRvJWjMqDonK41j6ybUG4X116Ik2YbP3rAp4osaqAjBMIqEv9/2iTGYuhVbD2BEyQloty9khDde47BMQ==", + "dependencies": { + "through": "~2.3.1" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + }, + "node_modules/spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==" + }, + "node_modules/spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz", + "integrity": "sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==" + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha512-YQL1ulInM+ev8nXX7vfXsCsDh6IqXlrremc1hzi77776BtpWgYJUMto3UM05GSAaGzJgWekszjoKDrVNB5XG+A==", + "dependencies": { + "chalk": "^1.0.0", + "console-stream": "^0.1.1", + "lpad-align": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/squeak/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/squeak/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/squeak/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/squeak/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/squeak/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "dev": true, + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/style-value-types": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-4.1.1.tgz", + "integrity": "sha512-cNLrl6jk+I1T18ZI2KIp/fcqKVuykcNELDrOz7y+TYZR97xmNdN0ewupURvVFnQxVrRJv98TMBq92VMsggq3kw==", + "dependencies": { + "hey-listen": "^1.0.8", + "tslib": "^1.10.0" + } + }, + "node_modules/style-value-types/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/styled-components": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz", + "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/traverse": "^7.4.5", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/stylis": "^0.8.4", + "@emotion/unitless": "^0.7.4", + "babel-plugin-styled-components": ">= 1.12.0", + "css-to-react-native": "^3.0.0", + "hoist-non-react-statics": "^3.0.0", + "shallowequal": "^1.1.0", + "supports-color": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0", + "react-is": ">= 16.8.0" + } + }, + "node_modules/styled-components/node_modules/@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/styled-components/node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/table/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/table/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/table/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/tar-fs/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tar-fs/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/tar-fs/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tar-stream/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/tar-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/tar-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==", + "dependencies": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tempfile/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "peer": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "peer": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tmp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/to-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-ast/-/to-ast-1.0.0.tgz", + "integrity": "sha512-FZpqARevv2F9BQZAeOx4b8F1tp07qqITCevw5spzKMC7ewcsP4y42kQosjctkAoROtzMNGbmD5n9ZN+vWmSN/Q==", + "dev": true, + "dependencies": { + "ast-types": "^0.7.2", + "esprima": "^2.1.0" + } + }, + "node_modules/to-ast/node_modules/ast-types": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz", + "integrity": "sha512-RIOpVnVlltB6PcBJ5BMLx+H+6JJ/zjDGU0t7f0L6c2M1dqcK92VQopLBlPQ9R80AVXelfqYgjcPLtHtDbNFg0Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/to-ast/node_modules/esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "node_modules/ts-api-utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", + "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", + "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/ts-mockito": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/ts-mockito/-/ts-mockito-2.6.1.tgz", + "integrity": "sha512-qU9m/oEBQrKq5hwfbJ7MgmVN5Gu6lFnIGWvpxSjrqq6YYEVv+RwVFWySbZMBgazsWqv6ctAyVBpo9TmAxnOEKw==", + "dependencies": { + "lodash": "^4.17.5" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/tslint/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tslint/node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.8.1.tgz", + "integrity": "sha512-top37bpoaHp+wJBAqjm5KNz7qNfSZ/tmHEisuMMK5uzjdIo/L6uWovDFuYboO+q8EMz1f67exTnd+OPYESuu8Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/uc-first-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/uc-first-array/-/uc-first-array-1.1.10.tgz", + "integrity": "sha512-tX2PJLrqtexTxVN9hTTY+K5gPnF2gyj7SfjPF4Q2Xhbi1fSNiO12I/G+AoMzxJLwr9R50CmVn8iAhWCvZlJm3A==", + "dev": true, + "dependencies": { + "ucfirst": "^1.0.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "node_modules/ucfirst": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ucfirst/-/ucfirst-1.0.0.tgz", + "integrity": "sha512-xbB/CQ0GdkxqH4IElZqenn/dL/tnyx7DCDASWJPE92ePbFM21kKemXI2LBeYtEvblf1Ol98hyJJS43Wu5JMQSQ==", + "dev": true + }, + "node_modules/ulid": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", + "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "bin": { + "ulid": "bin/cli.js" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unbzip2-stream/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unescape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unescape/-/unescape-1.0.1.tgz", + "integrity": "sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==", + "dependencies": { + "extend-shallow": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated" + }, + "node_modules/url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use-async-effect": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/use-async-effect/-/use-async-effect-2.2.7.tgz", + "integrity": "sha512-Vq94tKPyo/9Nok4LOapV0GoGgZPhbeDW/bP6bulLPV4+lIoftaBRBBbGjTbM+j5W1Bm2EkUHJgapeu5YnQvKEA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/utf8-bytes": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/utf8-bytes/-/utf8-bytes-0.0.1.tgz", + "integrity": "sha512-GifWmJAx2qAXT+lZLhbkWhBsy7pr6xWHiPWlVToDiELdWgZwt4Ogjf9tlgvKuALzTFR/d+EPQQI9ogJV3957Jg==" + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/w-json": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/w-json/-/w-json-1.3.10.tgz", + "integrity": "sha512-XadVyw0xE+oZ5FGApXsdswv96rOhStzKqL53uSe5UaTadABGkWIg1+DTx8kiZ/VqTZTBneoL0l65RcPe4W3ecw==", + "dev": true + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "peer": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/webpack": { + "version": "5.90.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", + "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "cross-spawn": "^7.0.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "@webpack-cli/migrate": { + "optional": true }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/webpack/node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack/node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/webpackbar/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/webpackbar/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/webpackbar/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/webpackbar/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/webpackbar/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + }, + "node_modules/which-typed-array": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", + "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "dependencies": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/write-json-file": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", + "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", + "dev": true, + "dependencies": { + "detect-indent": "^6.0.0", + "graceful-fs": "^4.1.15", + "is-plain-obj": "^2.0.0", + "make-dir": "^3.0.0", + "sort-keys": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=8.3" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/write-json-file/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/write-json-file/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/write-json-file/node_modules/sort-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", + "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "dev": true, + "dependencies": { + "is-plain-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/write-json-file/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xlsx": { + "version": "0.17.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.5.tgz", + "integrity": "sha512-lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==", + "dependencies": { + "adler-32": "~1.2.0", + "cfb": "^1.1.4", + "codepage": "~1.15.0", + "crc-32": "~1.2.0", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==" + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "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.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-a-folder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/zip-a-folder/-/zip-a-folder-0.1.0.tgz", + "integrity": "sha512-OWwaQ+i15sjnUypj/3pAHgZUHvV9z0v7EQJXYkfe8/2KJT6Cp+7pAhgVnsNubWhWSmGekz0H7rjo3C1UmoH5iw==", + "dependencies": { + "@types/archiver": "^5.1.0", + "@types/jest": "^26.0.20", + "@types/node": "^14.14.33", + "archiver": "^5.0.0", + "jest-extended": "^0.11.5", + "ts-jest": "^26.5.3", + "tslint": "^6.1.3", + "tslint-plugin-prettier": "^2.3.0", + "typescript": "^4.2.3" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "peer": true, + "dependencies": { + "@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.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.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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/core/node_modules/jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@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.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/zip-a-folder/node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "peer": true, + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "peer": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "peer": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@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", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "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": "^7.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "peer": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "peer": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "peer": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@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.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "peer": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/zip-a-folder/node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/zip-a-folder/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/zip-a-folder/node_modules/@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" + }, + "node_modules/zip-a-folder/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/zip-a-folder/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/zip-a-folder/node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "peer": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/zip-a-folder/node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/zip-a-folder/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/zip-a-folder/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/zip-a-folder/node_modules/babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "peer": true, + "dependencies": { + "@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.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/zip-a-folder/node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/zip-a-folder/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/zip-a-folder/node_modules/cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "peer": true + }, + "node_modules/zip-a-folder/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/zip-a-folder/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/zip-a-folder/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/zip-a-folder/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "peer": true + }, + "node_modules/zip-a-folder/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "peer": true + }, + "node_modules/zip-a-folder/node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "peer": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/zip-a-folder/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "peer": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/zip-a-folder/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/zip-a-folder/node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/zip-a-folder/node_modules/eslint-plugin-prettier": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz", + "integrity": "sha512-CStQYJgALoQBw3FsBzH0VOVDRnJ/ZimUlpLm226U8qgqYJfPOY/CPK6wyRInMxh73HSKg5wyRwdS4BVYYHwokA==", + "dependencies": { + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" + }, + "engines": { + "node": ">=4.0.0" + }, + "peerDependencies": { + "prettier": ">= 0.11.0" + } + }, + "node_modules/zip-a-folder/node_modules/eslint-plugin-prettier/node_modules/jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==" + }, + "node_modules/zip-a-folder/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "peer": true, + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/zip-a-folder/node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "peer": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/zip-a-folder/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "peer": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-a-folder/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/zip-a-folder/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "peer": true + }, + "node_modules/zip-a-folder/node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "peer": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/zip-a-folder/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "peer": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/zip-a-folder/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "peer": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/zip-a-folder/node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "peer": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/zip-a-folder/node_modules/jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "peer": true, + "dependencies": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "peer": true, + "dependencies": { + "@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.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-cli/node_modules/jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@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.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/zip-a-folder/node_modules/jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "peer": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "peer": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "peer": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "peer": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "peer": true, + "dependencies": { + "@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.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "peer": true, + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "peer": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "peer": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "peer": true, + "dependencies": { + "@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.6.3", + "jest-docblock": "^26.0.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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-runner/node_modules/jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@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.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true } } }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" + "node_modules/zip-a-folder/node_modules/jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "peer": true, + "dependencies": { + "@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.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.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" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-runtime/node_modules/jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@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.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/zip-a-folder/node_modules/jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "peer": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "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.6.2", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/zip-a-folder/node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "peer": true, + "dependencies": { + "@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.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/zip-a-folder/node_modules/jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "peer": true, + "dependencies": { + "@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.6.2", + "string-length": "^4.0.1" }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "engines": { + "node": ">= 10.14.2" } }, - "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", - "dev": true, - "requires": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" + "node_modules/zip-a-folder/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" } }, - "socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", - "dev": true, - "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" - }, - "dependencies": { - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } + "node_modules/zip-a-folder/node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "peer": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true } } }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" + "node_modules/zip-a-folder/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "node_modules/zip-a-folder/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "node_modules/zip-a-folder/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "peer": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, - "spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "node_modules/zip-a-folder/node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "peer": true, + "bin": { + "semver": "bin/semver" } }, - "spdx-exceptions": { + "node_modules/zip-a-folder/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", - "dev": true - }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "requires": { - "through": "2" + "node_modules/zip-a-folder/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "peer": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "dev": true + "node_modules/zip-a-folder/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "peer": true }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" + "node_modules/zip-a-folder/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "peer": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "node_modules/zip-a-folder/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "node_modules/zip-a-folder/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "peer": true }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "node_modules/zip-a-folder/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "peer": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" } }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" + "node_modules/zip-a-folder/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "peer": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } + "node_modules/zip-a-folder/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "peer": true, + "engines": { + "node": ">=8" } }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "node_modules/zip-a-folder/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/zip-a-folder/node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "peer": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" } }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "node_modules/zip-a-folder/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "peer": true, + "engines": { + "node": ">=8" } }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "node_modules/zip-a-folder/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", - "dev": true + "node_modules/zip-a-folder/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "peer": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "node_modules/zip-a-folder/node_modules/ts-jest": { + "version": "26.5.6", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", + "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", + "dependencies": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "jest": ">=26 <27", + "typescript": ">=3.8 <5.0" } }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "node_modules/zip-a-folder/node_modules/ts-jest/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" + "node_modules/zip-a-folder/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/zip-a-folder/node_modules/tslint-plugin-prettier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslint-plugin-prettier/-/tslint-plugin-prettier-2.3.0.tgz", + "integrity": "sha512-F9e4K03yc9xuvv+A0v1EmjcnDwpz8SpCD8HzqSDe0eyg34cBinwn9JjmnnRrNAs4HdleRQj7qijp+P/JTxt4vA==", + "dependencies": { + "eslint-plugin-prettier": "^2.2.0", + "lines-and-columns": "^1.1.6", + "tslib": "^1.7.1" + }, + "engines": { + "node": ">= 4" + }, + "peerDependencies": { + "prettier": "^1.9.0 || ^2.0.0", + "tslint": "^5.0.0 || ^6.0.0" } }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/zip-a-folder/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "peer": true, + "engines": { + "node": ">=8" } }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/zip-a-folder/node_modules/v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" } }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/zip-a-folder/node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "peer": true, + "engines": { + "node": ">= 8" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - }, + "node_modules/zip-a-folder/node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "peer": true, "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" } }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" + "node_modules/zip-a-folder/node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "peer": true, + "engines": { + "node": ">=10.4" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true + "node_modules/zip-a-folder/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "peer": true, + "dependencies": { + "iconv-lite": "0.4.24" + } }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true + "node_modules/zip-a-folder/node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "peer": true }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" + "node_modules/zip-a-folder/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "peer": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" } }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "strong-log-transformer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", - "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" + "node_modules/zip-a-folder/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" + "node_modules/zip-a-folder/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "node_modules/zip-a-folder/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "node_modules/zip-a-folder/node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "peer": true }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "node_modules/zip-a-folder/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "peer": true }, - "table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, + "node_modules/zip-a-folder/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/zip-a-folder/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "peer": true, "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" } }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dev": true, - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "node_modules/zip-a-folder/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" } }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", - "dev": true + "node_modules/zip-a-folder/node_modules/yargs/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "peer": true, + "engines": { + "node": ">=6" + } }, - "temp-write": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-3.4.0.tgz", - "integrity": "sha512-P8NK5aNqcGQBC37i/8pL/K9tFgx14CF2vdwluD/BA/dGWGD4T4E59TE7dAxPyb2wusts2FhMp36EiopBBsGJ2Q==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "is-stream": "^1.1.0", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "temp-dir": "^1.0.0", - "uuid": "^3.0.1" - }, + "node_modules/zip-a-folder/node_modules/yargs/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "peer": true, "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" } }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "node_modules/zip-stream": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", + "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", + "dependencies": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" } }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "node_modules/zip-stream/node_modules/archiver-utils": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", + "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", + "dependencies": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" } }, - "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "node_modules/zip-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "requires": { - "any-promise": "^1.0.0" + "packages/botonic-cli": { + "name": "@botonic/cli", + "version": "0.23.1", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@oclif/command": "^1.8.32", + "@oclif/config": "^1.18.10", + "@oclif/plugin-help": "^3.2.2", + "analytics-node": "^3.5.0", + "axios": "^1.6.0", + "colors": "^1.4.0", + "concurrently": "^6.2.1", + "fetch-repo-dir": "^1.0.4", + "form-data": "^3.0.0", + "fs-extra": "^10.0.0", + "inquirer": "^7.3.3", + "kill-port": "^1.6.1", + "localtunnel": "^2.0.1", + "ora": "^5.4.0", + "qs": "^6.11.2", + "tslib": "^2.6.0", + "typescript": "^5.1.6", + "uuid": "^8.3.2", + "zip-a-folder": "0.1.0" + }, + "bin": { + "botonic": "bin/run" + }, + "devDependencies": { + "@oclif/dev-cli": "^1.26.0", + "@types/analytics-node": "^3.1.4", + "@types/concurrently": "^6.2.1", + "@types/fs-extra": "^9.0.11", + "@types/inquirer": "^7.3.1", + "@types/localtunnel": "^2.0.1", + "@types/uuid": "^8.3.0", + "globby": "^11.0.3" + }, + "engines": { + "node": ">=20.0.0" } }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" + "packages/botonic-cli/node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" } }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true + "packages/botonic-core": { + "name": "@botonic/core", + "version": "0.25.0-alpha.2", + "license": "MIT", + "dependencies": { + "aws-sdk": "^2.1404.0", + "axios": "^1.6.7", + "decode": "^0.3.0", + "dynamodb-toolbox": "^0.3.4", + "fast-xml-parser": "3.19.0", + "html-entities": "^2.4.0", + "node-json-db": "^1.6.0", + "pako": "^2.1.0", + "process": "^0.11.10", + "pusher-js": "^5.1.1", + "ulid": "^2.3.0" + }, + "devDependencies": { + "@types/minipass": "^3.3.5", + "@types/pako": "^1.0.2", + "babel-plugin-add-module-exports": "^1.0.2" + }, + "engines": { + "node": ">=20.0.0" + } }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "packages/botonic-core/node_modules/fast-xml-parser": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", + "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==", + "bin": { + "xml2js": "cli.js" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "packages/botonic-dx": { + "name": "@botonic/dx", + "version": "0.25.0-alpha.0", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-runtime": "^7.23.9", + "@babel/preset-env": "^7.23.9", + "@babel/preset-react": "^7.23.3", + "@babel/preset-typescript": "^7.23.3", + "@botonic/eslint-config": "0.25.0-alpha.0", + "@types/jest": "^29.5.12", + "@types/node": "^20.11.16", + "babel-eslint": "^10.1.0", + "babel-loader": "^8.3.0", + "babel-plugin-add-module-exports": "^1.0.4", + "clean-webpack-plugin": "^4.0.0-alpha.0", + "css-loader": "^5.2.7", + "esbuild-loader": "^2.21.0", + "eslint": "^8.56.0", + "eslint_d": "^13.1.2", + "eslint-config-prettier": "^9.1.0", + "eslint-import-resolver-typescript": "^3.6.1", + "file-loader": "^6.2.0", + "html-webpack-plugin": "^5.3.2", + "identity-obj-proxy": "^3.0.0", + "image-minimizer-webpack-plugin": "^2.2.0", + "imagemin-gifsicle": "^7.0.0", + "imagemin-jpegtran": "^7.0.0", + "imagemin-optipng": "^8.0.0", + "imagemin-svgo": "^9.0.0", + "jest": "^29.7.0", + "jest-each": "^29.7.0", + "jest-junit": "^12.3.0", + "nodemon": "^2.0.22", + "nodemon-webpack-plugin": "^4.8.2", + "null-loader": "^4.0.1", + "prettier": "^3.2.5", + "sass": "^1.70.0", + "sass-loader": "^12.6.0", + "style-loader": "^3.3.4", + "svgo": "^2.8.0", + "terser": "^5.7.1", + "terser-webpack-plugin": "^5.3.10", + "ts-jest": "^29.1.2", + "ts-mockito": "^2.6.1", + "ts-node": "^10.9.2", + "tslib": "^2.6.2", + "typescript": "^4.9.5", + "webpack": "^5.90.1", + "webpack-cli": "^4.10.0", + "webpackbar": "^5.0.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" + "packages/botonic-dx/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "packages/botonic-dx/node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true + "packages/botonic-dx/node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==" }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, + "packages/botonic-dx/node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "packages/botonic-dx/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" + "packages/botonic-dx/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "tough-cookie": { + "packages/botonic-dx/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "packages/botonic-dx/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" + "packages/botonic-dx/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true + "packages/botonic-dx/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, + "packages/botonic-dx/node_modules/core_d": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/core_d/-/core_d-6.1.0.tgz", + "integrity": "sha512-vYgenhJ8CYCj+7LPbPdyFo2u0Doavfbi/vhFpR/BsW9/iUAhuKd+sw2l4CHXhaXIo4/058p2nlsAtbL7iswm5A==", "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - } + "supports-color": "^8.1.0" } }, - "ts-mockito": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ts-mockito/-/ts-mockito-2.6.1.tgz", - "integrity": "sha512-qU9m/oEBQrKq5hwfbJ7MgmVN5Gu6lFnIGWvpxSjrqq6YYEVv+RwVFWySbZMBgazsWqv6ctAyVBpo9TmAxnOEKw==", - "dev": true, - "requires": { - "lodash": "^4.17.5" + "packages/botonic-dx/node_modules/core_d/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" + "packages/botonic-dx/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" }, - "dependencies": { - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "packages/botonic-dx/node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "tslib": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", - "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==", - "dev": true + "packages/botonic-dx/node_modules/eslint_d": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/eslint_d/-/eslint_d-13.1.2.tgz", + "integrity": "sha512-kRQ6oxtY9TL+NtHaLrPPmqHmZ4bY9iE+A2LACQ9CMzzbatZbIXq55X8Tz76KaTlH2NQ1F2vccQ8UEKvL49zPOg==", + "dependencies": { + "core_d": "^6.0.0", + "eslint": "^8.50.0", + "nanolru": "^1.0.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint_d": "bin/eslint_d.js" + } }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" + "packages/botonic-dx/node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "bin": { + "eslint-config-prettier": "bin/cli.js" }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "packages/botonic-dx/node_modules/eslint-import-resolver-typescript": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" } }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" + "packages/botonic-dx/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true + "packages/botonic-dx/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" + "packages/botonic-dx/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true + "packages/botonic-dx/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "packages/botonic-dx/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "packages/botonic-dx/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true + "packages/botonic-dx/node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" + "packages/botonic-dx/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, - "uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "optional": true + "packages/botonic-dx/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha512-c461FXIljswCuscZn67xq9PpszkPT6RjheWFQTgCyabJrTUozElanb0YEqv2UGgk247YpcJkFBuSGNvBlpXM9w==", - "dev": true + "packages/botonic-dx/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "umask": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", - "integrity": "sha512-lE/rxOhmiScJu9L6RTNVgB/zZbF+vGC0/p6D3xnkAePI2o0sMyFG966iR5Ki50OI/0mNi2yaRnxfLsPmEZF/JA==", - "dev": true + "packages/botonic-dx/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "packages/botonic-dx/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "packages/botonic-eslint-config": { + "name": "@botonic/eslint-config", + "version": "0.25.0-alpha.0", + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", + "eslint-plugin-filenames": "^1.3.2", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-jest": "^27.6.3", + "eslint-plugin-no-null": "^1.0.2", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-simple-import-sort": "^10.0.0" + } + }, + "packages/botonic-eslint-config/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "peer": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" + "packages/botonic-eslint-config/node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "peer": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "unique-slug": { + "packages/botonic-eslint-config/node_modules/@humanwhocodes/object-schema": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "peer": true + }, + "packages/botonic-eslint-config/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "universal-user-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", - "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", - "dev": true, - "requires": { - "os-name": "^3.1.0" + "packages/botonic-eslint-config/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true + "packages/botonic-eslint-config/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "packages/botonic-eslint-config/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "engines": { + "node": "^16.0.0 || >=18.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/botonic-eslint-config/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "packages/botonic-eslint-config/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "packages/botonic-eslint-config/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/botonic-eslint-config/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" + "packages/botonic-eslint-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "dev": true + "packages/botonic-eslint-config/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "peer": true }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "packages/botonic-eslint-config/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "packages/botonic-eslint-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "packages/botonic-eslint-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "util-promisify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", - "integrity": "sha512-K+5eQPYs14b3+E+hmE2J6gCZ4JmMl9DbYS6BeP2CHq6WMuNxErxf5B/n0fz85L8zUuoO6rIzNNmIQDu/j+1OcA==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3" + "packages/botonic-eslint-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "packages/botonic-eslint-config/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true + "packages/botonic-eslint-config/node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true + "packages/botonic-eslint-config/node_modules/eslint-plugin-jest": { + "version": "27.6.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.3.tgz", + "integrity": "sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==", + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0", + "eslint": "^7.0.0 || ^8.0.0", + "jest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true + "packages/botonic-eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "v8-to-istanbul": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "packages/botonic-eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/botonic-eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "packages/botonic-eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", - "dev": true, - "requires": { - "builtins": "^1.0.3" + "packages/botonic-eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/botonic-eslint-config/node_modules/eslint-plugin-jest/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "packages/botonic-eslint-config/node_modules/eslint-plugin-jest/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, + "packages/botonic-eslint-config/node_modules/eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true } } }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" + "packages/botonic-eslint-config/node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" + "packages/botonic-eslint-config/node_modules/eslint-plugin-simple-import-sort": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz", + "integrity": "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==", + "peerDependencies": { + "eslint": ">=5.0.0" } }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" + "packages/botonic-eslint-config/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "requires": { - "defaults": "^1.0.3" + "packages/botonic-eslint-config/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true + "packages/botonic-eslint-config/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "peer": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" + "packages/botonic-eslint-config/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "peer": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true + "packages/botonic-eslint-config/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "packages/botonic-eslint-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" } }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" + "packages/botonic-eslint-config/node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "peer": true, + "engines": { + "node": ">=8" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "packages/botonic-eslint-config/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true + "packages/botonic-eslint-config/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "packages/botonic-eslint-config/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "packages/botonic-eslint-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "windows-release": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", - "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==", - "dev": true, - "requires": { - "execa": "^1.0.0" + "packages/botonic-eslint-config/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "packages/botonic-eslint-config/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true + "packages/botonic-plugin-contentful": { + "name": "@botonic/plugin-contentful", + "version": "0.24.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@nlpjs/core": "^4.22.0", + "@nlpjs/lang-ca": "^4.22.0", + "@nlpjs/lang-cs": "^4.22.0", + "@nlpjs/lang-de": "^4.22.0", + "@nlpjs/lang-el": "^4.22.0", + "@nlpjs/lang-en-min": "^4.22.0", + "@nlpjs/lang-es": "^4.22.0", + "@nlpjs/lang-fr": "^4.22.0", + "@nlpjs/lang-hu": "^4.22.0", + "@nlpjs/lang-it": "^4.22.0", + "@nlpjs/lang-nl": "^4.22.0", + "@nlpjs/lang-pl": "^4.22.0", + "@nlpjs/lang-pt": "^4.22.0", + "@nlpjs/lang-ro": "^4.22.0", + "@nlpjs/lang-ru": "^4.22.0", + "@nlpjs/lang-sl": "^4.22.0", + "@nlpjs/lang-tr": "^4.22.0", + "@nlpjs/lang-uk": "^4.22.0", + "@nlpjs/ner": "^4.27.0", + "@nlpjs/similarity": "^4.21.1", + "async-parallel": "^1.2.3", + "contentful": "^8.5.8", + "contentful-import": "^8.5.62", + "contentful-management": "^7.39.0", + "csv-parse": "^4.16.0", + "csv-stringify": "^5.6.5", + "escape-string-regexp": "^4.0.0", + "marked": "^2.1.1", + "memoizee": "^0.4.15", + "moment": "^2.29.1", + "moment-timezone": "^0.5.43", + "sort-stream": "^1.0.1", + "xlsx": "^0.17.0" + }, + "devDependencies": { + "@types/marked": "^2.0.3", + "@types/memoizee": "^0.4.5", + "@types/minipass": "^3.3.5", + "contentful-cli": "^1.7.1", + "identity-obj-proxy": "^3.0.0", + "jest-extended": "^0.11.5" + }, + "engines": { + "node": ">=20.0.0" + } }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "packages/botonic-plugin-contentful/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "packages/botonic-plugin-dynamodb": { + "name": "@botonic/plugin-dynamodb", + "version": "0.24.0", + "license": "MIT", + "dependencies": { + "@aws/dynamodb-data-mapper": "^0.7.3", + "@aws/dynamodb-data-mapper-annotations": "^0.7.3", + "@babel/runtime": "^7.23.9", + "aws-sdk": "^2.1554.0" + }, + "devDependencies": { + "@types/aws-sdk": "^2.7.0", + "@types/node": "20.11.17" + }, + "engines": { + "node": ">=20.0.0" + } }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "packages/botonic-plugin-flow-builder": { + "name": "@botonic/plugin-flow-builder", + "version": "0.25.0-alpha.4", + "dependencies": { + "@botonic/react": "0.25.0-alpha.4", + "axios": "^1.6.7" + }, + "engines": { + "node": ">=20.0.0" } }, - "write-json-file": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", - "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", - "dev": true, - "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.15", - "make-dir": "^2.1.0", - "pify": "^4.0.1", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.4.2" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - } + "packages/botonic-plugin-google-analytics": { + "name": "@botonic/plugin-google-analytics", + "version": "0.24.0", + "license": "MIT", + "dependencies": { + "@botonic/core": "^0.24.0", + "axios": "^1.6.0" + }, + "devDependencies": { + "@types/node": "^18.14.1", + "typescript": "^4.9.5" } }, - "write-pkg": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.2.0.tgz", - "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", - "dev": true, - "requires": { - "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "write-json-file": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", - "integrity": "sha512-84+F0igFp2dPD6UpAQjOUX3CdKUOqUzn6oE9sDBNzUXINR5VceJ1rauZltqQB/bcYsx3EpKys4C7/PivKUAiWQ==", - "dev": true, - "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" - } - } + "packages/botonic-plugin-google-analytics/node_modules/@botonic/core": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.24.0.tgz", + "integrity": "sha512-py4f42W/NZgIHlPkrgLftM9q4M8+sA1+S8ElwPS82rAxvnn6clcNERU6o6P7hqrcRBqC0XP4mVMt374pOBYMHg==", + "dependencies": { + "aws-sdk": "^2.1404.0", + "axios": "^1.6.0", + "decode": "^0.3.0", + "dynamodb-toolbox": "^0.3.4", + "fast-xml-parser": "^3.19.0", + "html-entities": "^2.4.0", + "node-json-db": "^1.6.0", + "pako": "^2.1.0", + "process": "^0.11.10", + "pusher-js": "^5.1.1", + "ulid": "^2.3.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true + "packages/botonic-plugin-google-analytics/node_modules/@types/node": { + "version": "18.19.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.14.tgz", + "integrity": "sha512-EnQ4Us2rmOS64nHDWr0XqAD8DsO6f3XR6lf9UIIrZQpUzPVdN/oPuEzfDWNHSyXLvoGgjuEm/sPwFGSSs35Wtg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, - "xml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", - "dev": true + "packages/botonic-plugin-hubtype-analytics": { + "name": "@botonic/plugin-hubtype-analytics", + "version": "0.25.0-alpha.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@botonic/core": "0.25.0-alpha.2", + "axios": "^1.6.0" + }, + "devDependencies": { + "@types/node": "^20.11.17", + "@types/react": "^16.14.0", + "typescript": "^4.9.5" + } }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true + "packages/botonic-plugin-hubtype-babel": { + "name": "@botonic/plugin-hubtype-babel", + "version": "0.25.0-alpha.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@botonic/core": "^0.25.0-alpha.2", + "axios": "^1.6.0", + "process": "^0.11.10" + }, + "devDependencies": { + "@types/minipass": "^3.3.5", + "@types/node": "^18.16.0", + "typescript": "^4.5.4" + }, + "engines": { + "node": ">=20.0.0" + } }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "packages/botonic-plugin-hubtype-babel/node_modules/@types/node": { + "version": "18.19.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.14.tgz", + "integrity": "sha512-EnQ4Us2rmOS64nHDWr0XqAD8DsO6f3XR6lf9UIIrZQpUzPVdN/oPuEzfDWNHSyXLvoGgjuEm/sPwFGSSs35Wtg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "packages/botonic-plugin-knowledge-bases": { + "name": "@botonic/plugin-knowledge-bases", + "version": "0.25.0-alpha.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@botonic/core": "0.25.0-alpha.2", + "axios": "^1.6.7" + }, + "devDependencies": { + "@types/node": "^20.11.16" + }, + "engines": { + "node": ">=20.0.0" + } }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "packages/botonic-react": { + "name": "@botonic/react", + "version": "0.25.0-alpha.4", + "license": "MIT", + "dependencies": { + "@botonic/core": "^0.25.0-alpha.2", + "axios": "^1.6.7", + "emoji-picker-react": "^4.4.9", + "framer-motion": "^3.1.1", + "he": "^1.2.0", + "lodash.merge": "^4.6.2", + "markdown-it": "^12.0.6", + "qrcode.react": "^1.0.1", + "react": "^16.14.0", + "react-dom": "^16.14.0", + "react-frame-component": "^4.1.3", + "react-json-tree": "^0.15.0", + "react-reveal": "^1.2.2", + "react-router-dom": "^5.3.4", + "react-textarea-autosize": "^7.1.2", + "reconnecting-websocket": "^4.4.0", + "simplebar-react": "^2.4.3", + "styled-components": "^5.3.0", + "ua-parser-js": "^0.8.1", + "unescape": "^1.0.1", + "use-async-effect": "^2.2.7", + "uuid": "^8.3.2" + }, + "devDependencies": { + "@babel/preset-react": "^7.18.6", + "@testing-library/react": "^12.0.0", + "@testing-library/react-hooks": "^8.0.1", + "@types/jest": "^29.5.1", + "@types/parse5": "^7.0.0", + "@types/react": "^16.14.56", + "copyfiles": "^2.4.1", + "identity-obj-proxy": "^3.0.0", + "intersection-observer": "^0.12.2", + "react-test-renderer": "^16.14.0", + "typescript": "5.0.4" + }, + "engines": { + "node": ">=20.0.0" + } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "packages/botonic-react/node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "packages/botonic-react/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "packages/botonic-react/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true + "packages/botonic-react/node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } } - }, - "version": "0.23.5-alpha.0" + } } diff --git a/package.json b/package.json index 003afa08f5..3d7cfd4090 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,27 @@ { "private": true, + "name": "botonic", + "version": "0.25.0-alpha.0", + "scripts": { + "clean": "rimraf packages/**/lib" + }, + "dependencies": { + "axios": "^1.6.7" + }, "devDependencies": { + "@babel/cli": "^7.23.9", + "@babel/core": "^7.23.9", + "@babel/plugin-transform-runtime": "^7.23.9", + "@babel/preset-env": "^7.23.9", + "@babel/preset-typescript": "^7.23.3", + "@babel/runtime": "^7.23.8", "@types/jest": "^26.0.23", - "@types/node": "^15.12.1", + "@types/node": "^20.0.0", "@types/rimraf": "^3.0.0", "@typescript-eslint/eslint-plugin": "^4.26.0", "@typescript-eslint/parser": "^4.26.0", "babel-eslint": "^10.1.0", + "babel-plugin-add-module-exports": "^1.0.4", "cloc": "^2.7.0", "eslint": "^7.26.0", "eslint-config-prettier": "^7.2.0", @@ -22,31 +37,23 @@ "eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-simple-import-sort": "^7.0.0", "eslint_d": "^10.1.3", - "jest": "^26.6.3", - "jest-each": "^26.6.2", - "jest-expect-message": "^1.0.2", - "jest-junit": "^12.0.0", - "lerna": "3.22.1", - "prettier": "^2.2.1", - "ts-jest": "^26.5.6", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-each": "^29.7.0", + "jest-expect-message": "^1.1.3", + "jest-junit": "^12.3.0", + "prettier": "^3.0.0", + "ts-jest": "^29.1.2", "ts-mockito": "^2.6.1", - "ts-node": "^10.0.0", - "tslib": "^2.2.0", - "typescript": "^4.3.2" + "ts-node": "^10.9.2", + "tslib": "^2.6.2", + "typescript": "^4.9.5" }, "engines": { - "node": ">=10.0.0" + "node": ">=20.0.0" }, "license": "MIT", - "scripts": { - "bootstrap": "lerna bootstrap", - "test": "lerna run test", - "build": "lerna run build", - "clean": "rimraf packages/**/lib" - }, "workspaces": [ "packages/*" - ], - "dependencies": {}, - "version": "0.23.5-alpha.0" + ] } diff --git a/packages/babel.config.js b/packages/babel.config.js index 9fd4f5947f..6a24d7b935 100644 --- a/packages/babel.config.js +++ b/packages/babel.config.js @@ -15,8 +15,6 @@ module.exports = { sourceMaps: true, presets: ['@babel/preset-env'], plugins: [ - require('@babel/plugin-proposal-object-rest-spread'), - require('@babel/plugin-proposal-class-properties'), require('@babel/plugin-transform-modules-commonjs'), require('@babel/plugin-transform-runtime') ] diff --git a/tsconfig.base.json b/tsconfig.base.json index 27de99656c..d3c9bad88b 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,19 +1,29 @@ +//https://www.npmjs.com/package/@tsconfig/node20 { "compilerOptions": { - "target": "es2017", - "module": "commonjs", + "target": "ES2015", + // "module": "ES2022", //commonjs, node16, nodenext + // "moduleResolution": "node16", // node, node16, nodenext + "lib": ["ES2022"], + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "declaration": true, "sourceMap": true, - "strict": true, "noUnusedLocals": false, "noUnusedParameters": true, - "noImplicitReturns": false, + "noImplicitReturns": false, // why is false? "noFallthroughCasesInSwitch": true, - "forceConsistentCasingInFileNames": true, "strictPropertyInitialization": false, "importHelpers": true, "noImplicitAny": false, - "outDir": "./lib", - "pretty": true + //"pretty": true // true by default + "paths": { + "@botonic/core": ["./packages/botonic-core/src"], + "@botonic/react": ["./packages/botonic-react/src"] + }, + "preserveSymlinks": false } } diff --git a/tsconfig.cjs.base.json b/tsconfig.cjs.base.json new file mode 100644 index 0000000000..0639cc5dff --- /dev/null +++ b/tsconfig.cjs.base.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "moduleResolution": "node", + "module": "CommonJS" + } +} diff --git a/tsconfig.esm.base.json b/tsconfig.esm.base.json new file mode 100644 index 0000000000..8a617cab46 --- /dev/null +++ b/tsconfig.esm.base.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "module": "ES2022", + "moduleResolution": "node16" + } +} diff --git a/tsconfig.json b/tsconfig.json index c9a00b99e8..af8eea876f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,6 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { - "baseUrl": "./packages", - "paths": { - "@botonic/*": ["./*/src"] - } + "baseUrl": "./packages" } } From 55425d2bc22bdf5a0189857024105029e7d2f6c4 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:52:49 +0100 Subject: [PATCH 09/46] chore(botonic-core): update botonic-core to Node20 using the monorepo --- packages/botonic-core/babel.config.js | 2 -- packages/botonic-core/package.json | 14 ++++---------- packages/botonic-core/tsconfig.esm.json | 12 +++++------- packages/botonic-core/tsconfig.json | 11 +++++------ 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/packages/botonic-core/babel.config.js b/packages/botonic-core/babel.config.js index 66ed2a5dc7..d9b7d12c9e 100644 --- a/packages/botonic-core/babel.config.js +++ b/packages/botonic-core/babel.config.js @@ -15,8 +15,6 @@ module.exports = { sourceMaps: true, presets: ['@babel/preset-env'], plugins: [ - require('@babel/plugin-proposal-object-rest-spread'), - require('@babel/plugin-proposal-class-properties'), require('babel-plugin-add-module-exports'), require('@babel/plugin-transform-runtime'), ], diff --git a/packages/botonic-core/package.json b/packages/botonic-core/package.json index bc4ba04e21..1a6b13caf9 100644 --- a/packages/botonic-core/package.json +++ b/packages/botonic-core/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/core", - "version": "0.24.0", + "version": "0.25.0-alpha.2", "license": "MIT", "description": "Build Chatbots using React", "main": "./lib/cjs/index.js", @@ -31,10 +31,10 @@ ], "dependencies": { "aws-sdk": "^2.1404.0", - "axios": "^1.6.0", + "axios": "^1.6.7", "decode": "^0.3.0", "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", + "fast-xml-parser": "3.19.0", "html-entities": "^2.4.0", "node-json-db": "^1.6.0", "pako": "^2.1.0", @@ -43,19 +43,13 @@ "ulid": "^2.3.0" }, "devDependencies": { - "@babel/cli": "^7.11.5", - "@babel/core": "^7.11.6", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.6", - "@babel/plugin-transform-runtime": "^7.9.6", - "@babel/preset-env": "^7.9.6", "@types/minipass": "^3.3.5", "@types/pako": "^1.0.2", "babel-plugin-add-module-exports": "^1.0.2" }, "homepage": "https://github.com/hubtype/botonic#readme", "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, "keywords": [ "bot-framework", diff --git a/packages/botonic-core/tsconfig.esm.json b/packages/botonic-core/tsconfig.esm.json index dc24471302..5efdafe75f 100644 --- a/packages/botonic-core/tsconfig.esm.json +++ b/packages/botonic-core/tsconfig.esm.json @@ -1,11 +1,9 @@ { - "extends": "./tsconfig.json", - "include": ["src/"], + "extends": "../../tsconfig.esm.base.json", "compilerOptions": { "baseUrl": ".", - "outDir": "./lib/esm", - "target": "ES2017", - "module": "ES2020", - "moduleResolution": "node" - } + "outDir": "./lib/esm" + }, + "include": ["src/**/*.ts"], + "exclude": ["tests", "lib"] } diff --git a/packages/botonic-core/tsconfig.json b/packages/botonic-core/tsconfig.json index 9e8b4e8bc1..ea8829789c 100644 --- a/packages/botonic-core/tsconfig.json +++ b/packages/botonic-core/tsconfig.json @@ -1,10 +1,9 @@ { - "extends": "../../tsconfig.base.json", - "include": ["src/"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { "baseUrl": ".", - "outDir": "./lib/cjs", - "esModuleInterop": true, - "skipLibCheck": true - } + "outDir": "./lib/cjs" + }, + "include": ["src/**/*.ts"], + "exclude": ["tests", "lib"] } From 13260d5729d01a464acfaa4d4a3ae89c9c1b89fd Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:53:35 +0100 Subject: [PATCH 10/46] chore(botonic-react): update botonic-react to Node20 using the monorepo --- packages/botonic-react/babel.config.js | 2 - packages/botonic-react/jest.config.js | 8 +-- packages/botonic-react/package.json | 53 ++++++++----------- .../src/assets/{index-types.ts => types.d.ts} | 0 packages/botonic-react/tsconfig.esm.json | 12 ++--- packages/botonic-react/tsconfig.json | 14 ++--- 6 files changed, 37 insertions(+), 52 deletions(-) rename packages/botonic-react/src/assets/{index-types.ts => types.d.ts} (100%) diff --git a/packages/botonic-react/babel.config.js b/packages/botonic-react/babel.config.js index 05bbdb8a6b..967e2f0e10 100644 --- a/packages/botonic-react/babel.config.js +++ b/packages/botonic-react/babel.config.js @@ -24,8 +24,6 @@ module.exports = { '@babel/preset-typescript', ], plugins: [ - require('@babel/plugin-proposal-object-rest-spread'), - require('@babel/plugin-proposal-class-properties'), require('babel-plugin-add-module-exports'), require('@babel/plugin-transform-runtime'), ], diff --git a/packages/botonic-react/jest.config.js b/packages/botonic-react/jest.config.js index 92feaba95a..7c01b5f892 100644 --- a/packages/botonic-react/jest.config.js +++ b/packages/botonic-react/jest.config.js @@ -1,8 +1,8 @@ // Options about JS are for compiling @botonic .js/jsx files /** @type {import('jest').Config} */ module.exports = { - roots: ['src/', 'tests/'], - preset: './node_modules/@babel/preset-typescript', + roots: ['', 'src/', 'tests/'], + preset: '../../node_modules/@babel/preset-typescript', testRegex: '(/tests/.*|(\\.|/)(test|spec))\\.(js|jsx)$', testPathIgnorePatterns: [ 'lib', @@ -17,10 +17,12 @@ module.exports = { ], moduleFileExtensions: ['js', 'jsx', 'json', 'ts', 'tsx'], snapshotSerializers: [], - modulePaths: ['node_modules', 'src'], + moduleDirectories: ['','node_modules', 'src'], + modulePaths: ['','node_modules', 'src'], moduleNameMapper: { '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '/tests/__mocks__/file-mock.js', '\\.(css|less|scss|sass)$': 'identity-obj-proxy', }, +projects: ["../../packages/botonic-core"], } diff --git a/packages/botonic-react/package.json b/packages/botonic-react/package.json index 146adb55cc..4836cfd930 100644 --- a/packages/botonic-react/package.json +++ b/packages/botonic-react/package.json @@ -1,42 +1,29 @@ { "name": "@botonic/react", - "version": "0.24.5", + "version": "0.25.0-alpha.4", "license": "MIT", "description": "Build Chatbots using React", "main": "./lib/cjs", "module": "./lib/esm", "types": "./lib/cjs/index.d.ts", "scripts": { - "test:no-coverage": "./node_modules/.bin/jest -c ./jest.config.js", - "test": "./node_modules/.bin/jest -c ./jest.config.js --coverage", + "test:no-coverage": "../../node_modules/.bin/jest -c ./jest.config.js", + "test": "../../node_modules/.bin/jest -c ./jest.config.js --coverage", "cloc": "../../scripts/qa/cloc-package.sh .", "prepublishOnly": "npm run clean; npm run build; npm run copy-files;", "prepare": "node ../../preinstall.js;", "clean": "rm -rf ./lib/", "copy-files": "copyfiles -u 1 src/**/*.svg src/**/*.png src/**/*.scss src/**/*.html lib/esm/; copyfiles -u 1 src/**/*.svg src/**/*.png src/**/*.scss src/**/*.html lib/cjs/;", - "build": "./node_modules/.bin/tsc -p tsconfig.json && ./node_modules/.bin/tsc -p tsconfig.esm.json", + "build": "../../node_modules/.bin/tsc -p tsconfig.json && ../../node_modules/.bin/tsc -p tsconfig.esm.json", "build:watch": "npm run build -- --watch", "prettier": "../../node_modules/.bin/prettier --no-error-on-unmatched-pattern --write '**/*.md' '**/*.css' '.*.js' '*.js{,on}'", "lint": "npm run prettier; npm run lint_core -- --fix", "lint_ci": "npm run lint_core", "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet '.*.js' '*.js' 'src/**/*.js*' --fix" }, - "sideEffects": [ - "*.scss", - "*.css", - "*.sass" - ], - "author": "", - "files": [ - "src/**", - "lib/**", - "index.d.ts", - "MIGRATION_GUIDE.md", - "README.md" - ], "dependencies": { - "@botonic/core": "0.24.0", - "axios": "^1.6.0", + "@botonic/core": "^0.25.0-alpha.2", + "axios": "^1.6.7", "emoji-picker-react": "^4.4.9", "framer-motion": "^3.1.1", "he": "^1.2.0", @@ -59,32 +46,34 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@babel/cli": "^7.21.5", - "@babel/core": "^7.21.8", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-transform-runtime": "^7.21.4", - "@babel/preset-env": "^7.21.5", "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.23.0", "@testing-library/react": "^12.0.0", "@testing-library/react-hooks": "^8.0.1", "@types/jest": "^29.5.1", "@types/parse5": "^7.0.0", - "@types/react": "16.14.43", - "babel-plugin-add-module-exports": "^1.0.4", + "@types/react": "^16.14.56", "copyfiles": "^2.4.1", "identity-obj-proxy": "^3.0.0", "intersection-observer": "^0.12.2", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.7.0", "react-test-renderer": "^16.14.0", - "ts-jest": "^29.1.0", "typescript": "5.0.4" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, + "sideEffects": [ + "*.scss", + "*.css", + "*.sass" + ], + "author": "", + "files": [ + "src/**", + "lib/**", + "index.d.ts", + "MIGRATION_GUIDE.md", + "README.md" + ], "keywords": [ "bot-framework", "chatbot", diff --git a/packages/botonic-react/src/assets/index-types.ts b/packages/botonic-react/src/assets/types.d.ts similarity index 100% rename from packages/botonic-react/src/assets/index-types.ts rename to packages/botonic-react/src/assets/types.d.ts diff --git a/packages/botonic-react/tsconfig.esm.json b/packages/botonic-react/tsconfig.esm.json index f0de52895f..8bffb78cf7 100644 --- a/packages/botonic-react/tsconfig.esm.json +++ b/packages/botonic-react/tsconfig.esm.json @@ -1,11 +1,11 @@ { - "extends": "./tsconfig.json", - + "extends": "../../tsconfig.esm.base.json", "compilerOptions": { "baseUrl": ".", "outDir": "./lib/esm", - "target": "ES2017", - "module": "ES2022", - "skipLibCheck": true - } + "allowJs": true, + "jsx": "react-jsx" + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.js", "src/**/*.jsx"], + "exclude": ["tests/**/*"] } diff --git a/packages/botonic-react/tsconfig.json b/packages/botonic-react/tsconfig.json index 800d01105c..19e862da5a 100644 --- a/packages/botonic-react/tsconfig.json +++ b/packages/botonic-react/tsconfig.json @@ -1,15 +1,11 @@ { - "extends": "../../tsconfig.base.json", - "include": ["src/"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { - "sourceRoot": "src", "baseUrl": ".", "outDir": "./lib/cjs", "allowJs": true, - "esModuleInterop": true, - "skipLibCheck": true, - "moduleResolution": "nodenext", - "jsx": "react-jsx", - "lib": ["ES2021.String"] - } + "jsx": "react-jsx" + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.js", "src/**/*.jsx"], + "exclude": ["tests/**/*"] } From 11da6ed669973c3ebf2b07e65d1b0caf1a29901f Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:54:48 +0100 Subject: [PATCH 11/46] chore(plugin-flow-builder): update plugin-flow-builder to Node20 using the monorepo --- .../botonic-plugin-flow-builder/package.json | 18 ++++++------------ .../botonic-plugin-flow-builder/src/index.ts | 5 ++--- .../tsconfig.esm.json | 19 +++++++++---------- .../botonic-plugin-flow-builder/tsconfig.json | 13 +++++-------- 4 files changed, 22 insertions(+), 33 deletions(-) diff --git a/packages/botonic-plugin-flow-builder/package.json b/packages/botonic-plugin-flow-builder/package.json index ffcb204de1..1511a67621 100644 --- a/packages/botonic-plugin-flow-builder/package.json +++ b/packages/botonic-plugin-flow-builder/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/plugin-flow-builder", - "version": "0.24.6", + "version": "0.25.0-alpha.4", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", "description": "Use Flow Builder to show your contents", @@ -15,6 +15,10 @@ "lint_ci": "npm run lint_core -- -c ../.eslintrc_slow.js", "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'" }, + "dependencies": { + "@botonic/react": "0.25.0-alpha.4", + "axios": "^1.6.7" + }, "repository": { "type": "git", "url": "git+https://github.com/hubtype/botonic.git" @@ -28,13 +32,8 @@ "src/**", "README.md" ], - "devDependencies": { - "@types/minipass": "^3.3.5", - "@types/node": "^18.16.0", - "@types/react": "^16.14.55" - }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, "keywords": [ "bot-framework", @@ -47,10 +46,5 @@ "eslintConfig": { "extends": "../.eslintrc.js", "root": true - }, - "dependencies": { - "@babel/runtime": "^7.23.8", - "@botonic/react": "0.24.4", - "axios": "^1.6.5" } } diff --git a/packages/botonic-plugin-flow-builder/src/index.ts b/packages/botonic-plugin-flow-builder/src/index.ts index 0fbde62932..00a413f8c9 100644 --- a/packages/botonic-plugin-flow-builder/src/index.ts +++ b/packages/botonic-plugin-flow-builder/src/index.ts @@ -185,9 +185,8 @@ export default class BotonicPluginFlowBuilder implements Plugin { }, ...nameValues ) - const functionResult = await this.functions[functionNode.content.action]( - args - ) + const functionResult = + await this.functions[functionNode.content.action](args) // TODO define result_mapping per locale?? const result = functionNode.content.result_mapping.find( r => r.result === functionResult diff --git a/packages/botonic-plugin-flow-builder/tsconfig.esm.json b/packages/botonic-plugin-flow-builder/tsconfig.esm.json index fd8714e4f8..7e705827ab 100644 --- a/packages/botonic-plugin-flow-builder/tsconfig.esm.json +++ b/packages/botonic-plugin-flow-builder/tsconfig.esm.json @@ -1,11 +1,10 @@ { - "extends": "./tsconfig.json", - "include": ["src/"], - "compilerOptions": { - "baseUrl": ".", - "outDir": "./lib/esm", - "target": "ES2017", - "module": "ES2020", - "moduleResolution": "node" - } - } \ No newline at end of file + "extends": "../../tsconfig.esm.base.json", + "compilerOptions": { + "jsx": "react-jsx", + "experimentalDecorators": true, + "baseUrl": ".", + "outDir": "./lib/esm" + }, + "include": ["src/"] +} diff --git a/packages/botonic-plugin-flow-builder/tsconfig.json b/packages/botonic-plugin-flow-builder/tsconfig.json index 2535286b5c..131529e0e1 100644 --- a/packages/botonic-plugin-flow-builder/tsconfig.json +++ b/packages/botonic-plugin-flow-builder/tsconfig.json @@ -1,13 +1,10 @@ { - "extends": "../../tsconfig.base.json", - "include": ["src/"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { - "jsx": "react", + "jsx": "react-jsx", "experimentalDecorators": true, "baseUrl": ".", - "outDir": "./lib/cjs", - "esModuleInterop": true, - "lib": ["es2015"], - "skipLibCheck": true - } + "outDir": "./lib/cjs" + }, + "include": ["src/"] } From 6f759e7ef4100a0d52c5d75bd8cd63cf399689b1 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:55:49 +0100 Subject: [PATCH 12/46] chore(plugin-knowledge-bases): update plugin-knowledge-bases to Node20 using the monorepo --- .../package.json | 20 +++++++++---------- .../tsconfig.esm.json | 17 +++++++--------- .../tsconfig.json | 14 +++++-------- 3 files changed, 22 insertions(+), 29 deletions(-) diff --git a/packages/botonic-plugin-knowledge-bases/package.json b/packages/botonic-plugin-knowledge-bases/package.json index aadeba4ef0..ad3f959e80 100644 --- a/packages/botonic-plugin-knowledge-bases/package.json +++ b/packages/botonic-plugin-knowledge-bases/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/plugin-knowledge-bases", - "version": "0.24.1", + "version": "0.25.0-alpha.1", "description": "Use a Hubtype to make the bot respond through a knowledge base.", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -14,8 +14,16 @@ "lint_ci": "npm run lint_core -- -c ../.eslintrc_slow.js", "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'" }, + "dependencies": { + "@babel/runtime": "^7.22.5", + "@botonic/core": "0.25.0-alpha.2", + "axios": "^1.6.7" + }, + "devDependencies": { + "@types/node": "^20.11.16" + }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, "repository": { "type": "git", @@ -27,14 +35,6 @@ "src/**", "README.md" ], - "dependencies": { - "@babel/runtime": "^7.22.5", - "@botonic/core": "0.24.0", - "axios": "^1.6.0" - }, - "devDependencies": { - "@types/node": "^18.16.0" - }, "keywords": [ "bot-framework", "chatbot", diff --git a/packages/botonic-plugin-knowledge-bases/tsconfig.esm.json b/packages/botonic-plugin-knowledge-bases/tsconfig.esm.json index fd8714e4f8..d20d63589f 100644 --- a/packages/botonic-plugin-knowledge-bases/tsconfig.esm.json +++ b/packages/botonic-plugin-knowledge-bases/tsconfig.esm.json @@ -1,11 +1,8 @@ { - "extends": "./tsconfig.json", - "include": ["src/"], - "compilerOptions": { - "baseUrl": ".", - "outDir": "./lib/esm", - "target": "ES2017", - "module": "ES2020", - "moduleResolution": "node" - } - } \ No newline at end of file + "extends": "../../tsconfig.esm.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./lib/esm" + }, + "include": ["src/"] +} diff --git a/packages/botonic-plugin-knowledge-bases/tsconfig.json b/packages/botonic-plugin-knowledge-bases/tsconfig.json index a4146ca846..d5e1f265ed 100644 --- a/packages/botonic-plugin-knowledge-bases/tsconfig.json +++ b/packages/botonic-plugin-knowledge-bases/tsconfig.json @@ -1,12 +1,8 @@ { - "extends": "../../tsconfig.base.json", - "include": ["src/"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { - "experimentalDecorators": true, "baseUrl": ".", - "outDir": "./lib/cjs", - "esModuleInterop": true, - "lib": ["es2015"], - "skipLibCheck": true, - } -} \ No newline at end of file + "outDir": "./lib/cjs" + }, + "include": ["src/"] +} From 5f1306104064e181020c7f9a17324d43d0a04da3 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:56:21 +0100 Subject: [PATCH 13/46] chore(plugin-hubtype-babel): update plugin-hubtype-babel to Node20 using the monorepo --- .../botonic-plugin-hubtype-babel/package.json | 34 +++++++++---------- .../tsconfig.esm.json | 17 ++++------ .../tsconfig.json | 14 +++----- 3 files changed, 29 insertions(+), 36 deletions(-) diff --git a/packages/botonic-plugin-hubtype-babel/package.json b/packages/botonic-plugin-hubtype-babel/package.json index 24744286f6..d45d3d81d0 100644 --- a/packages/botonic-plugin-hubtype-babel/package.json +++ b/packages/botonic-plugin-hubtype-babel/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/plugin-hubtype-babel", - "version": "0.24.0", + "version": "0.25.0-alpha.0", "license": "MIT", "description": "Use Hubtype Babel to predict Intents.", "main": "./lib/cjs/index.js", @@ -16,22 +16,9 @@ "lint_ci": "npm run lint_core -- -c ../.eslintrc_slow.js", "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'" }, - "repository": { - "type": "git", - "url": "git+https://github.com/hubtype/botonic.git" - }, - "author": "", - "bugs": { - "url": "https://github.com/hubtype/botonic/issues" - }, - "files": [ - "lib/**", - "src/**", - "README.md" - ], "dependencies": { "@babel/runtime": "^7.22.5", - "@botonic/core": "^0.24.0", + "@botonic/core": "^0.25.0-alpha.2", "axios": "^1.6.0", "process": "^0.11.10" }, @@ -40,10 +27,22 @@ "@types/node": "^18.16.0", "typescript": "^4.5.4" }, - "homepage": "https://github.com/hubtype/botonic#readme", "engines": { - "node": ">=10.0.0" + "node": ">=20.0.0" }, + "author": "", + "repository": { + "type": "git", + "url": "git+https://github.com/hubtype/botonic.git" + }, + "bugs": { + "url": "https://github.com/hubtype/botonic/issues" + }, + "files": [ + "lib/**", + "src/**", + "README.md" + ], "keywords": [ "bot-framework", "chatbot", @@ -54,6 +53,7 @@ "conversational-ui", "javascript" ], + "homepage": "https://github.com/hubtype/botonic#readme", "eslintConfig": { "extends": "../.eslintrc.js", "root": true diff --git a/packages/botonic-plugin-hubtype-babel/tsconfig.esm.json b/packages/botonic-plugin-hubtype-babel/tsconfig.esm.json index fd8714e4f8..d20d63589f 100644 --- a/packages/botonic-plugin-hubtype-babel/tsconfig.esm.json +++ b/packages/botonic-plugin-hubtype-babel/tsconfig.esm.json @@ -1,11 +1,8 @@ { - "extends": "./tsconfig.json", - "include": ["src/"], - "compilerOptions": { - "baseUrl": ".", - "outDir": "./lib/esm", - "target": "ES2017", - "module": "ES2020", - "moduleResolution": "node" - } - } \ No newline at end of file + "extends": "../../tsconfig.esm.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./lib/esm" + }, + "include": ["src/"] +} diff --git a/packages/botonic-plugin-hubtype-babel/tsconfig.json b/packages/botonic-plugin-hubtype-babel/tsconfig.json index a4146ca846..d5e1f265ed 100644 --- a/packages/botonic-plugin-hubtype-babel/tsconfig.json +++ b/packages/botonic-plugin-hubtype-babel/tsconfig.json @@ -1,12 +1,8 @@ { - "extends": "../../tsconfig.base.json", - "include": ["src/"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { - "experimentalDecorators": true, "baseUrl": ".", - "outDir": "./lib/cjs", - "esModuleInterop": true, - "lib": ["es2015"], - "skipLibCheck": true, - } -} \ No newline at end of file + "outDir": "./lib/cjs" + }, + "include": ["src/"] +} From 07613453f818c9d3d220fae67c3b6284248d3330 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Fri, 9 Feb 2024 16:57:04 +0100 Subject: [PATCH 14/46] chore(plugin-hubtype-analytics): update plugin-hubtype-analytics to Node20 using the monorepo --- .../botonic-plugin-hubtype-analytics/package.json | 8 ++++---- .../tsconfig.esm.json | 11 ++++------- .../botonic-plugin-hubtype-analytics/tsconfig.json | 13 ++++--------- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/packages/botonic-plugin-hubtype-analytics/package.json b/packages/botonic-plugin-hubtype-analytics/package.json index 5cf47c6ae5..c7681074fa 100644 --- a/packages/botonic-plugin-hubtype-analytics/package.json +++ b/packages/botonic-plugin-hubtype-analytics/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/plugin-hubtype-analytics", - "version": "0.24.0", + "version": "0.25.0-alpha.0", "description": "Plugin for tracking in the Hubtype backend to see the results in the Hubtype Dashbord", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -15,13 +15,13 @@ }, "dependencies": { "@babel/runtime": "^7.21.0", - "@botonic/core": "0.23.2", + "@botonic/core": "0.25.0-alpha.2", "axios": "^1.6.0" }, "devDependencies": { - "@types/node": "^16.11.7", + "@types/node": "^20.11.17", "@types/react": "^16.14.0", - "typescript": "^4.8.4" + "typescript": "^4.9.5" }, "files": [ "lib/**", diff --git a/packages/botonic-plugin-hubtype-analytics/tsconfig.esm.json b/packages/botonic-plugin-hubtype-analytics/tsconfig.esm.json index dc24471302..d20d63589f 100644 --- a/packages/botonic-plugin-hubtype-analytics/tsconfig.esm.json +++ b/packages/botonic-plugin-hubtype-analytics/tsconfig.esm.json @@ -1,11 +1,8 @@ { - "extends": "./tsconfig.json", - "include": ["src/"], + "extends": "../../tsconfig.esm.base.json", "compilerOptions": { "baseUrl": ".", - "outDir": "./lib/esm", - "target": "ES2017", - "module": "ES2020", - "moduleResolution": "node" - } + "outDir": "./lib/esm" + }, + "include": ["src/"] } diff --git a/packages/botonic-plugin-hubtype-analytics/tsconfig.json b/packages/botonic-plugin-hubtype-analytics/tsconfig.json index 2535286b5c..d5e1f265ed 100644 --- a/packages/botonic-plugin-hubtype-analytics/tsconfig.json +++ b/packages/botonic-plugin-hubtype-analytics/tsconfig.json @@ -1,13 +1,8 @@ { - "extends": "../../tsconfig.base.json", - "include": ["src/"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { - "jsx": "react", - "experimentalDecorators": true, "baseUrl": ".", - "outDir": "./lib/cjs", - "esModuleInterop": true, - "lib": ["es2015"], - "skipLibCheck": true - } + "outDir": "./lib/cjs" + }, + "include": ["src/"] } From 51193fa9ce97272e5587e109e2e8ea877058d31c Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 13 Feb 2024 15:14:03 +0100 Subject: [PATCH 15/46] chore(plugin-watson): update plugin-watson to Node20 using the monorepo --- packages/botonic-plugin-watson/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/botonic-plugin-watson/package.json b/packages/botonic-plugin-watson/package.json index bd3a02c88e..47bc6f4b60 100644 --- a/packages/botonic-plugin-watson/package.json +++ b/packages/botonic-plugin-watson/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/plugin-watson", - "version": "0.24.0", + "version": "0.25.0-alpha.0", "license": "MIT", "main": "src/index.js", "scripts": { @@ -12,8 +12,8 @@ "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.js'" }, "dependencies": { - "@babel/runtime": "^7.15.4", - "axios": "^1.6.0" + "@babel/runtime": "^7.23.9", + "axios": "^1.6.7" }, "devDependencies": {}, "keywords": [ From 47c90af903ec6f548b7e453b62497e2400d28e53 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 13 Feb 2024 15:14:28 +0100 Subject: [PATCH 16/46] chore(plugin-segment): update plugin-segment to Node20 using the monorepo --- packages/botonic-plugin-segment/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/botonic-plugin-segment/package.json b/packages/botonic-plugin-segment/package.json index 866cba73d3..b535d22511 100644 --- a/packages/botonic-plugin-segment/package.json +++ b/packages/botonic-plugin-segment/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/plugin-segment", - "version": "0.24.0", + "version": "0.25.0-alpha.0", "license": "MIT", "main": "src/index.js", "scripts": { @@ -12,7 +12,7 @@ "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.js'" }, "dependencies": { - "axios": "^1.6.0", + "axios": "^1.6.7", "btoa": "^1.2.1" }, "devDependencies": {}, From 68c90b7609f7cd1b69322e5db34e689ad1e33bb8 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 13 Feb 2024 15:14:43 +0100 Subject: [PATCH 17/46] chore(plugin-luis): update plugin-luis to Node20 using the monorepo --- packages/botonic-plugin-luis/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/botonic-plugin-luis/package.json b/packages/botonic-plugin-luis/package.json index 5cdd47a517..f84773efbe 100644 --- a/packages/botonic-plugin-luis/package.json +++ b/packages/botonic-plugin-luis/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/plugin-luis", - "version": "0.24.0", + "version": "0.25.0-alpha.0", "license": "MIT", "main": "src/index.js", "scripts": { @@ -12,7 +12,7 @@ "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.js'" }, "dependencies": { - "axios": "1.6.0" + "axios": "1.6.7" }, "devDependencies": { "@babel/runtime": "^7.5.5" From b7f5da8ac6b3ceb1bdbfc6de871abe1513a99378 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 13 Feb 2024 15:15:01 +0100 Subject: [PATCH 18/46] chore(plugin-inbenta): update plugin-inbenta to Node20 using the monorepo --- packages/botonic-plugin-inbenta/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/botonic-plugin-inbenta/package.json b/packages/botonic-plugin-inbenta/package.json index 6d351e29bf..5a44246485 100644 --- a/packages/botonic-plugin-inbenta/package.json +++ b/packages/botonic-plugin-inbenta/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/plugin-inbenta", - "version": "0.24.0", + "version": "0.25.0-alpha.0", "license": "MIT", "main": "src/index.js", "scripts": { @@ -11,7 +11,7 @@ "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.js'" }, "dependencies": { - "axios": "^1.6.0" + "axios": "^1.6.7" }, "devDependencies": {}, "keywords": [ From bd726bd923765727f10ca0ffc18dc2b46268f18b Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 13 Feb 2024 16:56:20 +0100 Subject: [PATCH 19/46] chore(plugin-google-analytics): update plugin-google-analytics to Node20 using the monorepo --- .../package.json | 8 ++++---- .../src/index.ts | 9 +++++---- .../tsconfig.base.json | 19 ------------------- .../tsconfig.esm.json | 17 +++++++---------- .../tsconfig.json | 14 +++++--------- 5 files changed, 21 insertions(+), 46 deletions(-) delete mode 100644 packages/botonic-plugin-google-analytics/tsconfig.base.json diff --git a/packages/botonic-plugin-google-analytics/package.json b/packages/botonic-plugin-google-analytics/package.json index b0d03eaf39..b70d7c5825 100644 --- a/packages/botonic-plugin-google-analytics/package.json +++ b/packages/botonic-plugin-google-analytics/package.json @@ -1,11 +1,11 @@ { "name": "@botonic/plugin-google-analytics", - "version": "0.24.0", + "version": "0.25.0-alpha.0", "license": "MIT", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", "scripts": { - "build": "rm -rf lib && ../../node_modules/.bin/tsc -p tsconfig.json && ../../node_modules/.bin/tsc -p tsconfig.esm.json", + "build": "../../node_modules/.bin/tsc -p tsconfig.json && ../../node_modules/.bin/tsc -p tsconfig.esm.json", "test": "../../node_modules/.bin/jest --coverage", "prepare": "node ../../preinstall.js", "prepublishOnly": "rm -rf lib && npm run build", @@ -16,10 +16,10 @@ "lint_core": "../../node_modules/.bin/eslint_d --quiet 'src/**/*.ts'" }, "dependencies": { - "@botonic/core": "^0.24.0", - "axios": "^1.6.0" + "axios": "^1.6.7" }, "devDependencies": { + "@botonic/core": "0.25.0-alpha.2", "@types/node": "^18.14.1", "typescript": "^4.9.5" }, diff --git a/packages/botonic-plugin-google-analytics/src/index.ts b/packages/botonic-plugin-google-analytics/src/index.ts index a73ac4e3ee..176f875ba9 100644 --- a/packages/botonic-plugin-google-analytics/src/index.ts +++ b/packages/botonic-plugin-google-analytics/src/index.ts @@ -1,11 +1,11 @@ -import { PluginPostRequest, PluginPreRequest, Session } from '@botonic/core' +import { Plugin, PluginPostRequest, Session } from '@botonic/core' import axios from 'axios' import { GA4Event, GA4Options } from './types' const defaultGetClientId = (session: Session) => session.user.id -export default class BotonicPluginGoogleAnalytics4 { +export default class BotonicPluginGoogleAnalytics4 implements Plugin { private baseUrl = 'https://www.google-analytics.com/mp/collect' private apiSecret: string private measurementId: string @@ -19,8 +19,9 @@ export default class BotonicPluginGoogleAnalytics4 { this.getClientId = options.getClientId || defaultGetClientId } - pre(_request: PluginPreRequest): void {} - post(_request: PluginPostRequest): void {} + post(_request: PluginPostRequest): void { + return + } public async track( session: Session, diff --git a/packages/botonic-plugin-google-analytics/tsconfig.base.json b/packages/botonic-plugin-google-analytics/tsconfig.base.json deleted file mode 100644 index 27de99656c..0000000000 --- a/packages/botonic-plugin-google-analytics/tsconfig.base.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "es2017", - "module": "commonjs", - "declaration": true, - "sourceMap": true, - "strict": true, - "noUnusedLocals": false, - "noUnusedParameters": true, - "noImplicitReturns": false, - "noFallthroughCasesInSwitch": true, - "forceConsistentCasingInFileNames": true, - "strictPropertyInitialization": false, - "importHelpers": true, - "noImplicitAny": false, - "outDir": "./lib", - "pretty": true - } -} diff --git a/packages/botonic-plugin-google-analytics/tsconfig.esm.json b/packages/botonic-plugin-google-analytics/tsconfig.esm.json index fd8714e4f8..d20d63589f 100644 --- a/packages/botonic-plugin-google-analytics/tsconfig.esm.json +++ b/packages/botonic-plugin-google-analytics/tsconfig.esm.json @@ -1,11 +1,8 @@ { - "extends": "./tsconfig.json", - "include": ["src/"], - "compilerOptions": { - "baseUrl": ".", - "outDir": "./lib/esm", - "target": "ES2017", - "module": "ES2020", - "moduleResolution": "node" - } - } \ No newline at end of file + "extends": "../../tsconfig.esm.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./lib/esm" + }, + "include": ["src/"] +} diff --git a/packages/botonic-plugin-google-analytics/tsconfig.json b/packages/botonic-plugin-google-analytics/tsconfig.json index a4146ca846..d5e1f265ed 100644 --- a/packages/botonic-plugin-google-analytics/tsconfig.json +++ b/packages/botonic-plugin-google-analytics/tsconfig.json @@ -1,12 +1,8 @@ { - "extends": "../../tsconfig.base.json", - "include": ["src/"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { - "experimentalDecorators": true, "baseUrl": ".", - "outDir": "./lib/cjs", - "esModuleInterop": true, - "lib": ["es2015"], - "skipLibCheck": true, - } -} \ No newline at end of file + "outDir": "./lib/cjs" + }, + "include": ["src/"] +} From c1583335e6a35548524bf9b7d3b56907c965ebe1 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 13 Feb 2024 17:08:38 +0100 Subject: [PATCH 20/46] chore(plugin-dialowflow): update plugin-dialogflow to Node20 using the monorepo --- .../package-lock.json | 423 ------------------ .../botonic-plugin-dialogflow/package.json | 17 +- .../botonic-plugin-dialogflow/src/index.ts | 6 +- .../botonic-plugin-dialogflow/src/types.ts | 2 - .../tsconfig.esm.json | 9 + .../botonic-plugin-dialogflow/tsconfig.json | 36 +- 6 files changed, 25 insertions(+), 468 deletions(-) delete mode 100644 packages/botonic-plugin-dialogflow/package-lock.json create mode 100644 packages/botonic-plugin-dialogflow/tsconfig.esm.json diff --git a/packages/botonic-plugin-dialogflow/package-lock.json b/packages/botonic-plugin-dialogflow/package-lock.json deleted file mode 100644 index a770678748..0000000000 --- a/packages/botonic-plugin-dialogflow/package-lock.json +++ /dev/null @@ -1,423 +0,0 @@ -{ - "name": "@botonic/plugin-dialogflow", - "version": "0.23.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@botonic/core": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@botonic/core/-/core-0.23.0.tgz", - "integrity": "sha512-gpcltwKbM91sZyaxI7oPWBtd0/wcC6JPXagJSPT6omL3MbfZuI0WV1EGIX8myOUpYpgPX2rN3TjB7OwGZ7pHtw==", - "requires": { - "aws-sdk": "^2.1404.0", - "axios": "^1.4.0", - "decode": "^0.3.0", - "dynamodb-toolbox": "^0.3.4", - "fast-xml-parser": "^3.19.0", - "html-entities": "^2.4.0", - "node-json-db": "^1.6.0", - "pako": "^2.1.0", - "process": "^0.11.10", - "pusher-js": "^5.1.1", - "ulid": "^2.3.0" - }, - "dependencies": { - "axios": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", - "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - } - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1441.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1441.0.tgz", - "integrity": "sha512-qMmFt7jyBoe9HsS0o9YoY/zGfURM/rD8DYR1VFzsJKKb8UMnjZrUfDX+fb+rQKK1WLp0+k9dBVFhU09EcSJTKQ==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - }, - "dependencies": { - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - } - } - }, - "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "core-js": { - "version": "3.32.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.1.tgz", - "integrity": "sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==", - "dev": true - }, - "decode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/decode/-/decode-0.3.0.tgz", - "integrity": "sha512-EObmIlvteR80byfLOe5S6XsxD1HFs0kDUVaQ+9pSj3o/gnzPh6YB86iXEZLj2ShALRF6N6fSIRjAFv5sKp6evg==", - "requires": { - "kung-fu": "^0.2.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "dynamodb-toolbox": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/dynamodb-toolbox/-/dynamodb-toolbox-0.3.5.tgz", - "integrity": "sha512-UNuBwTwJwWIZQLz+STdl3xeJyxqk0vMxieUD1AO7VEpbYvGGrLxuvJzzK1ng8Gak0e8xHZlcapuj6a5Zl5pqUw==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "requires": { - "strnum": "^1.0.4" - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "jsrsasign": { - "version": "10.8.6", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.8.6.tgz", - "integrity": "sha512-bQmbVtsfbgaKBTWCKiDCPlUPbdlRIK/FzSwT3BzIgZl/cU6TqXu6pZJsCI/dJVrZ9Gir5GC4woqw9shH/v7MBw==" - }, - "kung-fu": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/kung-fu/-/kung-fu-0.2.1.tgz", - "integrity": "sha512-aVHQku/PdKruvKwQ5r8zsCtIPeNz3nwM+o1RPoS+jR7rdE6mCla5GVIqSCWJ8ATYlajaAmaMh/qxczFQ//MW8g==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "node-json-db": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-json-db/-/node-json-db-1.6.0.tgz", - "integrity": "sha512-Cpvuqejlx354aH5d1uqK9KB0/LOKslnexqgOrhgCqcvvzJ0I2hrAEA7eIct6hRqS9gxnuge+eXqd++za87tchA==", - "requires": { - "mkdirp": "~1.0.4" - } - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "pusher-js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-5.1.1.tgz", - "integrity": "sha512-f2tdoA7NvJQkU8Y/iCH25ZSNGxnwCXrVbwos38isX6gnjsSZ1aksWvyZddm2N0sHJWyl+oPBz/MzU5cevVDyEQ==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - } - } -} diff --git a/packages/botonic-plugin-dialogflow/package.json b/packages/botonic-plugin-dialogflow/package.json index 595d4d12ef..e3768256ce 100644 --- a/packages/botonic-plugin-dialogflow/package.json +++ b/packages/botonic-plugin-dialogflow/package.json @@ -1,11 +1,11 @@ { "name": "@botonic/plugin-dialogflow", - "version": "0.23.0", + "version": "0.25.0-alpha.0", "license": "MIT", "main": "lib/index.js", "types": "lib/index.d.ts", "scripts": { - "build": "rm -rf lib && ../../node_modules/.bin/tsc", + "build": "rm -rf lib && ../../node_modules/.bin/tsc -p tsconfig.json && ../../node_modules/.bin/tsc -p tsconfig.esm.json", "cloc": "../../scripts/qa/cloc-package.sh .", "prepare": "node ../../preinstall.js", "test": "../../node_modules/.bin/jest --coverage", @@ -15,14 +15,15 @@ "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts'" }, "dependencies": { - "@babel/runtime": "^7.22.5", - "@botonic/core": "0.23.0", - "axios": "0.24.0", - "jsrsasign": "^10.4.0", - "uuid": "^8.1.0" + "@babel/runtime": "^7.23.9", + "axios": "^1.6.7", + "jsrsasign": "^10.9.0", + "uuid": "^8.3.2" }, "devDependencies": { - "core-js": "^3.1.4" + "@botonic/core": "0.25.0-alpha.2", + "@types/jsrsasign": "^10.5.12", + "core-js": "^3.35.1" }, "keywords": [ "bot-framework", diff --git a/packages/botonic-plugin-dialogflow/src/index.ts b/packages/botonic-plugin-dialogflow/src/index.ts index 42cf8540bf..eaa84ed521 100644 --- a/packages/botonic-plugin-dialogflow/src/index.ts +++ b/packages/botonic-plugin-dialogflow/src/index.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/named import { BotRequest } from '@botonic/core' import axios, { AxiosResponse } from 'axios' import { KJUR } from 'jsrsasign' @@ -52,8 +51,7 @@ export default class BotonicPluginDialogflow { sub: creds.client_email, iat: KJUR.jws.IntDate.get('now'), exp: KJUR.jws.IntDate.get('now + 1hour'), - aud: - 'https://dialogflow.googleapis.com/google.cloud.dialogflow.v2.Sessions', + aud: 'https://dialogflow.googleapis.com/google.cloud.dialogflow.v2.Sessions', } const stringHeader = JSON.stringify(header) const stringPayload = JSON.stringify(payload) @@ -99,7 +97,7 @@ export default class BotonicPluginDialogflow { let defaultFallback = '' let dialogflowResponse: AxiosResponse - const queryData = request.input.data || request.input.payload || null + const queryData = request.input.data || request.input.payload || '' dialogflowResponse = await this.query(queryData) const queryResult = dialogflowResponse.data.queryResult intent = queryResult.intent.displayName diff --git a/packages/botonic-plugin-dialogflow/src/types.ts b/packages/botonic-plugin-dialogflow/src/types.ts index 17b859c558..59e95def70 100644 --- a/packages/botonic-plugin-dialogflow/src/types.ts +++ b/packages/botonic-plugin-dialogflow/src/types.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention */ //Dialogflow types export interface Credentials { private_key_id: string @@ -9,6 +8,5 @@ export interface Credentials { export type Options = { credentials: Credentials - /* eslint-disable-next-line @typescript-eslint/no-explicit-any */ queryData?: Record } diff --git a/packages/botonic-plugin-dialogflow/tsconfig.esm.json b/packages/botonic-plugin-dialogflow/tsconfig.esm.json new file mode 100644 index 0000000000..5efdafe75f --- /dev/null +++ b/packages/botonic-plugin-dialogflow/tsconfig.esm.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.esm.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./lib/esm" + }, + "include": ["src/**/*.ts"], + "exclude": ["tests", "lib"] +} diff --git a/packages/botonic-plugin-dialogflow/tsconfig.json b/packages/botonic-plugin-dialogflow/tsconfig.json index d5683cfac0..ea8829789c 100644 --- a/packages/botonic-plugin-dialogflow/tsconfig.json +++ b/packages/botonic-plugin-dialogflow/tsconfig.json @@ -1,35 +1,9 @@ { - // start of path dependent configuration - "include": ["src/**/*.ts", "src/**/*.tsx"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { - "allowUnreachableCode": false, - "baseUrl": "src", - "paths": { - "*": ["src/*", "lib/src/*", "types/*"] - }, - "rootDir": "src", - // end of path dependent configuration - "outDir": "lib", - "declaration": true, - "declarationDir": "lib", - "sourceMap": true, - "target": "es2015", - "module": "commonjs", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - // without typeRoots, it also checks @types of parent folders - //"typeRoots" : ["node_modules/@types"], - - // lint options - //"strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedLocals": true + "baseUrl": ".", + "outDir": "./lib/cjs" }, - // test options - "types": [ - // @types/node must be a direct dependency. If only defined in a parent package.json, we get TSC errors for - // symbols from these libs: "ES2016.Array.Include", "ES2017.object" - "@types/jest" - ] + "include": ["src/**/*.ts"], + "exclude": ["tests", "lib"] } From 0ac5505fb5d1ce585be926b093b3f247bd480d2b Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 13 Feb 2024 17:19:47 +0100 Subject: [PATCH 21/46] chore(plugin-dynamodb): update plugin-dynamodb to Node20 using the monorepo --- .../botonic-plugin-dynamodb/jest.config.js | 12 ++--- packages/botonic-plugin-dynamodb/package.json | 45 ++++++++++--------- packages/botonic-plugin-dynamodb/src/index.ts | 13 +++--- .../src/infrastructure/dynamo.ts | 4 +- .../tests/domain/track.test.ts | 26 ++++------- .../botonic-plugin-dynamodb/tsconfig.esm.json | 18 ++++++++ .../botonic-plugin-dynamodb/tsconfig.json | 29 +++--------- 7 files changed, 70 insertions(+), 77 deletions(-) create mode 100644 packages/botonic-plugin-dynamodb/tsconfig.esm.json diff --git a/packages/botonic-plugin-dynamodb/jest.config.js b/packages/botonic-plugin-dynamodb/jest.config.js index 7187b13759..33eecac13f 100644 --- a/packages/botonic-plugin-dynamodb/jest.config.js +++ b/packages/botonic-plugin-dynamodb/jest.config.js @@ -1,12 +1,12 @@ module.exports = { roots: ['src/', 'tests/'], transform: { - '^.+\\.tsx?$': 'ts-jest', - }, - globals: { - 'ts-jest': { - tsconfig: '/tests/tsconfig.json', - }, + '^.+\\.tsx?$': [ + 'ts-jest', + { + tsconfig: '/tests/tsconfig.json', + }, + ], }, preset: 'ts-jest', // regex works fine with "find tests | egrep ..." but incorrectly gets files with names without 'test' or 'spec diff --git a/packages/botonic-plugin-dynamodb/package.json b/packages/botonic-plugin-dynamodb/package.json index 0e2a4da10d..4988aed6b5 100644 --- a/packages/botonic-plugin-dynamodb/package.json +++ b/packages/botonic-plugin-dynamodb/package.json @@ -1,6 +1,11 @@ { + "name": "@botonic/plugin-dynamodb", + "version": "0.25.0-alpha.0", + "main": "lib/cjs/index.js", + "module": "lib/esm/index.js", + "types": "lib/index.d.ts", "scripts": { - "build": "rm -rf lib && ../../node_modules/.bin/tsc", + "build": "../../node_modules/.bin/tsc -p tsconfig.json && ../../node_modules/.bin/tsc -p tsconfig.esm.json", "build_unit_tests": "tsc -b tests/tsconfig.json", "test": "../../node_modules/.bin/jest --coverage", "cloc": "../../scripts/qa/cloc-package.sh .", @@ -9,37 +14,35 @@ "lint_ci": "npm run lint_core -- -c ../.eslintrc_slow.js", "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet '*.js' 'src/**/*.ts*' 'tests/**/*.ts*'", "prepare": "node ../../preinstall.js", - "prepublishOnly": "npm run lint_ci && npm run build && npm test", + "prepublishOnly": "npm run lint_ci && rm -rf lib && npm run build && npm run test", "preversion": "npm run lint", "version": "git add -A src tests", "postversion": "git push && git push --tags" }, - "name": "@botonic/plugin-dynamodb", - "version": "0.24.0", - "license": "MIT", - "main": "lib/index.js", - "types": "lib/index.d.ts", - "repository": { - "type": "git", - "url": "git+https://github.com/hubtype/botonic.git" - }, - "author": "", - "files": [ - "lib/**", - "doc/**", - "README.md" - ], "dependencies": { "@aws/dynamodb-data-mapper": "^0.7.3", "@aws/dynamodb-data-mapper-annotations": "^0.7.3", - "@babel/runtime": "^7.22.5", - "aws-sdk": "2.1404.0" + "@babel/runtime": "^7.23.9", + "aws-sdk": "^2.1554.0" }, "devDependencies": { - "@types/node": "20.5.1" + "@botonic/core": "0.25.0-alpha.2", + "@types/aws-sdk": "^2.7.0", + "@types/node": "20.11.17" }, + "author": "", "engines": { - "node": ">=12.0.0" + "node": ">=20.0.0" + }, + "files": [ + "lib/**", + "doc/**", + "README.md" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/hubtype/botonic.git" }, "keywords": [ "aws", diff --git a/packages/botonic-plugin-dynamodb/src/index.ts b/packages/botonic-plugin-dynamodb/src/index.ts index 5a257c1928..85e154f27c 100644 --- a/packages/botonic-plugin-dynamodb/src/index.ts +++ b/packages/botonic-plugin-dynamodb/src/index.ts @@ -1,5 +1,4 @@ -// Exports - +import { Plugin, PluginPostRequest } from '@botonic/core' import { DynamoDB } from 'aws-sdk' import { @@ -31,7 +30,7 @@ export interface DynamoDbOptions extends DynamoDB.ClientConfiguration { timeout?: number } -export default class BotonicPluginDynamoDB { +export default class BotonicPluginDynamoDB implements Plugin { readonly storage: TrackStorage constructor(opt: TrackOptions | DynamoDbOptions) { @@ -57,11 +56,9 @@ export default class BotonicPluginDynamoDB { return this.storage.write(track) } - // @ts-ignore - pre({ input, session, lastRoutePath }) {} - - // @ts-ignore - post({ input, session, lastRoutePath, response }) {} + post(_request: PluginPostRequest): void { + return + } private applyTimeout(pluginDynamoOpts: DynamoDbOptions): void { if (!pluginDynamoOpts.timeout) { diff --git a/packages/botonic-plugin-dynamodb/src/infrastructure/dynamo.ts b/packages/botonic-plugin-dynamodb/src/infrastructure/dynamo.ts index 9f6450acc9..4ddae18840 100644 --- a/packages/botonic-plugin-dynamodb/src/infrastructure/dynamo.ts +++ b/packages/botonic-plugin-dynamodb/src/infrastructure/dynamo.ts @@ -1,11 +1,9 @@ import { DataMapper } from '@aws/dynamodb-data-mapper' -import { UpdateItemInput } from 'aws-sdk/clients/dynamodb' +import DynamoDB, { UpdateItemInput } from 'aws-sdk/clients/dynamodb' import * as domain from '../domain' import { Env } from './config' -// eslint-disable-next-line import/named import { TABLE_NAME, Track } from './track' -import DynamoDB = require('aws-sdk/clients/dynamodb') export class Dynamo { static tableName(name: string, env: Env): string { diff --git a/packages/botonic-plugin-dynamodb/tests/domain/track.test.ts b/packages/botonic-plugin-dynamodb/tests/domain/track.test.ts index 508784bd6f..63a0475acb 100644 --- a/packages/botonic-plugin-dynamodb/tests/domain/track.test.ts +++ b/packages/botonic-plugin-dynamodb/tests/domain/track.test.ts @@ -2,12 +2,9 @@ import { instance, mock, when } from 'ts-mockito' import { ErrorReportingTrackStorage, Track } from '../../src/domain/track' import { DynamoTrackStorage } from '../../src/infrastructure/dynamo' -import DoneCallback = jest.DoneCallback import { TrackException } from '../../src/domain/exceptions' -// next line avoids refactor as per https://github.com/jest-community/eslint-plugin-jest/blob/master/docs/rules/no-done-callback.md -// eslint-disable-next-line jest/no-done-callback -test('TEST: ErrorReportingCMS write rejected', async (done: DoneCallback) => { +test('TEST: ErrorReportingCMS write rejected', async () => { const mockStorage = mock(DynamoTrackStorage) const error = new Error('mock error') const track = new Track('botid', new Date(), []) @@ -18,19 +15,14 @@ test('TEST: ErrorReportingCMS write rejected', async (done: DoneCallback) => { const promise = sut.write(track) // assert - await promise - .then(() => { - done.fail('should have thrown') - return - }) - .catch(error2 => { - // eslint-disable-next-line jest/no-conditional-expect - expect(error2).toBeInstanceOf(TrackException) - const trackException = error2 as TrackException - // eslint-disable-next-line jest/no-conditional-expect - expect(trackException.reason).toBe(error) - done() - }) + try { + await promise + fail('should have thrown') + } catch (error2) { + expect(error2).toBeInstanceOf(TrackException) + const trackException = error2 as TrackException + expect(trackException.reason).toBe(error) + } }) test('TEST: ErrorReportingCMS write success', async () => { diff --git a/packages/botonic-plugin-dynamodb/tsconfig.esm.json b/packages/botonic-plugin-dynamodb/tsconfig.esm.json new file mode 100644 index 0000000000..6a491a401b --- /dev/null +++ b/packages/botonic-plugin-dynamodb/tsconfig.esm.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.esm.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./lib/esm", + "declarationDir": "lib/esm", + + "allowSyntheticDefaultImports": true, + "allowUnreachableCode": false, + // lint options + "noImplicitReturns": true, + "noUnusedLocals": true, + // options for dynamo-data-mapper-annotations + "experimentalDecorators": true, + "emitDecoratorMetadata": true + }, + "include": ["src/"] +} diff --git a/packages/botonic-plugin-dynamodb/tsconfig.json b/packages/botonic-plugin-dynamodb/tsconfig.json index 5ef7527f1b..04b1d261f6 100644 --- a/packages/botonic-plugin-dynamodb/tsconfig.json +++ b/packages/botonic-plugin-dynamodb/tsconfig.json @@ -1,33 +1,18 @@ { - // start of path dependent configuration - "include": ["src/**/*.ts", "src/**/*.tsx"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { "allowUnreachableCode": false, - "baseUrl": "src", - "paths": { - "*": ["src/*", "lib/src/*", "types/*"] - }, - "rootDir": "src", - // end of path dependent configuration - "outDir": "lib", - "declaration": true, - "declarationDir": "lib", - "sourceMap": true, - "target": "es2015", - "module": "commonjs", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - // without typeRoots, it also checks @types of parent folders - // "typeRoots" : ["node_modules/@types"], + "baseUrl": ".", + "outDir": "lib/cjs", + "declarationDir": "lib/cjs", + "allowSyntheticDefaultImports": true, // lint options - "strict": true, - "forceConsistentCasingInFileNames": true, "noImplicitReturns": true, "noUnusedLocals": true, - // options for dynamo-data-mapper-annotations "experimentalDecorators": true, "emitDecoratorMetadata": true - } + }, + "include": ["src/"] } From 6f97aaa167b0d4922949aac0b0c6d0458d4cd2b2 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 13 Feb 2024 17:24:44 +0100 Subject: [PATCH 22/46] chore(plugin-google-translation): update plugin-google-translation to Node20 using the monorepo --- .../jest.config.js | 5 -- .../package.json | 12 +-- .../src/index.ts | 15 ++-- .../src/language-detector.ts | 8 +- .../tsconfig.eslint.json | 4 - .../tsconfig.esm.json | 9 +++ .../tsconfig.json | 73 +++++++++++-------- 7 files changed, 67 insertions(+), 59 deletions(-) delete mode 100644 packages/botonic-plugin-google-translation/jest.config.js delete mode 100644 packages/botonic-plugin-google-translation/tsconfig.eslint.json create mode 100644 packages/botonic-plugin-google-translation/tsconfig.esm.json diff --git a/packages/botonic-plugin-google-translation/jest.config.js b/packages/botonic-plugin-google-translation/jest.config.js deleted file mode 100644 index 2617562f06..0000000000 --- a/packages/botonic-plugin-google-translation/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}', '!/node_modules/'], - preset: 'ts-jest', - testEnvironment: 'node', -} diff --git a/packages/botonic-plugin-google-translation/package.json b/packages/botonic-plugin-google-translation/package.json index 76952cfa6c..f64939a476 100644 --- a/packages/botonic-plugin-google-translation/package.json +++ b/packages/botonic-plugin-google-translation/package.json @@ -1,12 +1,12 @@ { "name": "@botonic/plugin-google-translation", - "version": "0.23.1", + "version": "0.25.0-alpha.0", "license": "MIT", "main": "lib/index.js", "scripts": { "clean_install": "npm i && npm run-script build", "cloc": "../../scripts/qa/cloc-package.sh .", - "build": "rm -rf lib && ../../node_modules/.bin/tsc", + "build": "rm -rf lib && ../../node_modules/.bin/tsc -p tsconfig.json && ../../node_modules/.bin/tsc -p tsconfig.esm.json", "test": "../../node_modules/.bin/jest", "test_ci": "../../node_modules/.bin/jest --coverage --ci --reporters=default --reporters=jest-junit", "prepare": "node ../../preinstall.js", @@ -15,10 +15,10 @@ "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'" }, "dependencies": { - "@babel/runtime": "^7.22.5", - "@botonic/core": "0.23.2", - "axios": "^1.6.0", - "jsrsasign": "^10.8.6" + "@babel/runtime": "^7.23.9", + "@botonic/core": "0.25.0-alpha.2", + "axios": "^1.6.7", + "jsrsasign": "^10.9.0" }, "resolutions": { "@types/webgl2": "0.0.6" diff --git a/packages/botonic-plugin-google-translation/src/index.ts b/packages/botonic-plugin-google-translation/src/index.ts index d6146bd4ab..25d6b03e5c 100644 --- a/packages/botonic-plugin-google-translation/src/index.ts +++ b/packages/botonic-plugin-google-translation/src/index.ts @@ -1,9 +1,4 @@ -import { - INPUT, - Plugin, - PluginPostRequest, - PluginPreRequest, -} from '@botonic/core' +import { INPUT, Plugin, PluginPreRequest } from '@botonic/core' import { AccessToken } from './access-token' import { GoogleTranslationApiService } from './google-translate-api-service' @@ -29,7 +24,11 @@ export default class BotonicPluginGoogleTranslate implements Plugin { async pre(request: PluginPreRequest): Promise { try { - if (request.input.type == INPUT.TEXT && !request.input.payload) { + if ( + request.input.type === INPUT.TEXT && + request.input.data && + !request.input.payload + ) { const text = request.input.data if (this.options.translateTo) { const translations = await this.translator.translate( @@ -48,6 +47,4 @@ export default class BotonicPluginGoogleTranslate implements Plugin { ) } } - - post(request: PluginPostRequest): void {} } diff --git a/packages/botonic-plugin-google-translation/src/language-detector.ts b/packages/botonic-plugin-google-translation/src/language-detector.ts index 244113cd49..5bc35330f5 100644 --- a/packages/botonic-plugin-google-translation/src/language-detector.ts +++ b/packages/botonic-plugin-google-translation/src/language-detector.ts @@ -6,17 +6,17 @@ import { export class LanguageDetector { constructor( private readonly service: GoogleTranslationApiService, - readonly whitelist: string[] + readonly whitelist?: string[] ) {} - async detect(text: string): Promise { + async detect(text: string): Promise { let detectedLanguages = await this.service.detectLanguage(text) if (this.whitelist) { detectedLanguages = this.applyWhitelist(detectedLanguages) } detectedLanguages = this.sortByConfidence(detectedLanguages) if (detectedLanguages.length === 0) { - return null + return undefined } return detectedLanguages[0].languageCode } @@ -25,7 +25,7 @@ export class LanguageDetector { detectedLanguages: LanguageDetection[] ): LanguageDetection[] { return detectedLanguages.filter(d => - this.whitelist.includes(d.languageCode) + this.whitelist!.includes(d.languageCode) ) } diff --git a/packages/botonic-plugin-google-translation/tsconfig.eslint.json b/packages/botonic-plugin-google-translation/tsconfig.eslint.json deleted file mode 100644 index 6159398625..0000000000 --- a/packages/botonic-plugin-google-translation/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tests/tsconfig.json", - "include": [".*.js", "*.js", "**/*.ts", "**/*.tsx"] -} diff --git a/packages/botonic-plugin-google-translation/tsconfig.esm.json b/packages/botonic-plugin-google-translation/tsconfig.esm.json new file mode 100644 index 0000000000..5efdafe75f --- /dev/null +++ b/packages/botonic-plugin-google-translation/tsconfig.esm.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.esm.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./lib/esm" + }, + "include": ["src/**/*.ts"], + "exclude": ["tests", "lib"] +} diff --git a/packages/botonic-plugin-google-translation/tsconfig.json b/packages/botonic-plugin-google-translation/tsconfig.json index 3a83eea249..ef5e9d7dfc 100644 --- a/packages/botonic-plugin-google-translation/tsconfig.json +++ b/packages/botonic-plugin-google-translation/tsconfig.json @@ -1,35 +1,46 @@ +// { +// "extends": "../../tsconfig.cjs.base.json", +// "compilerOptions": { +// "allowUnreachableCode": false, +// "baseUrl": ".", +// // "paths": { +// // "*": ["src/*", "lib/src/*", "types/*"] +// // }, +// // "moduleResolution": "node", +// "rootDir": "src", +// "outDir": "./lib/cjs", +// // "declaration": true, +// // "declarationDir": "./lib/cjs", +// // "sourceMap": true, +// // "target": "es6", +// "allowSyntheticDefaultImports": true, +// // "esModuleInterop": true, +// "strict": false, +// // "forceConsistentCasingInFileNames": true, +// "noImplicitReturns": true, +// // "noImplicitAny": false, +// // "removeComments": false, // false by default +// "preserveConstEnums": true, +// "lib": ["DOM", "ES2022"], +// // "noUnusedLocals": false, +// "noImplicitThis": true, +// "alwaysStrict": true, +// "noUnusedParameters": false, +// // "pretty": true, +// // "noFallthroughCasesInSwitch": true, +// "resolveJsonModule": true +// // "skipLibCheck": true +// }, +// "include": ["src/**/*.ts"], +// "exclude": ["tests", "lib"], +// "types": ["@types/jest"] +// } { - "include": ["src/**/*.ts", "src/**/*.tsx"], + "extends": "../../tsconfig.cjs.base.json", "compilerOptions": { - "allowUnreachableCode": false, - "baseUrl": "src", - "paths": { - "*": ["src/*", "lib/src/*", "types/*"] - }, - "moduleResolution": "node", - "rootDir": "src", - "outDir": "lib", - "declaration": true, - "declarationDir": "lib", - "sourceMap": true, - "target": "es6", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "strict": false, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitAny": false, - "removeComments": false, - "preserveConstEnums": true, - "lib": ["dom", "es2015", "es2017"], - "noUnusedLocals": false, - "noImplicitThis": true, - "alwaysStrict": true, - "noUnusedParameters": false, - "pretty": true, - "noFallthroughCasesInSwitch": true, - "resolveJsonModule": true, + "baseUrl": ".", + "outDir": "./lib/cjs" }, - - "types": ["@types/jest"] + "include": ["src/**/*.ts"], + "exclude": ["tests", "lib"] } From 98c31442a8dc8d3f10387d0c54c53d6af4f3ce10 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 13 Feb 2024 17:24:59 +0100 Subject: [PATCH 23/46] chore(plugin-dashbot): update plugin-dashbot to Node20 using the monorepo --- packages/botonic-plugin-dashbot/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/botonic-plugin-dashbot/package.json b/packages/botonic-plugin-dashbot/package.json index 73d3444890..78de21f7b0 100644 --- a/packages/botonic-plugin-dashbot/package.json +++ b/packages/botonic-plugin-dashbot/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/plugin-dashbot", - "version": "0.24.0", + "version": "0.25.0-alpha.0", "license": "MIT", "main": "src/index.js", "scripts": { @@ -12,8 +12,8 @@ "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.js'" }, "dependencies": { - "axios": "^1.6.0", - "dashbot": "^11.1.0" + "axios": "^1.6.7", + "dashbot": "^11.2.5" }, "devDependencies": {}, "keywords": [ From 6619c2c4b58bda7a5415a5c47bf4cc7474d63d3d Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 20 Feb 2024 18:07:58 +0100 Subject: [PATCH 24/46] chore(plugin-contentful): update plugin-contentful to Node20 using the monorepo --- .../botonic-plugin-contentful/jest.config.js | 14 +-- .../botonic-plugin-contentful/package.json | 85 +++++++++---------- .../botonic-plugin-contentful/src/global.d.ts | 1 + .../tests/tsconfig.json | 15 ---- .../tsconfig.esm.json | 9 ++ .../botonic-plugin-contentful/tsconfig.json | 77 +++++++++-------- 6 files changed, 102 insertions(+), 99 deletions(-) create mode 100644 packages/botonic-plugin-contentful/src/global.d.ts delete mode 100644 packages/botonic-plugin-contentful/tests/tsconfig.json create mode 100644 packages/botonic-plugin-contentful/tsconfig.esm.json diff --git a/packages/botonic-plugin-contentful/jest.config.js b/packages/botonic-plugin-contentful/jest.config.js index 9e766e2b1b..0aa822f944 100644 --- a/packages/botonic-plugin-contentful/jest.config.js +++ b/packages/botonic-plugin-contentful/jest.config.js @@ -2,13 +2,13 @@ module.exports = { roots: ['src/', 'tests/'], transform: { - '^.+\\.tsx?$': 'ts-jest', '^.+\\.jsx?$': 'ts-jest', - }, - globals: { - 'ts-jest': { - tsconfig: '/tests/tsconfig.json', - }, + '^.+\\.tsx?$': [ + 'ts-jest', + { + tsconfig: '/tests/tsconfig.json', + }, + ], }, preset: 'ts-jest', testRegex: '(/tests/.*|(\\.|/)(test|spec))\\.(ts|tsx)$', @@ -19,7 +19,7 @@ module.exports = { snapshotSerializers: [], setupFilesAfterEnv: [ 'jest-expect-message', - 'jest-extended', + 'jest-extended/all', '/jest.setup.js', ], modulePaths: ['node_modules', 'src'], diff --git a/packages/botonic-plugin-contentful/package.json b/packages/botonic-plugin-contentful/package.json index 949eca64bc..bc530adac9 100644 --- a/packages/botonic-plugin-contentful/package.json +++ b/packages/botonic-plugin-contentful/package.json @@ -1,6 +1,15 @@ { + "name": "@botonic/plugin-contentful", + "version": "0.25.0-alpha.0", + "license": "MIT", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "repository": { + "type": "git", + "url": "git+https://github.com/hubtype/botonic.git" + }, "scripts": { - "build": "rm -rf lib && ../../node_modules/.bin/tsc", + "build": "rm -rf lib && ../../node_modules/.bin/tsc -p tsconfig.json && ../../node_modules/.bin/tsc -p tsconfig.esm.json", "build:watch": "npm run build -- --watch", "build_unit_tests": "tsc -b tests/tsconfig.json", "test": "../../node_modules/.bin/jest --coverage", @@ -15,15 +24,6 @@ "version": "git add -A src tests", "postversion": "git push && git push --tags" }, - "name": "@botonic/plugin-contentful", - "version": "0.24.0", - "license": "MIT", - "main": "lib/index.js", - "types": "lib/index.d.ts", - "repository": { - "type": "git", - "url": "git+https://github.com/hubtype/botonic.git" - }, "files": [ "bin/**", "lib/**", @@ -33,51 +33,50 @@ ], "author": "", "dependencies": { - "@babel/runtime": "^7.22.5", - "@nlpjs/core": "^4.22.0", - "@nlpjs/lang-ca": "^4.22.0", - "@nlpjs/lang-cs": "^4.22.0", - "@nlpjs/lang-de": "^4.22.0", - "@nlpjs/lang-el": "^4.22.0", - "@nlpjs/lang-en-min": "^4.22.0", - "@nlpjs/lang-es": "^4.22.0", - "@nlpjs/lang-fr": "^4.22.0", - "@nlpjs/lang-hu": "^4.22.0", - "@nlpjs/lang-it": "^4.22.0", - "@nlpjs/lang-nl": "^4.22.0", - "@nlpjs/lang-pl": "^4.22.0", - "@nlpjs/lang-pt": "^4.22.0", - "@nlpjs/lang-ro": "^4.22.0", - "@nlpjs/lang-ru": "^4.22.0", - "@nlpjs/lang-sl": "^4.22.0", - "@nlpjs/lang-tr": "^4.22.0", - "@nlpjs/lang-uk": "^4.22.0", + "@babel/runtime": "^7.23.9", + "@nlpjs/core": "^4.26.1", + "@nlpjs/lang-ca": "^4.26.1", + "@nlpjs/lang-cs": "^4.26.1", + "@nlpjs/lang-de": "^4.26.1", + "@nlpjs/lang-el": "^4.26.1", + "@nlpjs/lang-en-min": "^4.26.1", + "@nlpjs/lang-es": "^4.26.1", + "@nlpjs/lang-fr": "^4.26.1", + "@nlpjs/lang-hu": "^4.26.1", + "@nlpjs/lang-it": "^4.26.1", + "@nlpjs/lang-nl": "^4.26.1", + "@nlpjs/lang-pl": "^4.26.1", + "@nlpjs/lang-pt": "^4.26.1", + "@nlpjs/lang-ro": "^4.26.1", + "@nlpjs/lang-ru": "^4.26.1", + "@nlpjs/lang-sl": "^4.26.1", + "@nlpjs/lang-tr": "^4.26.1", + "@nlpjs/lang-uk": "^4.26.1", "@nlpjs/ner": "^4.27.0", - "@nlpjs/similarity": "^4.21.1", + "@nlpjs/similarity": "^4.26.1", "async-parallel": "^1.2.3", "contentful": "^8.5.8", - "contentful-import": "^8.5.62", - "contentful-management": "^7.39.0", - "csv-parse": "^4.16.0", + "contentful-import": "^8.5.63", + "contentful-management": "^7.54.2", + "csv-parse": "^4.16.3", "csv-stringify": "^5.6.5", "escape-string-regexp": "^4.0.0", - "marked": "^2.1.1", + "marked": "^2.1.3", "memoizee": "^0.4.15", - "moment": "^2.29.1", - "moment-timezone": "^0.5.43", + "moment": "^2.30.1", + "moment-timezone": "^0.5.45", "sort-stream": "^1.0.1", - "xlsx": "^0.17.0" + "xlsx": "^0.17.5" }, "devDependencies": { - "@types/marked": "^2.0.3", - "@types/memoizee": "^0.4.5", + "@types/marked": "^2.0.5", + "@types/memoizee": "^0.4.11", "@types/minipass": "^3.3.5", - "contentful-cli": "^1.7.1", - "identity-obj-proxy": "^3.0.0", - "jest-extended": "^0.11.5" + "contentful-cli": "^1.19.1", + "identity-obj-proxy": "^3.0.0" }, "engines": { - "node": ">=12.3.0" + "node": ">=20.0.0" }, "keywords": [ "bot-framework", diff --git a/packages/botonic-plugin-contentful/src/global.d.ts b/packages/botonic-plugin-contentful/src/global.d.ts new file mode 100644 index 0000000000..b68ae07700 --- /dev/null +++ b/packages/botonic-plugin-contentful/src/global.d.ts @@ -0,0 +1 @@ +import 'jest-extended' diff --git a/packages/botonic-plugin-contentful/tests/tsconfig.json b/packages/botonic-plugin-contentful/tests/tsconfig.json deleted file mode 100644 index a845b9c7e2..0000000000 --- a/packages/botonic-plugin-contentful/tests/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -// Only used for verifying the code -// use noEmit to have faster builds (~13s -> 9s) -{ - "extends": "../tsconfig", - // include need to be specified for running tsc on tests - "include": ["**/*.ts", "**/*.tsx", "../src/**/*.ts", "../src/**/*.tsx"], - "compilerOptions": { - "rootDir": "../", - // Options below are for compiling @botonic js/jsx files - "allowJs": true, //when set, jest does not validate types anymore https://github.com/kulshekhar/ts-jest/issues/740#issuecomment-424123303 - "declaration": false, - "declarationDir": null, - "noEmit": true - } -} diff --git a/packages/botonic-plugin-contentful/tsconfig.esm.json b/packages/botonic-plugin-contentful/tsconfig.esm.json new file mode 100644 index 0000000000..5efdafe75f --- /dev/null +++ b/packages/botonic-plugin-contentful/tsconfig.esm.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.esm.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./lib/esm" + }, + "include": ["src/**/*.ts"], + "exclude": ["tests", "lib"] +} diff --git a/packages/botonic-plugin-contentful/tsconfig.json b/packages/botonic-plugin-contentful/tsconfig.json index ad294eb2a0..58aeb14e89 100644 --- a/packages/botonic-plugin-contentful/tsconfig.json +++ b/packages/botonic-plugin-contentful/tsconfig.json @@ -1,38 +1,47 @@ -{ - // start of path dependent configuration - "include": ["src/**/*.ts", "src/**/*.tsx"], - "compilerOptions": { - "allowUnreachableCode": false, - "baseUrl": "src", - "paths": { - "*": ["src/*", "lib/src/*", "types/*"] - }, - "rootDir": "src", - // end of path dependent configuration - "outDir": "lib", - "declaration": true, - "declarationDir": "lib", - "sourceMap": true, - "target": "es2015", - "module": "commonjs", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - // without typeRoots, it also checks @types of parent folders - //"typeRoots" : ["node_modules/@types"], +// { +// // start of path dependent configuration +// "include": ["src/**/*.ts", "src/**/*.tsx"], +// "compilerOptions": { +// "allowUnreachableCode": false, +// "baseUrl": "src", +// "paths": { +// "*": ["src/*", "lib/src/*", "types/*"] +// }, +// "rootDir": "src", +// // end of path dependent configuration +// "outDir": "lib", +// "declaration": true, +// "declarationDir": "lib", +// "sourceMap": true, +// "target": "es2015", +// "module": "commonjs", +// "allowSyntheticDefaultImports": true, +// "esModuleInterop": true, +// // without typeRoots, it also checks @types of parent folders +// //"typeRoots" : ["node_modules/@types"], - "experimentalDecorators": true, +// "experimentalDecorators": true, - // lint options - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedLocals": true, - "skipLibCheck": true +// // lint options +// "strict": true, +// "forceConsistentCasingInFileNames": true, +// "noImplicitReturns": true, +// "noUnusedLocals": true, +// "skipLibCheck": true +// }, +// // test options +// "types": [ +// // @types/node must be a direct dependency. If only defined in a parent package.json, we get TSC errors for +// // symbols from these libs: "ES2016.Array.Include", "ES2017.object" +// "@types/jest" +// ] +// } +{ + "extends": "../../tsconfig.cjs.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./lib/cjs" }, - // test options - "types": [ - // @types/node must be a direct dependency. If only defined in a parent package.json, we get TSC errors for - // symbols from these libs: "ES2016.Array.Include", "ES2017.object" - "@types/jest" - ] + "files": ["../../node_modules/jest-extended/types/index.d.ts"], + "include": ["src/**/*.ts"] } From c3a700c89cb5bc10cb1d0ef65391fb1f44397c38 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 20 Feb 2024 18:09:07 +0100 Subject: [PATCH 25/46] chore(eslint-config): update eslint-config packages versions to use Node20 with npm monorepo --- packages/botonic-eslint-config/package.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/botonic-eslint-config/package.json b/packages/botonic-eslint-config/package.json index cbcd54f7c4..32bec2242b 100644 --- a/packages/botonic-eslint-config/package.json +++ b/packages/botonic-eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/eslint-config", - "version": "0.22.0", + "version": "0.25.0-alpha.0", "description": "Eslint config for botonic packages", "main": "index.js", "scripts": { @@ -16,18 +16,18 @@ "typescript" ], "dependencies": { - "@typescript-eslint/parser": "^4.26.0", - "@typescript-eslint/eslint-plugin": "^4.26.0", + "@typescript-eslint/parser": "^6.21.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-filenames": "^1.3.2", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jest": "^24.3.6", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-jest": "^27.9.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^5.0.0", - "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-react": "^7.23.2", - "eslint-plugin-react-hooks": "^4.2.0", - "eslint-plugin-simple-import-sort": "^7.0.0" + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-simple-import-sort": "^10.0.0" }, "files": [ "index.js", From 15d8d49d89a3562f34621d605d1f8cba8e1cebb0 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 20 Feb 2024 18:10:20 +0100 Subject: [PATCH 26/46] chore(botonic-dx): update botonic-dx packages versions to use Node20 with npm monorepo --- packages/botonic-dx/baseline/babel.config.js | 2 - packages/botonic-dx/baseline/tsconfig.json | 6 +- .../webpack/transpiling/babel-loader.js | 2 - packages/botonic-dx/package.json | 72 +++++++++---------- .../botonic-dx/sample-config/package.json | 2 +- 5 files changed, 39 insertions(+), 45 deletions(-) diff --git a/packages/botonic-dx/baseline/babel.config.js b/packages/botonic-dx/baseline/babel.config.js index bc8ce333c1..45bee52a5c 100644 --- a/packages/botonic-dx/baseline/babel.config.js +++ b/packages/botonic-dx/baseline/babel.config.js @@ -15,8 +15,6 @@ module.exports = { sourceMaps: true, presets: ['@babel/preset-env', '@babel/preset-react'], plugins: [ - require('@babel/plugin-proposal-object-rest-spread'), - require('@babel/plugin-proposal-class-properties'), require('@babel/plugin-transform-modules-commonjs'), require('@babel/plugin-transform-runtime'), ], diff --git a/packages/botonic-dx/baseline/tsconfig.json b/packages/botonic-dx/baseline/tsconfig.json index 56979b9d94..81750f01c0 100644 --- a/packages/botonic-dx/baseline/tsconfig.json +++ b/packages/botonic-dx/baseline/tsconfig.json @@ -12,8 +12,8 @@ "declaration": true, "declarationDir": "lib", "sourceMap": true, - "target": "es2015", - "module": "commonjs", + "target": "ES2022", + "module": "node16", "allowSyntheticDefaultImports": true, "esModuleInterop": true, "allowJs": true, @@ -38,6 +38,6 @@ "strict": true, "forceConsistentCasingInFileNames": true, "noImplicitReturns": true, - "noUnusedLocals": true, + "noUnusedLocals": true } } diff --git a/packages/botonic-dx/botonic-app-config/webpack/transpiling/babel-loader.js b/packages/botonic-dx/botonic-app-config/webpack/transpiling/babel-loader.js index f609900980..0b4dbd4815 100644 --- a/packages/botonic-dx/botonic-app-config/webpack/transpiling/babel-loader.js +++ b/packages/botonic-dx/botonic-app-config/webpack/transpiling/babel-loader.js @@ -11,8 +11,6 @@ const babelLoaderConfig = { '@babel/react' ], plugins: [ - require('@babel/plugin-proposal-object-rest-spread'), - require('@babel/plugin-proposal-class-properties'), require('babel-plugin-add-module-exports'), require('@babel/plugin-transform-runtime'), ], diff --git a/packages/botonic-dx/package.json b/packages/botonic-dx/package.json index 0aa159a21a..5edda1633b 100644 --- a/packages/botonic-dx/package.json +++ b/packages/botonic-dx/package.json @@ -1,6 +1,6 @@ { "name": "@botonic/dx", - "version": "0.22.0", + "version": "0.25.0-alpha.0", "description": "Continuous integration for botonic packages", "scripts": { "build": "echo Skipping build..." @@ -13,26 +13,24 @@ "typescript" ], "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.7", - "@babel/plugin-transform-modules-commonjs": "^7.14.0", - "@babel/plugin-transform-runtime": "^7.14.5", - "@babel/preset-env": "^7.14.2", - "@babel/preset-react": "^7.13.13", - "@babel/preset-typescript": "^7.14.5", - "@botonic/eslint-config": "0.22.0", - "@types/jest": "^26.0.23", - "@types/node": "^15.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-runtime": "^7.23.9", + "@babel/preset-env": "^7.23.9", + "@babel/preset-react": "^7.23.3", + "@babel/preset-typescript": "^7.23.3", + "@botonic/eslint-config": "0.25.0-alpha.0", + "@types/jest": "^29.5.12", + "@types/node": "^20.11.16", "babel-eslint": "^10.1.0", - "babel-loader": "^8.2.2", + "babel-loader": "^8.3.0", "babel-plugin-add-module-exports": "^1.0.4", "clean-webpack-plugin": "^4.0.0-alpha.0", - "css-loader": "^5.2.6", - "esbuild-loader": "^2.13.1", - "eslint": "^7.28.0", - "eslint-config-prettier": "^7.2.0", - "eslint-import-resolver-typescript": "^2.4.0", - "eslint_d": "^10.1.3", + "css-loader": "^5.2.7", + "esbuild-loader": "^2.21.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^8.10.0", + "eslint-import-resolver-typescript": "^3.6.1", + "eslint_d": "^13.1.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.3.2", "identity-obj-proxy": "^3.0.0", @@ -41,30 +39,30 @@ "imagemin-jpegtran": "^7.0.0", "imagemin-optipng": "^8.0.0", "imagemin-svgo": "^9.0.0", - "jest": "^26.6.3", - "jest-each": "^26.6.2", - "jest-junit": "^12.0.0", - "nodemon": "^2.0.9", - "nodemon-webpack-plugin": "^4.5.2", + "jest": "^29.7.0", + "jest-each": "^29.7.0", + "jest-junit": "^12.3.0", + "nodemon": "^2.0.22", + "nodemon-webpack-plugin": "^4.8.2", "null-loader": "^4.0.1", - "prettier": "^3.0.3", - "sass": "^1.35.2", - "sass-loader": "^12.1.0", - "style-loader": "^3.0.0", - "svgo": "^2.3.1", + "prettier": "^3.2.5", + "sass": "^1.70.0", + "sass-loader": "^12.6.0", + "style-loader": "^3.3.4", + "svgo": "^2.8.0", "terser": "^5.7.1", - "terser-webpack-plugin": "^5.1.4", - "ts-jest": "^26.5.6", + "terser-webpack-plugin": "^5.3.10", + "ts-jest": "^29.1.2", "ts-mockito": "^2.6.1", - "ts-node": "^9.1.1", - "tslib": "^2.2.0", - "typescript": "^4.3.2", - "webpack": "^5.43.0", - "webpack-cli": "^4.7.2", - "webpackbar": "^5.0.0-3" + "ts-node": "^10.9.2", + "tslib": "^2.6.2", + "typescript": "^4.9.5", + "webpack": "^5.90.1", + "webpack-cli": "^4.10.0", + "webpackbar": "^5.0.2" }, "engines": { - "npm": ">=17.13.0" + "node": ">=20.0.0" }, "files": [ "README.md", diff --git a/packages/botonic-dx/sample-config/package.json b/packages/botonic-dx/sample-config/package.json index f25d731d68..c18c31995f 100644 --- a/packages/botonic-dx/sample-config/package.json +++ b/packages/botonic-dx/sample-config/package.json @@ -23,7 +23,7 @@ "postversion": "git push && git push --tags" }, "engines": { - "node": ">=12.22.1" + "node": ">=20.0.0" }, "########## files": [ "bin/**", From 9fe5832f4c0affc832db8fca23c6c40e12cc99e8 Mon Sep 17 00:00:00 2001 From: Oriol Raventos Date: Tue, 20 Feb 2024 18:11:39 +0100 Subject: [PATCH 27/46] chore(botonic): fix lint errors --- packages/.eslintrc.js | 16 +++++--- packages/botonic-core/package.json | 4 +- .../data-provider/dynamodb-data-provider.ts | 4 +- .../src/data-provider/dynamodb-utils.ts | 2 +- .../src/cms/callback.ts | 25 ++++++++++--- .../src/cms/cms-dummy.ts | 30 +++++++-------- .../src/cms/cms-error.ts | 5 ++- .../botonic-plugin-contentful/src/cms/cms.ts | 5 ++- .../src/cms/contents.ts | 30 ++++++++++++--- .../src/cms/exceptions.ts | 5 ++- .../src/cms/factories/content-factories.ts | 35 +++++++++++++++--- .../src/cms/fields.ts | 4 +- .../src/contentful/contents/button.ts | 2 +- .../src/contentful/contents/custom.ts | 2 +- .../src/contentful/delivery-api.ts | 4 +- .../src/contentful/delivery-utils.ts | 4 +- .../src/contentful/delivery/cache.ts | 2 +- .../src/contentful/delivery/fallback-cache.ts | 2 +- .../src/contentful/export/locale-migrator.ts | 5 ++- .../src/contentful/info-contentful.ts | 11 ++++-- .../src/contentful/manage/contentful-api.ts | 5 ++- .../src/contentful/manage/manage-asset.ts | 2 +- .../src/contentful/manage/manage-entry.ts | 4 +- .../src/contentful/search/keywords.ts | 4 +- .../src/contentful/traverser.ts | 10 ++--- .../src/manage-cms/fields.ts | 5 ++- .../src/manage-cms/manage-cms-error.ts | 5 ++- .../src/markup/markdown.ts | 2 +- .../src/markup/whatsapp.ts | 2 +- .../src/nlp/keywords.ts | 5 ++- .../src/nlp/locales.ts | 2 +- .../src/nlp/similar-words.ts | 19 +++++++--- .../src/nlp/token-stripper.ts | 5 ++- .../botonic-plugin-contentful/src/plugin.ts | 4 +- .../src/time/index.ts | 6 ++- .../src/time/schedule.ts | 12 ++++-- .../src/tools/keyword-tools.ts | 5 ++- .../tools/l10n/import-csv-from-translators.ts | 4 +- .../src/tools/l10n/import-updater.ts | 2 +- .../src/tools/regression-tools.ts | 5 ++- .../src/util/backoff.ts | 5 ++- .../src/util/exceptions.ts | 2 +- .../measurer/node-performance-measurer.ts | 2 +- .../src/util/memoizer.ts | 4 +- .../src/util/profiler.ts | 4 +- .../tests/cms/cms-error.test.ts | 4 +- .../tests/contentful/delivery.test.ts | 2 +- .../tests/contentful/delivery/cache.test.ts | 2 +- .../delivery/fallback-cache.test.ts | 2 +- .../contentful/delivery/mock-client.helper.ts | 10 ++--- .../manage/manage-contentful-environment.ts | 10 ++--- .../manage/manage-contentful.test.ts | 8 ++-- .../tests/markup/markup.test.ts | 17 ++++----- .../tests/nlp/normalizer.test.ts | 2 +- .../tests/nlp/stemmer.test.ts | 2 +- .../tests/search/filter-chitchat.test.ts | 4 +- .../tests/tools/l10n/csv-export.test.ts | 2 +- .../tests/tools/l10n/import-updater.test.ts | 37 ++++++++++--------- .../tests/util/backoff.test.ts | 2 +- .../tests/util/memoizer.test.ts | 6 +-- .../tests/util/objects.test.ts | 7 +++- .../botonic-plugin-dialogflow/package.json | 2 +- .../botonic-plugin-dialogflow/src/index.ts | 26 ++++++------- .../src/domain/exceptions.ts | 5 ++- packages/botonic-plugin-dynamodb/src/index.ts | 4 +- .../src/infrastructure/track.ts | 7 ++-- .../tests/domain/time.test.ts | 9 +++-- .../tests/domain/track.test.ts | 11 +++--- .../package.json | 4 +- .../src/index.ts | 2 +- .../src/access-token.ts | 8 ++-- .../src/google-translate-api-service.ts | 5 ++- packages/botonic-react/jest.config.js | 6 +-- packages/botonic-react/package.json | 2 + .../webchat/components/styled-scrollbar.jsx | 4 +- 75 files changed, 330 insertions(+), 204 deletions(-) diff --git a/packages/.eslintrc.js b/packages/.eslintrc.js index 00488a3769..6256d10df1 100644 --- a/packages/.eslintrc.js +++ b/packages/.eslintrc.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/naming-convention */ module.exports = { parser: '@typescript-eslint/parser', // Specifies the ESLint parser extends: [ @@ -10,7 +11,6 @@ module.exports = { // typescript 'plugin:@typescript-eslint/recommended', // Uses the recommended rules from the @typescript-eslint/eslint-plugin 'plugin:@typescript-eslint/eslint-recommended', - 'prettier/@typescript-eslint', // Uses eslint-config-prettier to disable ESLint rules from @typescript-eslint/eslint-plugin that would conflict with prettier ], plugins: [ '@typescript-eslint', @@ -22,7 +22,7 @@ module.exports = { 'simple-import-sort', ], parserOptions: { - ecmaVersion: 2017, // async is from ecma2017. Supported in node >=7.10 + ecmaVersion: 2022, sourceType: 'module', // Allows for the use of imports ecmaFeatures: { jsx: true, // Allows for the parsing of JSX @@ -94,6 +94,10 @@ module.exports = { 'unicorn/prevent-abbreviations': 'off', // the plugin removes removes type annotations from typescript code :-( 'unicorn/filename-case': 'off', // React convention is in CamelCase 'valid-jsdoc': 'off', // function comments hide code complexity (and typescript already have type specifications), + + '@typescript-eslint/no-unused-vars': ['warn', { varsIgnorePattern: '^_' }], + // acept any as a type but emit warning + '@typescript-eslint/no-explicit-any': 'warn', }, overrides: [ { @@ -126,7 +130,7 @@ module.exports = { node: true, }, } -if (typeof AVOID_IMPORT_CRASH !== 'undefined' && AVOID_IMPORT_CRASH) { - // avoid eslint-plugin-import crash https://github.com/benmosher/eslint-plugin-import/issues/1818#issuecomment-651547125 - delete module.exports['settings']['import/parsers'] -} +// if (typeof AVOID_IMPORT_CRASH !== 'undefined' && AVOID_IMPORT_CRASH) { +// // avoid eslint-plugin-import crash https://github.com/benmosher/eslint-plugin-import/issues/1818#issuecomment-651547125 +// delete module.exports['settings']['import/parsers'] +// } diff --git a/packages/botonic-core/package.json b/packages/botonic-core/package.json index 1a6b13caf9..95cde13b2e 100644 --- a/packages/botonic-core/package.json +++ b/packages/botonic-core/package.json @@ -9,8 +9,9 @@ "test": "../../node_modules/.bin/jest --coverage", "prepare": "node ../../preinstall.js", "prepublishOnly": "rm -rf lib && npm run build", - "lint": "npm run lint_ci -- --fix", + "lint": "npm run lint_core -- --fix", "lint_ci": "../../node_modules/.bin/eslint_d --cache --quiet '*.js' 'src/**/*.ts*'", + "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet '*.js' 'src/**/*.ts*'", "build": "../../node_modules/.bin/tsc -p tsconfig.json && ../../node_modules/.bin/tsc -p tsconfig.esm.json", "build:watch": "npm run build -- --watch", "cloc": "../../scripts/qa/cloc-package.sh ." @@ -30,6 +31,7 @@ "README.md" ], "dependencies": { + "@babel/plugin-transform-runtime": "^7.23.9", "aws-sdk": "^2.1404.0", "axios": "^1.6.7", "decode": "^0.3.0", diff --git a/packages/botonic-core/src/data-provider/dynamodb-data-provider.ts b/packages/botonic-core/src/data-provider/dynamodb-data-provider.ts index 27f915aa69..37868a1665 100644 --- a/packages/botonic-core/src/data-provider/dynamodb-data-provider.ts +++ b/packages/botonic-core/src/data-provider/dynamodb-data-provider.ts @@ -23,7 +23,9 @@ export class DynamoDBDataProvider implements DataProvider { connectionEventEntity: Entity constructor(url: string) { try { - ;[this.tableName, this.region] = url.split('://')[1].split('.') + const urlParts = url.split('://')[1].split('.') + this.tableName = urlParts[0] + this.region = urlParts[1] this.userEventsTable = getUserEventsTable(this.tableName, this.region) this.userEntity = getUserEntity(this.userEventsTable) this.connectionEventEntity = getConnectionEventEntity( diff --git a/packages/botonic-core/src/data-provider/dynamodb-utils.ts b/packages/botonic-core/src/data-provider/dynamodb-utils.ts index 2de283703e..f9441ac873 100644 --- a/packages/botonic-core/src/data-provider/dynamodb-utils.ts +++ b/packages/botonic-core/src/data-provider/dynamodb-utils.ts @@ -1,4 +1,4 @@ -import { DynamoDB } from 'aws-sdk' +import DynamoDB from 'aws-sdk/clients/dynamodb' import { Entity, Table } from 'dynamodb-toolbox' import { EntityAttributes } from 'dynamodb-toolbox/dist/classes/Entity' diff --git a/packages/botonic-plugin-contentful/src/cms/callback.ts b/packages/botonic-plugin-contentful/src/cms/callback.ts index fceaf1bcb6..8085f33d31 100644 --- a/packages/botonic-plugin-contentful/src/cms/callback.ts +++ b/packages/botonic-plugin-contentful/src/cms/callback.ts @@ -69,7 +69,10 @@ export class Callback implements ValueObject, Equatable { export class ContentCallback extends Callback { private static PAYLOAD_SEPARATOR = '$' - constructor(readonly model: TopContentType, readonly id: string) { + constructor( + readonly model: TopContentType, + readonly id: string + ) { super(model + ContentCallback.PAYLOAD_SEPARATOR + id) } @@ -115,7 +118,10 @@ export class ContentCallback extends Callback { } export class ResourceId implements ValueObject { - constructor(readonly resourceType: string, readonly id: string) {} + constructor( + readonly resourceType: string, + readonly id: string + ) {} toString(): string { return `'${this.resourceType}' with id '${this.id}'` @@ -134,7 +140,10 @@ export class ResourceId implements ValueObject { } export class ContentId extends ResourceId { - constructor(readonly model: ContentType, id: string) { + constructor( + readonly model: ContentType, + id: string + ) { super(model, id) } @@ -160,13 +169,19 @@ export class ContentId extends ResourceId { } export class AssetId extends ResourceId { - constructor(id: string, readonly assetType: string | undefined) { + constructor( + id: string, + readonly assetType: string | undefined + ) { super(`${String(assetType)} asset`, id) } } export class TopContentId extends ContentId { - constructor(readonly model: TopContentType, id: string) { + constructor( + readonly model: TopContentType, + id: string + ) { super(model, id) } diff --git a/packages/botonic-plugin-contentful/src/cms/cms-dummy.ts b/packages/botonic-plugin-contentful/src/cms/cms-dummy.ts index 2d0cb2279c..6202c3ed57 100644 --- a/packages/botonic-plugin-contentful/src/cms/cms-dummy.ts +++ b/packages/botonic-plugin-contentful/src/cms/cms-dummy.ts @@ -46,11 +46,11 @@ export class DummyCMS implements CMS { */ constructor(readonly buttonCallbacks: ContentCallback[]) {} - button(id: string, context?: Context | undefined): Promise +

+ + We will not store the fulfilled information. You can fake the data. + +

+ + ) + } +} +``` +We have created some functions to check and handle the user data. Moreover, to store the relevant information in the session we have used the `updateUser()` function. + +Finally, to close the component, we have called the `closeComponent()` function that can be found in the props. In this case, we also used `sendText` to add a message form the user after the component is closed. That then will be captured in the routes and will execute the next action. + +**src/routes.js** +```javascript + { path: 'start', text: /^start$/i, action: Start }, +``` + +After creating our component we just need to assign it to the `coverComponent` property: + +**src/webchat/index.js** + +```javascript +import CustomCover from './cover-component' + +export const webchat = { + coverComponent: CustomCover, +} +``` + +#### 2. Custom Messages + +[Custom Messages](https://botonic.io/docs/components/message/) allows us to create any kind of message that we want. + + +###### 2.1 Custom Message from bot + +We have used a CustomMessage to create the **Hotel Form** that appears after the user chooses the hotel to book. + +In this component, we have also used `styled-components` and `material-ui` to create the **TextField**, the **Autocomplete** and the **DatePicker** components. + +The structure is very similar to the **CustomCover** component, but in this case we need to export the component as: + +**src/webchat/hotel-form-message.js** + +```javascript +export default customMessage({ + name: 'hotel-form', + component: HotelForm, + defaultProps: { + style: { + width: '100%', + backgroundColor: '#ffffff', + border: 'none', + boxShadow: 'none', + paddingLeft: '5px', + }, + imageStyle: { display: 'none' }, + blob: false, + enableTimestamps: false, + }, +}) +``` + +The `name` and `component` props are mandatory, and in this case, we have also defined the `defaultProps` to change some properties of the message. + +The last important step to do when we define a `CustomMessage`, is to add it in the custom types: + +**src/webchat/index.js** + +```javascript +import HotelForm from './hotel-form-message' + +export const webchat = { + theme: { + message: { + customTypes: [HotelForm, RateMessage, RateUserMessage], + }, + }, +} +``` + +Then we can call this component in the actions. + +**src/actions/book-hotel.jsx** + +```javascript +import React from 'react' +import { Text } from '@botonic/react' +import HotelForm from '../webchat/hotel-form-message' + +export default class extends React.Component { + static async botonicInit(request) { + const hotel = request.input.payload.split('-')[1] + const name = request.session.user.name + return { hotel, name } + } + render() { + return ( + <> + + {this.props.name} you have selected **{this.props.hotel}**. To confirm + the reservation, we would need some more information. + + + + ) + } +} +``` + +###### 2.2 Custom Message from user +It is also possible to add a custom message on the user side, as we have done with RateUserMessage. + +In this case, we have used **react-stars** to display the rate of the user. To add this message on the user side the only extra thing we need to do is change the `from` property to 'user'. + +**src/webchat/rate-user-message.js** +```javascript +import React from 'react' +import { customMessage, WebchatContext } from '@botonic/react' +import ReactStars from 'react-stars' + +class RateUserMessage extends React.Component { + static contextType = WebchatContext + render() { + return ( + + ) + } +} + +export default customMessage({ + name: 'rate-user-message', + component: RateUserMessage, + defaultProps: { + from: 'user', + }, +}) +``` + +#### 3. Persistent Menu + +The [Persistent Menu](https://botonic.io/docs/webchat/webchat-persistentmenu/) is a component that will be shown whenever the user clicks to the button placed in the bottom left corner. + +**src/webchat/index.js** + +```javascript +import CheckReservationsWebview from '../webviews/components/check-reservations' +import { CustomPersistentMenu } from './custom-persistentMenu' +export const webchat = { + theme: { + userInput: { + persistentMenu: [ + { label: 'Check your reservation', webview: CheckReservationsWebview }, + { label: 'Book a hotel', payload: 'carousel' }, + { closeLabel: 'Close' }, + ], + menu: { + darkBackground: true, + custom: CustomPersistentMenu, + }, + }, + }, +} +``` +In this case, we have created a `persistentMenu` with three buttons: the first one will open a webview, the second one will send the payload 'carousel' and the last one will close the menu. + +In this example, we have also customized our menu in **custom-persistentMenu.js** and we have enabled the `darkBackgroud` property to darken the background of the webchat and let the user focus on the persistent menu only. + +## Carousel + +The [Carousel](https://botonic.io/docs/components/carousel/) component allows you to show a collection of images in a cyclic view. In the example, we have used it to show the different hotel options. + +**src/actions/carousel.js** + +```javascript +import React from 'react' +import { + Text, + Carousel, + Element, + Pic, + Button, + Title, + Subtitle, +} from '@botonic/react' + +export default class extends React.Component { + render() { + const hotels = [ + { + name: 'Hotel Alabama', + desc: '* * * *', + payload: 'hotel-Hotel Alabama', + pic: + 'https://cdn.styleblueprint.com/wp-content/uploads/2017/06/4512594599_9edc8fee0a_b.jpg', + }, + { + name: 'Hotel Arizona', + desc: '* * * * *', + payload: 'hotel-Hotel Arizona', + pic: + 'https://images.trvl-media.com/hotels/10000000/9760000/9754700/9754671/88c37982_z.jpg', + }, + { + name: 'Hotel California', + desc: '* *', + payload: 'hotel-Hotel California', + pic: + 'https://estaticos.elperiodico.com/resources/jpg/4/0/hotel-california-todos-santos-baja-california-1493803840904.jpg', + }, + ] + return ( + <> + Select an hotel among these options: + + {hotels.map((e, i) => ( + + + {e.name} + {e.desc} + + + ))} + + + ) + } +} +``` + +## Webviews + +[Webviews](https://botonic.io/docs/concepts/webviews/) allow us to open standard webpages during a chat conversation. In this example, we have used it to create a webpage where the user can check the hotel reservations. As we have mentioned before we can open it using the persistentMenu or with one of the button in the Start action. + +**src/actions/start.jsx** + +```javascript +import React, { useEffect } from 'react' +import { Text, Button } from '@botonic/react' +import CheckReservationsWebview from '../webviews/components/check-reservations' + +export default class extends React.Component { + static async botonicInit(request) { + const name = request.session.user.name + return { name } + } + + render() { + return ( + <> + + Hi {this.props.name}, Im your virtual assistant of Botonic Booking + Platform. I will help you manage your hotel reservations and much + more. + + + Select an option: + + + + + ) + } +} +``` + +In this case, we have also used `styled-components` and the **TextFiled**. + +**src/webviews/components/check-reservations.js** + +```javascript +render() { + this.state.hotels = this.getHotels(this.context) + this.state.correctName = this.getName(this.context) + this.state.correctEmail = this.getEmail(this.context) + + const InfoDatos = (props) => { + return ( + <> +
+ {props.hotel} + +
+ Name: {this.state.correctName} +
+ Guests: {props.guests} +
+ Date: {props.date} +
+
+ Email: + + {this.state.correctEmail} + +
+ Phone: + {props.phone} +
+
+ + + ) + } + return ( +
+ {this.state.identified ? ( + <> +

Your reservation

+ {this.state.hotels.map((h, i) => ( + + ))} + + + ) : ( + <> + + To check your reservation, enter your name and email. + + + + + + )} + + ) + } + ``` + +In order to continue with the conversation flow, we call the `closeWebview` function which closes the webview and sends a payload: + +```javascript +close() { + this.context.closeWebview({ + payload: 'close-webview', + }) +} +``` +The last step, is to add the new webview in the index: + +**src/webviews/index.js** + +```javascript +import WebviewReserva from './components/check-reservations' + +export const webviews = [WebviewReserva] +``` + + ...and we are done 🎉 diff --git a/examples/booking-platform/babel.config.js b/examples/booking-platform/babel.config.js new file mode 100644 index 0000000000..ce0c91d3ff --- /dev/null +++ b/examples/booking-platform/babel.config.js @@ -0,0 +1,29 @@ +/* + * This babel configuration is used along with Jest for execute tests, + * do not modify to avoid conflicts with webpack.config.js. + */ + +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + [ + '@babel/react', + { + targets: { + node: 'current', + }, + }, + ], + ], + plugins: [ + require('@babel/plugin-transform-modules-commonjs'), + require('@babel/plugin-transform-runtime'), + ], +} diff --git a/examples/booking-platform/jest.config.js b/examples/booking-platform/jest.config.js new file mode 100644 index 0000000000..d2514ba654 --- /dev/null +++ b/examples/booking-platform/jest.config.js @@ -0,0 +1,18 @@ +const path = require('path') + +module.exports = { + rootDir: "tests", + transform: { + "^.+\\.jsx?$": [ + "babel-jest", + { "configFile": path.resolve(__dirname, "babel.config.js") }, + ], + }, + transformIgnorePatterns: [ + "/node_modules/(?!@botonic).+\\.(js|jsx|ts|tsx)$" + ], + moduleNameMapper: { + "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", + "\\.(scss|css|less)$": "/__mocks__/styleMock.js" + } +} \ No newline at end of file diff --git a/examples/booking-platform/package.json b/examples/booking-platform/package.json new file mode 100644 index 0000000000..c52e0e38d5 --- /dev/null +++ b/examples/booking-platform/package.json @@ -0,0 +1,26 @@ +{ + "name": "botonic-booking-platform", + "version": "1.0.0", + "scripts": { + "build": "webpack --env target=all --mode=production", + "start": "webpack-dev-server --env target=dev --mode=development", + "deploy": "botonic deploy -c build", + "test": "jest" + }, + "dependencies": { + "@babel/runtime": "^7.23.9", + "@botonic/react": "0.25.0-alpha.5", + "@date-io/date-fns": "^1.3.13", + "@material-ui/core": "4.11.0", + "@material-ui/lab": "4.0.0-alpha.56", + "@material-ui/pickers": "^3.3.11", + "date-fns": "^2.30.0", + "react-stars": "^2.2.5" + }, + "devDependencies": { + "@baotonic/dx": "0.25.0-alpha.5" + }, + "engines": { + "node": ">=20.0.0" + } +} diff --git a/examples/booking-platform/src/actions/book-hotel.jsx b/examples/booking-platform/src/actions/book-hotel.jsx new file mode 100644 index 0000000000..0a7c979352 --- /dev/null +++ b/examples/booking-platform/src/actions/book-hotel.jsx @@ -0,0 +1,22 @@ +import React from 'react' +import { Text } from '@botonic/react' +import HotelForm from '../webchat/hotel-form-message' + +export default class extends React.Component { + static async botonicInit(request) { + const hotel = request.input.payload.split('-')[1] + const name = request.session.user.name + return { hotel, name } + } + render() { + return ( + <> + + {this.props.name} you have selected **{this.props.hotel}**. To confirm + the reservation, we would need some more information. + + + + ) + } +} diff --git a/examples/booking-platform/src/actions/bye.jsx b/examples/booking-platform/src/actions/bye.jsx new file mode 100644 index 0000000000..c9c6c15ea4 --- /dev/null +++ b/examples/booking-platform/src/actions/bye.jsx @@ -0,0 +1,19 @@ +import React from 'react' +import { Text } from '@botonic/react' +import RateUserMessage from '../webchat/rate-user-message' + +export default class extends React.Component { + static async botonicInit(request) { + const payload = request.input.payload + const rate = payload && payload.split('-')[1] + return { rate } + } + render() { + return ( + <> + {this.props.rate && } + Thanks for contacting us. Have a nice day! + + ) + } +} diff --git a/examples/booking-platform/src/actions/carousel.jsx b/examples/booking-platform/src/actions/carousel.jsx new file mode 100644 index 0000000000..bb4e2fd780 --- /dev/null +++ b/examples/booking-platform/src/actions/carousel.jsx @@ -0,0 +1,53 @@ +import React from 'react' +import { + Text, + Carousel, + Element, + Pic, + Button, + Title, + Subtitle, +} from '@botonic/react' + +export default class extends React.Component { + render() { + const hotels = [ + { + name: 'Hotel Alabama', + desc: '* * * *', + payload: 'hotel-Hotel Alabama', + pic: + 'https://cdn.styleblueprint.com/wp-content/uploads/2017/06/4512594599_9edc8fee0a_b.jpg', + }, + { + name: 'Hotel Arizona', + desc: '* * * * *', + payload: 'hotel-Hotel Arizona', + pic: + 'https://images.trvl-media.com/hotels/10000000/9760000/9754700/9754671/88c37982_z.jpg', + }, + { + name: 'Hotel California', + desc: '* *', + payload: 'hotel-Hotel California', + pic: + 'https://estaticos.elperiodico.com/resources/jpg/4/0/hotel-california-todos-santos-baja-california-1493803840904.jpg', + }, + ] + return ( + <> + Select an hotel among these options: + + {hotels.map((e, i) => ( + + + {e.name} + {e.desc} + + + ))} + + + ) + } +} diff --git a/examples/booking-platform/src/actions/close-webview.jsx b/examples/booking-platform/src/actions/close-webview.jsx new file mode 100644 index 0000000000..0d433e09bf --- /dev/null +++ b/examples/booking-platform/src/actions/close-webview.jsx @@ -0,0 +1,20 @@ +import React from 'react' +import { Text, Button } from '@botonic/react' + +export default class extends React.Component { + render() { + return ( + <> + + If you want to book a hotel, click on the menu on the bottom left + corner and select _Book a hotel_ + + + Is there anything else I can help you with? + + + + + ) + } +} diff --git a/examples/booking-platform/src/actions/info-reservation.jsx b/examples/booking-platform/src/actions/info-reservation.jsx new file mode 100644 index 0000000000..86c1b3e55a --- /dev/null +++ b/examples/booking-platform/src/actions/info-reservation.jsx @@ -0,0 +1,45 @@ +import React from 'react' +import { Text, Button } from '@botonic/react' + +export default class extends React.Component { + static async botonicInit(request) { + const name = request.session.user.name + const email = request.session.user.extra_data.email + const reservationInfo = request.input.payload.split('_') + return { + name, + email, + phone: reservationInfo[1], + people: reservationInfo[2], + date: reservationInfo[3], + } + } + render() { + return ( + <> + + Reservation completed: {'\n'} + **Name**: {this.props.name} + {'\n'} + **Email**: {this.props.email} + {'\n'} + **Phone**: {this.props.phone} + {'\n'} + **Guests**: {this.props.people} + {'\n'} + **Date**: {this.props.date} + {'\n'} + + + If you want to see your reservation, click on the menu on the bottom + left corner and select _Check your reservation_ + + + Is there anything else I can help you with? + + + + + ) + } +} diff --git a/examples/booking-platform/src/actions/more-help.jsx b/examples/booking-platform/src/actions/more-help.jsx new file mode 100644 index 0000000000..0cd9bc03c9 --- /dev/null +++ b/examples/booking-platform/src/actions/more-help.jsx @@ -0,0 +1,27 @@ +import React from 'react' +import { Text, Button } from '@botonic/react' +import WebviewReserva from '../webviews/components/check-reservations' +import RateMessage from '../webchat/rate-message' + +export default class extends React.Component { + static async botonicInit(request) { + const moreHelp = + request.input.payload && request.input.payload.split('-')[1] + return { moreHelp } + } + render() { + return ( + <> + {this.props.moreHelp == 'no' ? ( + + ) : ( + + Select an option: + + + + )} + + ) + } +} diff --git a/examples/booking-platform/src/actions/start.jsx b/examples/booking-platform/src/actions/start.jsx new file mode 100644 index 0000000000..ec87951636 --- /dev/null +++ b/examples/booking-platform/src/actions/start.jsx @@ -0,0 +1,29 @@ +import React, { useEffect } from 'react' +import { Text, Button } from '@botonic/react' +import CheckReservationsWebview from '../webviews/components/check-reservations' + +export default class extends React.Component { + static async botonicInit(request) { + const name = request.session.user.name + return { name } + } + + render() { + return ( + <> + + Hi {this.props.name}, I'm your virtual assistant of Botonic Booking + Platform. I will help you manage your hotel reservations and much + more. + + + Select an option: + + + + + ) + } +} diff --git a/examples/booking-platform/src/assets/burger-menu.svg b/examples/booking-platform/src/assets/burger-menu.svg new file mode 100644 index 0000000000..fbeb019b8a --- /dev/null +++ b/examples/booking-platform/src/assets/burger-menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/booking-platform/src/assets/cancel.svg b/examples/booking-platform/src/assets/cancel.svg new file mode 100644 index 0000000000..f47a275268 --- /dev/null +++ b/examples/booking-platform/src/assets/cancel.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/booking-platform/src/assets/check-reservation.svg b/examples/booking-platform/src/assets/check-reservation.svg new file mode 100644 index 0000000000..da76fae125 --- /dev/null +++ b/examples/booking-platform/src/assets/check-reservation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/booking-platform/src/assets/close.svg b/examples/booking-platform/src/assets/close.svg new file mode 100644 index 0000000000..21ae175b36 --- /dev/null +++ b/examples/booking-platform/src/assets/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/booking-platform/src/assets/comment.svg b/examples/booking-platform/src/assets/comment.svg new file mode 100644 index 0000000000..e902eb39d4 --- /dev/null +++ b/examples/booking-platform/src/assets/comment.svg @@ -0,0 +1,2 @@ + + diff --git a/examples/booking-platform/src/assets/home.svg b/examples/booking-platform/src/assets/home.svg new file mode 100644 index 0000000000..de1ac8990b --- /dev/null +++ b/examples/booking-platform/src/assets/home.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/booking-platform/src/assets/hotel.svg b/examples/booking-platform/src/assets/hotel.svg new file mode 100644 index 0000000000..17a26c0336 --- /dev/null +++ b/examples/booking-platform/src/assets/hotel.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/booking-platform/src/assets/send.svg b/examples/booking-platform/src/assets/send.svg new file mode 100644 index 0000000000..a0134ae605 --- /dev/null +++ b/examples/booking-platform/src/assets/send.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/examples/booking-platform/src/index.js b/examples/booking-platform/src/index.js new file mode 100644 index 0000000000..04ead986d9 --- /dev/null +++ b/examples/booking-platform/src/index.js @@ -0,0 +1 @@ +export const config = { defaultDelay: 0, defaultTyping: 0.9 } diff --git a/examples/booking-platform/src/locales/.gitkeep b/examples/booking-platform/src/locales/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/booking-platform/src/locales/index.js b/examples/booking-platform/src/locales/index.js new file mode 100644 index 0000000000..1fb527a896 --- /dev/null +++ b/examples/booking-platform/src/locales/index.js @@ -0,0 +1 @@ +export const locales = {} diff --git a/examples/booking-platform/src/plugins.js b/examples/booking-platform/src/plugins.js new file mode 100644 index 0000000000..e571fed32b --- /dev/null +++ b/examples/booking-platform/src/plugins.js @@ -0,0 +1 @@ +export const plugins = [] diff --git a/examples/booking-platform/src/routes.js b/examples/booking-platform/src/routes.js new file mode 100644 index 0000000000..63d5427f48 --- /dev/null +++ b/examples/booking-platform/src/routes.js @@ -0,0 +1,44 @@ +import Start from './actions/start' +import Carousel from './actions/carousel' +import BookHotel from './actions/book-hotel' +import InfoReservation from './actions/info-reservation' +import CloseWebview from './actions/close-webview' +import Bye from './actions/bye' +import MoreHelp from './actions/more-help' + +export const routes = [ + { path: 'start', text: /^start$/i, action: Start }, + { + path: 'book-hotel', + payload: /hotel-.*/, + action: BookHotel, + }, + { + path: 'info-reservation', + payload: /enviar_.*/, + action: InfoReservation, + }, + { + path: 'close-webview', + payload: 'close-webview', + action: CloseWebview, + }, + { + path: 'carousel', + payload: 'carousel', + text: /^.*\b(hotel|book)\b.*$/i, + action: Carousel, + }, + { + path: 'Bye', + payload: /rating-.*/, + text: /^bye$/i, + action: Bye, + }, + { + path: 'help', + text: /.*/, + payload: /help-.*/, + action: MoreHelp, + }, +] diff --git a/examples/booking-platform/src/utils.js b/examples/booking-platform/src/utils.js new file mode 100644 index 0000000000..68cce76228 --- /dev/null +++ b/examples/booking-platform/src/utils.js @@ -0,0 +1,27 @@ +import React from 'react' +import TextField from '@material-ui/core/TextField' + +export const emailRegex = /^([A-Za-z0-9_\-.])+@([A-Za-z0-9_\-.])+\.([A-Za-z]{2,4})$/ + +export function MyTextField(props) { + let helperText = '' + if (props.error) + helperText = + props.error && props.value === '' + ? 'This field is required' + : props.errorMessage || '' + return ( + + ) +} diff --git a/examples/booking-platform/src/webchat/common.js b/examples/booking-platform/src/webchat/common.js new file mode 100644 index 0000000000..0f28c3c86d --- /dev/null +++ b/examples/booking-platform/src/webchat/common.js @@ -0,0 +1,10 @@ +import styled from 'styled-components' + +export const IconContainer = styled.div` + cursor: pointer; + width: 56px; + height: 48px; + display: flex; + align-items: center; + justify-content: center; +` diff --git a/examples/booking-platform/src/webchat/cover-component.js b/examples/booking-platform/src/webchat/cover-component.js new file mode 100644 index 0000000000..ecd33948e8 --- /dev/null +++ b/examples/booking-platform/src/webchat/cover-component.js @@ -0,0 +1,120 @@ +import React from 'react' +import styled from 'styled-components' +import { WebchatContext } from '@botonic/react' +import { emailRegex, MyTextField } from '../utils' + +const Container = styled.div` + position: absolute; + height: calc(100% - 48px); + left: 0; + top: 48px; + background: white; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding: 0px 30px 20px 30px; + z-index: 3; +` +const Button = styled.button` + width: 80px; + height: 40px; + background: #2f2f2f; + border-radius: 8px; + margin: 20px; + text-align: center; + color: white; +` + +const Text = styled.a` + position: relative; + fontfamily: Verdana; + fontweight: normal; + fontsize: 14px; + text-align: center; + width: 85%; + line-height: 1.4; + color: #000000; + margin: 0px 30px 20px 30px; +` + +export default class CustomCover extends React.Component { + static contextType = WebchatContext + constructor(props) { + super(props) + this.state = { + name: '', + email: '', + error: false, + } + } + + close() { + if (this.verifiedForm()) { + this.context.updateUser({ + name: this.state.name, + extra_data: { email: this.state.email, hotels: [] }, + }) + this.context.sendText('Start') + this.props.closeComponent() + } else { + this.setState({ error: true }) + } + } + + verifiedForm() { + if (!this.incorrectName() && !this.incorrectEmail()) { + return true + } + return false + } + + incorrectName() { + return this.state.name == '' + } + + incorrectEmail() { + return !this.state.email.match(emailRegex) || this.state.email == '' + } + + handleName = event => { + this.setState({ name: event.target.value }) + } + + handleEmail = event => { + this.setState({ email: event.target.value }) + this.setState({ error: false }) + } + + render() { + return ( + + + Welcome to Botonic Booking Platform First of all, I would need your + name and email. + + + + +

+ + We will not store the fulfilled information. You can fake the data. + +

+
+ ) + } +} diff --git a/examples/booking-platform/src/webchat/custom-button.js b/examples/booking-platform/src/webchat/custom-button.js new file mode 100644 index 0000000000..4689c3df41 --- /dev/null +++ b/examples/booking-platform/src/webchat/custom-button.js @@ -0,0 +1,25 @@ +import React from 'react' +import styled from 'styled-components' + +const StyledButton = styled.div` + cursor: pointer; + padding: 10px 10px; + margin: 5px 10px 10px 10px; + background: white; + border: 1px solid black; + font-size: 15px; + color: black; + text-align: center; + white-space: normal; + &:hover { + opacity: 0.5; + } +` + +export const CustomButton = (props) => { + return ( + + {props.children} + + ) +} diff --git a/examples/booking-platform/src/webchat/custom-header.js b/examples/booking-platform/src/webchat/custom-header.js new file mode 100644 index 0000000000..0de84c2c5b --- /dev/null +++ b/examples/booking-platform/src/webchat/custom-header.js @@ -0,0 +1,51 @@ +import React, { useContext } from 'react' +import styled from 'styled-components' +import { IconContainer } from './common' +import Close from '../assets/cancel.svg' +import Comment from '../assets/comment.svg' +import { staticAsset } from '@botonic/react' + +const Header = styled.div` + height: 48px; + background: #495e86; + z-index: 2; + display: flex; + align-items: center; +` +const Title = styled.h1` + font-family: inherit; + font-size: 16px; + font-weight: 400; + line-height: 1px; + color: #ffffff; + width: 80%; + margin: 0; +` + +export const CustomHeader = () => { + return ( +
+ + + + Botonic Booking Platform + { + Botonic.close() + }} + > + + +
+ ) +} diff --git a/examples/booking-platform/src/webchat/custom-icons.js b/examples/booking-platform/src/webchat/custom-icons.js new file mode 100644 index 0000000000..b5dbde7dfb --- /dev/null +++ b/examples/booking-platform/src/webchat/custom-icons.js @@ -0,0 +1,22 @@ +import React from 'react' +import styled from 'styled-components' +import { IconContainer } from './common' +import Send from '../assets/send.svg' +import BurgerMenu from '../assets/burger-menu.svg' +import { staticAsset } from '@botonic/react' + +export const Icon = styled.img` + width: 18px; +` + +export const CustomSendButton = () => ( + + + +) + +export const CustomMenuButton = () => ( + + + +) diff --git a/examples/booking-platform/src/webchat/custom-persistentMenu-button.js b/examples/booking-platform/src/webchat/custom-persistentMenu-button.js new file mode 100644 index 0000000000..932bf8c352 --- /dev/null +++ b/examples/booking-platform/src/webchat/custom-persistentMenu-button.js @@ -0,0 +1,56 @@ +import React, { useContext } from 'react' +import styled from 'styled-components' +import { WebchatContext } from '@botonic/react' +import { IconContainer } from './common' + +const StyledButton = styled.div` + cursor: pointer; + height: 50px; + width: 100%; + background: #ffffff; + display: flex; + justify-content: left; + align-items: center; + &:hover { + opacity: 0.5; + } +` + +const Text = styled.p` + font-size: 15px; + font-weight: 400; + color: #000000; + text-align: left; + margin: 0; +` + +export const CustomMenuButton = (props) => { + const { sendInput, openWebview } = useContext(WebchatContext) + + const handleClick = (event) => { + if (props.webview) openWebview(props.webview, props.params) + else if (props.payload) { + sendInput({ + type: 'text', + data: String(props.label), + payload: props.payload, + }) + } else if (props.onClick) props.onClick() + } + + return ( + handleClick(e)} + > + + + + {props.label} + + ) +} diff --git a/examples/booking-platform/src/webchat/custom-persistentMenu.js b/examples/booking-platform/src/webchat/custom-persistentMenu.js new file mode 100644 index 0000000000..99e4afeccb --- /dev/null +++ b/examples/booking-platform/src/webchat/custom-persistentMenu.js @@ -0,0 +1,39 @@ +import React, { useContext } from 'react' +import styled from 'styled-components' +import { WebchatContext } from '@botonic/react' +import { CustomMenuButton } from './custom-persistentMenu-button' +import Home from '../assets/home.svg' +import CheckReservation from "../assets/check-reservation.svg" +import Close from "../assets/close.svg" +import { staticAsset } from '@botonic/react' + +const ButtonsContainer = styled.div` + width: 100%; + bottom: 0; + position: absolute; + z-index: 2; + text-align: center; + background: white; +` + +export const CustomPersistentMenu = ({ onClick, options }) => { + return ( + + + + + + ) +} diff --git a/examples/booking-platform/src/webchat/custom-trigger.js b/examples/booking-platform/src/webchat/custom-trigger.js new file mode 100644 index 0000000000..b438f01c56 --- /dev/null +++ b/examples/booking-platform/src/webchat/custom-trigger.js @@ -0,0 +1,75 @@ +import React from 'react' +import styled, { keyframes } from 'styled-components' +import Hotel from '../assets/hotel.svg' +import { staticAsset } from '@botonic/react' + +const AnimatedText = styled.div` + top: 12px; + right: -${(props) => props.widthText}px; + position: absolute; + animation: ${(props) => props.move} 4s; + animation-delay: 1s; + width: ${(props) => props.widthText}px; + opacity: 0; + color: #495e86; + font-family: Arial; + font-weight: 300; + font-size: 13px; + letter-spacing: 0.3px; + line-height: 20px; +` + +const AnimatedContainer = styled.div` + cursor: pointer; + position: fixed; + display: flex; + align-items: center; + justify-content: space-between; + bottom: 16px; + right: 16px; + border-radius: 100px; + height: 44px; + width: 24px; + border: 1px solid #d7d7d8; + background-color: #ffffff; + z-index: 1002; + overflow: hidden; + animation: ${(props) => props.resize} 4s; + animation-delay: 1s; + box-sizing: content-box; + padding: 0px 10px; +` + +export const CustomTrigger = () => { + const widthText = 170 + const maxWidthResize = 15 + widthText + + let move = keyframes` + 0% {right: -${widthText}px; opacity: 0;} + 20% {right: -6px; opacity: 1;} + 80% {right: -6px; opacity: 1;} + 100% {right: -${widthText}px; opacity: 0;} +` + let resize = keyframes` + 0% {width: 24px;} + 20% {width: ${maxWidthResize}px;} + 80% {width: ${maxWidthResize}px;} + 100% {width: 24px;} +` + + return ( + + + + Botonic Booking Platform + + + ) +} diff --git a/examples/booking-platform/src/webchat/hotel-form-message.js b/examples/booking-platform/src/webchat/hotel-form-message.js new file mode 100644 index 0000000000..9dac3a1de2 --- /dev/null +++ b/examples/booking-platform/src/webchat/hotel-form-message.js @@ -0,0 +1,190 @@ +import React from 'react' +import styled from 'styled-components' +import { WebchatContext, customMessage } from '@botonic/react' +import { + MuiPickersUtilsProvider, + KeyboardDatePicker, +} from '@material-ui/pickers' +import DateFnsUtils from '@date-io/date-fns' +import deLocale from 'date-fns/locale/en-US' +import Autocomplete from '@material-ui/lab/Autocomplete' +import { MyTextField } from '../utils' + +const Form = styled.div` + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + width: 100%; +` + +const Button = styled.button` + height: 40px; + background: #2f2f2f; + border-radius: 8px; + margin-top: 5px; + text-align: center; + color: white; +` + +class HotelForm extends React.Component { + static contextType = WebchatContext + constructor(props) { + super(props) + this.state = { + phone: '', + guests: '', + date: null, + error: false, + edit: true, + } + } + + formatDate(date) { + return date.toISOString().substring(0, 10).split('-').reverse().join('/') + } + + close() { + if (this.verifiedForm()) { + const date = this.formatDate(this.state.date) + const payload = `enviar_${this.state.phone}_${this.state.guests}_${date}` + this.setState({ edit: false, error: false }) + const formInfo = { + hotel: this.props.hotel, + guests: this.state.guests, + date: date, + phone: this.state.phone, + } + const hotels = this.context.webchatState.session.user.extra_data.hotels + hotels.unshift(formInfo) + this.context.updateUser({ + extra_data: { hotels }, + }) + this.context.sendPayload(payload) + } else { + this.setState({ error: true }) + } + } + + verifiedForm() { + if ( + this.state.phone === '' || + this.state.guests === '' || + this.state.date === null + ) + return false + return true + } + + handlePhone = event => { + this.setState({ phone: event.target.value }) + } + + handleDate = date => { + this.setState({ date: date }) + } + + handleGuests = value => { + this.setState({ guests: value ? value.guests : '' }) + } + + render() { + const guestsOptions = [ + { guests: '1' }, + { guests: '2' }, + { guests: '3' }, + { guests: '4' }, + { guests: '5' }, + ] + return ( +
+

+ + We will not store the fulfilled information. You can fake the data. + +

+ + option.guests} + getOptionSelected={(option, value) => option.guests == value.guests} + onChange={(event, newValue) => { + this.handleGuests(newValue) + }} + style={{ + width: '100%', + margin: '0px -63px 5px 0px', + }} + renderInput={params => ( + + )} + /> + + + + {this.state.edit ? ( + + ) : ( + + )} + + ) + } +} + +export default customMessage({ + name: 'hotel-form', + component: HotelForm, + defaultProps: { + style: { + width: '100%', + backgroundColor: '#ffffff', + border: 'none', + boxShadow: 'none', + paddingLeft: '5px', + }, + imageStyle: { display: 'none' }, + blob: false, + enableTimestamps: false, + }, +}) diff --git a/examples/booking-platform/src/webchat/index.js b/examples/booking-platform/src/webchat/index.js new file mode 100644 index 0000000000..00c5cdebb7 --- /dev/null +++ b/examples/booking-platform/src/webchat/index.js @@ -0,0 +1,108 @@ +import { CustomHeader } from './custom-header' +import { CustomTrigger } from './custom-trigger' +import { CustomPersistentMenu } from './custom-persistentMenu' +import { CustomSendButton, CustomMenuButton } from './custom-icons' +import { CustomButton } from './custom-button' +import CustomCover from './cover-component' +import HotelForm from './hotel-form-message' +import RateMessage from './rate-message' +import RateUserMessage from './rate-user-message' +import Hotel from '../assets/hotel.svg' +import CheckReservationsWebview from '../webviews/components/check-reservations' + +export const webchat = { + storage: sessionStorage, + storageKey: 'botonic-hotel-reservation-example', + coverComponent: CustomCover, + + theme: { + mobileBreakpoint: 460, + style: { + position: 'fixed', + right: 20, + bottom: 20, + width: 400, + height: 500, + margin: 'auto', + backgroundColor: 'white', + borderRadius: 8, + boxShadow: '0 0 50px #C1CED7', + overflow: 'hidden', + fontFamily: 'Arial', + lineHeight: 1.3, + }, + + message: { + customTypes: [HotelForm, RateMessage, RateUserMessage], + bot: { + image: Hotel, + imageStyle: { + alignItems: 'flex-start', + }, + style: { + color: '#000000', + background: '#ffffff', + borderRadius: '5px', + border: '1px solid #495e86', + borderColor: '#495e86', + }, + blobTickStyle: { + alignItems: 'flex-start', + }, + }, + user: { + style: { + color: '#ffffff', + borderRadius: '5px', + background: '#495e86', + }, + }, + timestamps: { + format: () => { + return new Date().toISOString().substring(11, 16) + }, + style: { + color: 'black', + fontFamily: 'Arial', + fontSize: '12px', + padding: '1px 16px 0px 50px', + height: '30px', + marginTop: '-5px', + }, + }, + }, + + userInput: { + style: { + background: 'white', + minHeight: '45px', + }, + box: { + style: { + border: 'none', + color: 'black', + background: 'white', + paddingLeft: 20, + marginRight: 10, + }, + placeholder: 'Write a message...', + }, + + persistentMenu: [ + { label: 'Check your reservation', webview: CheckReservationsWebview }, + { label: 'Book a hotel', payload: 'carousel' }, + { closeLabel: 'Close' }, + ], + menu: { + darkBackground: true, + custom: CustomPersistentMenu, + }, + }, + + customTrigger: CustomTrigger, + customHeader: CustomHeader, + customButton: CustomButton, + customMenuButton: CustomMenuButton, + customSendButton: CustomSendButton, + }, +} diff --git a/examples/booking-platform/src/webchat/rate-message.js b/examples/booking-platform/src/webchat/rate-message.js new file mode 100644 index 0000000000..65115a2a67 --- /dev/null +++ b/examples/booking-platform/src/webchat/rate-message.js @@ -0,0 +1,54 @@ +import React from 'react' +import styled from 'styled-components' +import { WebchatContext, customMessage } from '@botonic/react' +import ReactStars from 'react-stars' + +const Text = styled.p` + color: black; + text-align: flex-start; + margin: 0px; +` + +class RateMessage extends React.Component { + static contextType = WebchatContext + constructor(props) { + super(props) + this.state = { + rate: 0, + edit: true, + } + } + + ratingChanged = (newRating) => { + console.log(newRating) + if (this.state.edit) { + this.setState({ rate: newRating }) + this.setState({ edit: false }) + const payload = `rating-${newRating}` + this.context.sendPayload(payload) + } + } + render() { + return ( + <> + Before we say goodbye, please rate our service + {this.state.edit && ( + + )} + + ) + } +} + +export default customMessage({ + name: 'rate-message', + component: RateMessage, +}) diff --git a/examples/booking-platform/src/webchat/rate-user-message.js b/examples/booking-platform/src/webchat/rate-user-message.js new file mode 100644 index 0000000000..afb5c22224 --- /dev/null +++ b/examples/booking-platform/src/webchat/rate-user-message.js @@ -0,0 +1,26 @@ +import React from 'react' +import { customMessage, WebchatContext } from '@botonic/react' +import ReactStars from 'react-stars' + +class RateUserMessage extends React.Component { + static contextType = WebchatContext + render() { + return ( + + ) + } +} + +export default customMessage({ + name: 'rate-user-message', + component: RateUserMessage, + defaultProps: { + from: 'user', + }, +}) diff --git a/examples/booking-platform/src/webviews/components/check-reservations.js b/examples/booking-platform/src/webviews/components/check-reservations.js new file mode 100644 index 0000000000..1b22ee9f33 --- /dev/null +++ b/examples/booking-platform/src/webviews/components/check-reservations.js @@ -0,0 +1,188 @@ +import React from 'react' +import { RequestContext } from '@botonic/react' +import styled from 'styled-components' +import { MyTextField } from '../../utils' + +const Form = styled.div` + position: absolute; + width: calc(100% - 60px); + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + padding: 20px 30px 20px 30px; +` + +const Button = styled.button` + width: 80px; + height: 40px; + background: #2f2f2f; + border-radius: 8px; + margin-top: 20px; + text-align: center; + color: white; +` + +const Text = styled.p` + margin: 5px; + width: 85%; + color: #000000; + line-height: 1.2; +` + +export default class CheckReservationsWebview extends React.Component { + static contextType = RequestContext + constructor(props) { + super(props) + this.state = { + name: '', + email: '', + hotels: undefined, + correctName: '', + correctEmail: '', + errorName: false, + errorEmail: false, + identified: false, + } + } + + close() { + this.context.closeWebview({ + payload: 'close-webview', + }) + } + + singIn() { + if (this.verifiedForm()) { + this.setState({ identified: true }) + } + } + + verifiedForm() { + const correctName = !this.incorrectName() + const correctEmail = !this.incorrectEmail() + return correctName && correctEmail + } + + incorrectName() { + if (this.state.name !== this.state.correctName) { + this.setState({ errorName: true }) + return true + } + return false + } + + incorrectEmail() { + if (this.state.email !== this.state.correctEmail) { + this.setState({ errorEmail: true }) + return true + } + return false + } + + handleName = (event) => { + this.setState({ name: event.target.value, errorName: false }) + } + handleEmail = (event) => { + this.setState({ email: event.target.value, errorEmail: false }) + } + + getName(botContext) { + return botContext.session.user.name + } + + getEmail(botContext) { + return botContext.session.user.extra_data.email + } + + getHotels(botContext) { + return botContext.session.user.extra_data.hotels + } + + render() { + this.state.hotels = this.getHotels(this.context) + this.state.correctName = this.getName(this.context) + this.state.correctEmail = this.getEmail(this.context) + + const InfoDatos = (props) => { + return ( + <> +
+ {props.hotel} + + + Name: {this.state.correctName} +
+ Guests: {props.guests} +
+ Date: {props.date} +
+
+ Email: + + {this.state.correctEmail} + +
+ Phone: + {props.phone} +
+
+
+ + ) + } + return ( +
+ {this.state.identified ? ( + <> +

Your reservation

+ {this.state.hotels.map((h, i) => ( + + ))} + + + ) : ( + <> + + To check your reservation, enter your name and email. + + + + + + )} + + ) + } +} diff --git a/examples/booking-platform/src/webviews/index.js b/examples/booking-platform/src/webviews/index.js new file mode 100644 index 0000000000..6f79d9d2f8 --- /dev/null +++ b/examples/booking-platform/src/webviews/index.js @@ -0,0 +1,3 @@ +import WebviewReserva from './components/check-reservations' + +export const webviews = [WebviewReserva] diff --git a/examples/booking-platform/tests/.gitkeep b/examples/booking-platform/tests/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/booking-platform/webpack-entries/dev-entry.js b/examples/booking-platform/webpack-entries/dev-entry.js new file mode 100644 index 0000000000..00aece8237 --- /dev/null +++ b/examples/booking-platform/webpack-entries/dev-entry.js @@ -0,0 +1,14 @@ +import { DevApp } from '@botonic/react' +import { routes } from '../src/routes' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { webchat } from '../src/webchat' +import { config } from '../src' + +export const app = new DevApp({ + routes, + locales, + plugins, + ...webchat, + ...config, +}) diff --git a/examples/booking-platform/webpack-entries/node-entry.js b/examples/booking-platform/webpack-entries/node-entry.js new file mode 100644 index 0000000000..cc3df2f809 --- /dev/null +++ b/examples/booking-platform/webpack-entries/node-entry.js @@ -0,0 +1,7 @@ +import { NodeApp } from '@botonic/react' +import { routes } from '../src/routes' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { config } from '../src' + +export const app = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/examples/booking-platform/webpack-entries/webchat-entry.js b/examples/booking-platform/webpack-entries/webchat-entry.js new file mode 100644 index 0000000000..03c0e4485f --- /dev/null +++ b/examples/booking-platform/webpack-entries/webchat-entry.js @@ -0,0 +1,4 @@ +import { WebchatApp } from '@botonic/react' +import { webchat } from '../src/webchat' + +export const app = new WebchatApp(webchat) diff --git a/examples/booking-platform/webpack-entries/webviews-entry.js b/examples/booking-platform/webpack-entries/webviews-entry.js new file mode 100644 index 0000000000..f9052ba84b --- /dev/null +++ b/examples/booking-platform/webpack-entries/webviews-entry.js @@ -0,0 +1,5 @@ +import { WebviewApp } from '@botonic/react' +import { webviews } from '../src/webviews' +import { locales } from '../src/locales' + +export const app = new WebviewApp({ webviews, locales }) diff --git a/examples/booking-platform/webpack.config.js b/examples/booking-platform/webpack.config.js new file mode 100644 index 0000000000..03250b1239 --- /dev/null +++ b/examples/booking-platform/webpack.config.js @@ -0,0 +1,338 @@ +const path = require('path') +const webpack = require('webpack') +const TerserPlugin = require('terser-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const { CleanWebpackPlugin } = require('clean-webpack-plugin') +const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin') + +const ROOT = path.resolve(__dirname, 'src') +const ASSETS_DIRNAME = 'assets' + +const OUTPUT_PATH = path.resolve(__dirname, 'dist') +const WEBVIEWS_PATH = path.resolve(OUTPUT_PATH, 'webviews') + +const BOTONIC_PATH = path.resolve( + __dirname, + 'node_modules', + '@botonic', + 'react' +) + +const WEBPACK_MODE = { + DEVELOPMENT: 'development', + PRODUCTION: 'production', +} + +const BOTONIC_TARGETS = { + ALL: 'all', + DEV: 'dev', + NODE: 'node', + WEBVIEWS: 'webviews', + WEBCHAT: 'webchat', +} + +const WEBPACK_ENTRIES_DIRNAME = 'webpack-entries' +const WEBPACK_ENTRIES = { + DEV: 'dev-entry.js', + NODE: 'node-entry.js', + WEBCHAT: 'webchat-entry.js', + WEBVIEWS: 'webviews-entry.js', +} + +const TEMPLATES = { + WEBCHAT: 'webchat.template.html', + WEBVIEWS: 'webview.template.html', +} + +const UMD_LIBRARY_TARGET = 'umd' +const BOTONIC_LIBRARY_NAME = 'Botonic' +const WEBCHAT_FILENAME = 'webchat.botonic.js' + +function sourceMap(mode) { + if (mode === WEBPACK_MODE.PRODUCTION) return 'hidden-source-map' + else if (mode === WEBPACK_MODE.DEVELOPMENT) return 'eval-cheap-source-map' + else + throw new Error( + 'Invalid mode argument (' + mode + '). See package.json scripts' + ) +} + +const optimizationConfig = { + minimize: true, + minimizer: [ + new TerserPlugin({ + parallel: true, + terserOptions: { + keep_fnames: true, + }, + }), + ], +} + +const resolveConfig = { + extensions: ['*', '.js', '.jsx', '.ts', '.tsx', '.mjs'], + alias: { + react: path.resolve(__dirname, 'node_modules', 'react'), + 'styled-components': path.resolve( + __dirname, + 'node_modules', + 'styled-components' + ), + }, + fallback: { + util: require.resolve('util'), + }, +} + +const babelLoaderConfig = { + test: /\.(js|jsx|ts|tsx|mjs)$/, + exclude: /node_modules\/(?!@botonic)/, + use: { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + cacheDirectory: true, + presets: [ + '@babel/react', + [ + '@babel/preset-env', + { + modules: false, + }, + ], + ], + plugins: [ + '@babel/plugin-transform-runtime', + ], + }, + }, +} + +function fileLoaderConfig(outputPath) { + return { + test: /\.(jpe?g|png|gif|svg)$/i, + use: [ + { + loader: 'file-loader', + options: { + outputPath: outputPath, + }, + }, + ], + } +} + +const nullLoaderConfig = { + test: /\.(scss|css)$/, + use: 'null-loader', +} + +const stylesLoaderConfig = { + test: /\.(scss|css)$/, + use: [ + { + loader: 'style-loader', + options: { + insert: function (element) { + if (!window._botonicInsertStyles) window._botonicInsertStyles = [] + window._botonicInsertStyles.push(element) + }, + }, + }, + 'css-loader', + 'sass-loader', + ], +} + +const imageminPlugin = new ImageMinimizerPlugin({ + minimizer: { + implementation: ImageMinimizerPlugin.imageminMinify, + options: { + plugins: [ + "imagemin-gifsicle", + "imagemin-jpegtran", + "imagemin-optipng", + "imagemin-svgo", + ], + }, + }, +}) + +function botonicDevConfig(mode) { + return { + mode: mode, + devtool: sourceMap(mode), + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.DEV), + target: 'web', + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + devServer: { + static: [OUTPUT_PATH], + liveReload: true, + historyApiFallback: true, + hot: true, + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + new webpack.HotModuleReplacementPlugin(), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + ...(mode === 'development' + ? { MODELS_BASE_URL: JSON.stringify('http://localhost:8080') } + : {}), + }), + new webpack.ProvidePlugin({ + process: 'process/browser', + }), + ], + } +} + +function botonicWebchatConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBCHAT), + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + WEBCHAT_PUSHER_KEY: JSON.stringify(process.env.WEBCHAT_PUSHER_KEY), + }), + ], + } +} + +function botonicWebviewsConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBVIEWS), + output: { + filename: 'webviews.js', + library: 'BotonicWebview', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: WEBVIEWS_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(path.join('..', ASSETS_DIRNAME)), + stylesLoaderConfig, + ], + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBVIEWS), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +function botonicNodeConfig(mode) { + return { + context: ROOT, + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'node', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.NODE), + resolve: resolveConfig, + output: { + filename: 'bot.js', + library: 'bot', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + nullLoaderConfig, + ], + }, + plugins: [ + new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: false, + IS_NODE: true, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +module.exports = function (env, argv) { + if (env.target === BOTONIC_TARGETS.ALL) { + return [ + botonicNodeConfig(argv.mode), + botonicWebviewsConfig(argv.mode), + botonicWebchatConfig(argv.mode), + ] + } else if (env.target === BOTONIC_TARGETS.DEV) { + return [botonicDevConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.NODE) { + return [botonicNodeConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBVIEWS) { + return [botonicWebviewsConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBCHAT) { + return [botonicWebchatConfig(argv.mode)] + } else { + return null + } +} diff --git a/examples/childs/babel.config.js b/examples/childs/babel.config.js new file mode 100644 index 0000000000..ce0c91d3ff --- /dev/null +++ b/examples/childs/babel.config.js @@ -0,0 +1,29 @@ +/* + * This babel configuration is used along with Jest for execute tests, + * do not modify to avoid conflicts with webpack.config.js. + */ + +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + [ + '@babel/react', + { + targets: { + node: 'current', + }, + }, + ], + ], + plugins: [ + require('@babel/plugin-transform-modules-commonjs'), + require('@babel/plugin-transform-runtime'), + ], +} diff --git a/examples/childs/jest.config.js b/examples/childs/jest.config.js new file mode 100644 index 0000000000..d2514ba654 --- /dev/null +++ b/examples/childs/jest.config.js @@ -0,0 +1,18 @@ +const path = require('path') + +module.exports = { + rootDir: "tests", + transform: { + "^.+\\.jsx?$": [ + "babel-jest", + { "configFile": path.resolve(__dirname, "babel.config.js") }, + ], + }, + transformIgnorePatterns: [ + "/node_modules/(?!@botonic).+\\.(js|jsx|ts|tsx)$" + ], + moduleNameMapper: { + "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", + "\\.(scss|css|less)$": "/__mocks__/styleMock.js" + } +} \ No newline at end of file diff --git a/examples/childs/package.json b/examples/childs/package.json new file mode 100644 index 0000000000..a11c66e934 --- /dev/null +++ b/examples/childs/package.json @@ -0,0 +1,20 @@ +{ + "name": "childs", + "version": "0.25.0", + "scripts": { + "build": "webpack --env target=all --mode=production", + "start": "webpack-dev-server --env target=dev --mode=development", + "deploy": "botonic deploy -c build", + "test": "jest" + }, + "dependencies": { + "@babel/runtime": "^7.23.9", + "@botonic/react": "0.25.0-alpha.5" + }, + "devDependencies": { + "@botonic/dx": "0.25.0-alpha.5" + }, + "engines": { + "node": ">=20.0.0" + } +} diff --git a/examples/childs/src/actions/bacon.jsx b/examples/childs/src/actions/bacon.jsx new file mode 100644 index 0000000000..977bd9090f --- /dev/null +++ b/examples/childs/src/actions/bacon.jsx @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return You chose Bacon on Pizza + } +} diff --git a/examples/childs/src/actions/cheese.jsx b/examples/childs/src/actions/cheese.jsx new file mode 100644 index 0000000000..4e2b8fbb19 --- /dev/null +++ b/examples/childs/src/actions/cheese.jsx @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return You chose Cheese on Pasta + } +} diff --git a/examples/childs/src/actions/hi.jsx b/examples/childs/src/actions/hi.jsx new file mode 100644 index 0000000000..fa8886c33d --- /dev/null +++ b/examples/childs/src/actions/hi.jsx @@ -0,0 +1,14 @@ +import { Reply, Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return ( + + Hi! Choose what you want to eat: + Pizza + Pasta + + ) + } +} diff --git a/examples/childs/src/actions/pasta.jsx b/examples/childs/src/actions/pasta.jsx new file mode 100644 index 0000000000..b6e27f5fdd --- /dev/null +++ b/examples/childs/src/actions/pasta.jsx @@ -0,0 +1,14 @@ +import { Reply, Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return ( + + You chose Pasta! Choose one ingredient: + Cheese + Tomato + + ) + } +} diff --git a/examples/childs/src/actions/pizza.jsx b/examples/childs/src/actions/pizza.jsx new file mode 100644 index 0000000000..4fd831c176 --- /dev/null +++ b/examples/childs/src/actions/pizza.jsx @@ -0,0 +1,14 @@ +import { Reply, Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return ( + + You chose Pizza! Choose one ingredient: + Sausage + Bacon + + ) + } +} diff --git a/examples/childs/src/actions/sausage.jsx b/examples/childs/src/actions/sausage.jsx new file mode 100644 index 0000000000..b797071e68 --- /dev/null +++ b/examples/childs/src/actions/sausage.jsx @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return You chose Sausage on Pizza + } +} diff --git a/examples/childs/src/actions/tomato.jsx b/examples/childs/src/actions/tomato.jsx new file mode 100644 index 0000000000..ee1f920cc0 --- /dev/null +++ b/examples/childs/src/actions/tomato.jsx @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return You chose Tomato on Pasta + } +} diff --git a/examples/childs/src/assets/.gitkeep b/examples/childs/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/childs/src/index.js b/examples/childs/src/index.js new file mode 100644 index 0000000000..f7334846a7 --- /dev/null +++ b/examples/childs/src/index.js @@ -0,0 +1 @@ +export const config = { defaultDelay: 0, defaultTyping: 0 } diff --git a/examples/childs/src/locales/.gitkeep b/examples/childs/src/locales/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/childs/src/locales/index.js b/examples/childs/src/locales/index.js new file mode 100644 index 0000000000..1fb527a896 --- /dev/null +++ b/examples/childs/src/locales/index.js @@ -0,0 +1 @@ +export const locales = {} diff --git a/examples/childs/src/plugins.js b/examples/childs/src/plugins.js new file mode 100644 index 0000000000..e571fed32b --- /dev/null +++ b/examples/childs/src/plugins.js @@ -0,0 +1 @@ +export const plugins = [] diff --git a/examples/childs/src/routes.js b/examples/childs/src/routes.js new file mode 100644 index 0000000000..de6f556b3b --- /dev/null +++ b/examples/childs/src/routes.js @@ -0,0 +1,35 @@ +import Bacon from './actions/bacon' +import Cheese from './actions/cheese' +import Hi from './actions/hi' +import Pasta from './actions/pasta' +import Pizza from './actions/pizza' +import Sausage from './actions/sausage' +import Tomato from './actions/tomato' + +export const routes = [ + { + path: 'hi', + text: /^hi$/i, + action: Hi, + childRoutes: [ + { + path: 'pizza', + payload: /^pizza$/i, + action: Pizza, + childRoutes: [ + { path: 'sausage', payload: /^sausage$/i, action: Sausage }, + { path: 'bacon', payload: /^bacon$/i, action: Bacon }, + ], + }, + { + path: 'pasta', + payload: /^pasta$/i, + action: Pasta, + childRoutes: [ + { path: 'cheese', payload: /^cheese$/i, action: Cheese }, + { path: 'tomato', payload: /^tomato$/i, action: Tomato }, + ], + }, + ], + }, +] diff --git a/examples/childs/src/webchat/index.js b/examples/childs/src/webchat/index.js new file mode 100644 index 0000000000..80a09f176c --- /dev/null +++ b/examples/childs/src/webchat/index.js @@ -0,0 +1 @@ +export const webchat = {} diff --git a/examples/childs/src/webviews/index.js b/examples/childs/src/webviews/index.js new file mode 100644 index 0000000000..4ca4089ae0 --- /dev/null +++ b/examples/childs/src/webviews/index.js @@ -0,0 +1 @@ +export const webviews = [] diff --git a/examples/childs/tests/__mocks__/fileMock.js b/examples/childs/tests/__mocks__/fileMock.js new file mode 100644 index 0000000000..0e56c5b5f7 --- /dev/null +++ b/examples/childs/tests/__mocks__/fileMock.js @@ -0,0 +1 @@ +module.exports = 'test-file-stub' diff --git a/examples/childs/tests/__mocks__/styleMock.js b/examples/childs/tests/__mocks__/styleMock.js new file mode 100644 index 0000000000..4ba52ba2c8 --- /dev/null +++ b/examples/childs/tests/__mocks__/styleMock.js @@ -0,0 +1 @@ +module.exports = {} diff --git a/examples/childs/tests/app.test.js b/examples/childs/tests/app.test.js new file mode 100644 index 0000000000..3bc2becfbd --- /dev/null +++ b/examples/childs/tests/app.test.js @@ -0,0 +1,89 @@ +import { + BotonicInputTester, + BotonicOutputTester, + NodeApp, +} from '@botonic/react' + +import { config } from '../src/' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +const app = new NodeApp({ routes, locales, plugins, ...config }) + +const input = new BotonicInputTester(app) +const output = new BotonicOutputTester(app) + +test('TEST: hi.js', async () => { + const response = await input.text('Hi') + await expect(response).toBe( + output.text( + 'Hi! Choose what you want to eat:', + output.replies( + { text: 'Pizza', payload: 'pizza' }, + { text: 'Pasta', path: 'pasta' } + ) + ) + ) +}) + +test('TEST: pizza.js', async () => { + const response = await input.payload('pizza', undefined, 'hi') + expect(response).toBe( + output.text( + 'You chose Pizza! Choose one ingredient:', + output.replies( + { text: 'Sausage', payload: 'sausage' }, + { text: 'Bacon', payload: 'bacon' } + ) + ) + ) +}) + +test('TEST: sausage.js', async () => { + const response = await input.payload('sausage', undefined, 'hi/pizza') + expect(response).toBe( + output.text('You chose Sausage on Pizza') + ) +}) + +test('TEST: bacon.js', async () => { + const response = await input.path('bacon', undefined, 'hi/pizza') + expect(response).toBe( + output.text('You chose Bacon on Pizza') + ) +}) + +test('TEST: pasta.js', async () => { + const response = await input.payload('pasta', undefined, 'hi') + expect(response).toBe( + output.text( + 'You chose Pasta! Choose one ingredient:', + output.replies( + { text: 'Cheese', payload: 'cheese' }, + { text: 'Tomato', payload: 'tomato' } + ) + ) + ) +}) + +test('TEST: cheese.js', async () => { + const response = await input.payload('cheese', undefined, 'hi/pasta') + expect(response).toBe( + output.text('You chose Cheese on Pasta') + ) +}) + +test('TEST: tomato.js', async () => { + const response = await input.path('tomato', undefined, 'hi/pasta') + expect(response).toBe( + output.text('You chose Tomato on Pasta') + ) +}) + +test('TEST: (404) NOT FOUND', async () => { + const response = await input.text('whatever') + expect(response).toBe( + output.text("I don't understand you") + ) +}) diff --git a/examples/childs/webpack-entries/dev-entry.js b/examples/childs/webpack-entries/dev-entry.js new file mode 100644 index 0000000000..6e32a58053 --- /dev/null +++ b/examples/childs/webpack-entries/dev-entry.js @@ -0,0 +1,15 @@ +import { DevApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' +import { webchat } from '../src/webchat' + +export const app = new DevApp({ + routes, + locales, + plugins, + ...webchat, + ...config, +}) diff --git a/examples/childs/webpack-entries/node-entry.js b/examples/childs/webpack-entries/node-entry.js new file mode 100644 index 0000000000..fbb24edb77 --- /dev/null +++ b/examples/childs/webpack-entries/node-entry.js @@ -0,0 +1,8 @@ +import { NodeApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +export const app = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/examples/childs/webpack-entries/webchat-entry.js b/examples/childs/webpack-entries/webchat-entry.js new file mode 100644 index 0000000000..4bd967e0c4 --- /dev/null +++ b/examples/childs/webpack-entries/webchat-entry.js @@ -0,0 +1,5 @@ +import { WebchatApp } from '@botonic/react' + +import { webchat } from '../src/webchat' + +export const app = new WebchatApp(webchat) diff --git a/examples/childs/webpack-entries/webviews-entry.js b/examples/childs/webpack-entries/webviews-entry.js new file mode 100644 index 0000000000..030c2fc4f9 --- /dev/null +++ b/examples/childs/webpack-entries/webviews-entry.js @@ -0,0 +1,6 @@ +import { WebviewApp } from '@botonic/react' + +import { locales } from '../src/locales' +import { webviews } from '../src/webviews' + +export const app = new WebviewApp({ webviews, locales }) diff --git a/examples/childs/webpack.config.js b/examples/childs/webpack.config.js new file mode 100644 index 0000000000..a40a3bf230 --- /dev/null +++ b/examples/childs/webpack.config.js @@ -0,0 +1,339 @@ +const path = require('path') +const webpack = require('webpack') +const TerserPlugin = require('terser-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const { CleanWebpackPlugin } = require('clean-webpack-plugin') +const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin') + +const ROOT = path.resolve(__dirname, 'src') +const ASSETS_DIRNAME = 'assets' + +const OUTPUT_PATH = path.resolve(__dirname, 'dist') +const WEBVIEWS_PATH = path.resolve(OUTPUT_PATH, 'webviews') + + +const BOTONIC_PATH = path.resolve( + __dirname, + 'node_modules', + '@botonic', + 'react' +) + +const WEBPACK_MODE = { + DEVELOPMENT: 'development', + PRODUCTION: 'production', +} + +const BOTONIC_TARGETS = { + ALL: 'all', + DEV: 'dev', + NODE: 'node', + WEBVIEWS: 'webviews', + WEBCHAT: 'webchat', +} + +const WEBPACK_ENTRIES_DIRNAME = 'webpack-entries' +const WEBPACK_ENTRIES = { + DEV: 'dev-entry.js', + NODE: 'node-entry.js', + WEBCHAT: 'webchat-entry.js', + WEBVIEWS: 'webviews-entry.js', +} + +const TEMPLATES = { + WEBCHAT: 'webchat.template.html', + WEBVIEWS: 'webview.template.html', +} + +const UMD_LIBRARY_TARGET = 'umd' +const BOTONIC_LIBRARY_NAME = 'Botonic' +const WEBCHAT_FILENAME = 'webchat.botonic.js' + +function sourceMap(mode) { + if (mode === WEBPACK_MODE.PRODUCTION) return 'hidden-source-map' + else if (mode === WEBPACK_MODE.DEVELOPMENT) return 'eval-cheap-source-map' + else + throw new Error( + 'Invalid mode argument (' + mode + '). See package.json scripts' + ) +} + +const optimizationConfig = { + minimize: true, + minimizer: [ + new TerserPlugin({ + parallel: true, + terserOptions: { + keep_fnames: true, + }, + }), + ], +} + +const resolveConfig = { + extensions: ['*', '.js', '.jsx', '.ts', '.tsx', '.mjs'], + alias: { + react: path.resolve(__dirname, 'node_modules', 'react'), + 'styled-components': path.resolve( + __dirname, + 'node_modules', + 'styled-components' + ), + }, + fallback: { + util: require.resolve('util'), + }, +} + +const babelLoaderConfig = { + test: /\.(js|jsx|ts|tsx|mjs)$/, + exclude: /node_modules\/(?!@botonic)/, + use: { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + cacheDirectory: true, + presets: [ + '@babel/react', + [ + '@babel/preset-env', + { + modules: false, + }, + ], + ], + plugins: [ + '@babel/plugin-transform-runtime', + ], + }, + }, +} + +function fileLoaderConfig(outputPath) { + return { + test: /\.(jpe?g|png|gif|svg)$/i, + use: [ + { + loader: 'file-loader', + options: { + outputPath: outputPath, + }, + }, + ], + } +} + +const nullLoaderConfig = { + test: /\.(scss|css)$/, + use: 'null-loader', +} + +const stylesLoaderConfig = { + test: /\.(scss|css)$/, + use: [ + { + loader: 'style-loader', + options: { + insert: function (element) { + if (!window._botonicInsertStyles) window._botonicInsertStyles = [] + window._botonicInsertStyles.push(element) + }, + }, + }, + 'css-loader', + 'sass-loader', + ], +} + +const imageminPlugin = new ImageMinimizerPlugin({ + minimizer: { + implementation: ImageMinimizerPlugin.imageminMinify, + options: { + plugins: [ + "imagemin-gifsicle", + "imagemin-jpegtran", + "imagemin-optipng", + "imagemin-svgo", + ], + }, + }, +}) + +function botonicDevConfig(mode) { + return { + mode: mode, + devtool: sourceMap(mode), + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.DEV), + target: 'web', + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + devServer: { + static: [OUTPUT_PATH], + liveReload: true, + historyApiFallback: true, + hot: true, + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + new webpack.HotModuleReplacementPlugin(), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + ...(mode === 'development' + ? { MODELS_BASE_URL: JSON.stringify('http://localhost:8080') } + : {}), + }), + new webpack.ProvidePlugin({ + process: 'process/browser', + }), + ], + } +} + +function botonicWebchatConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBCHAT), + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + WEBCHAT_PUSHER_KEY: JSON.stringify(process.env.WEBCHAT_PUSHER_KEY), + }), + ], + } +} + +function botonicWebviewsConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBVIEWS), + output: { + filename: 'webviews.js', + library: 'BotonicWebview', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: WEBVIEWS_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(path.join('..', ASSETS_DIRNAME)), + stylesLoaderConfig, + ], + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBVIEWS), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +function botonicNodeConfig(mode) { + return { + context: ROOT, + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'node', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.NODE), + resolve: resolveConfig, + output: { + filename: 'bot.js', + library: 'bot', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + nullLoaderConfig, + ], + }, + plugins: [ + new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: false, + IS_NODE: true, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +module.exports = function (env, argv) { + if (env.target === BOTONIC_TARGETS.ALL) { + return [ + botonicNodeConfig(argv.mode), + botonicWebviewsConfig(argv.mode), + botonicWebchatConfig(argv.mode), + ] + } else if (env.target === BOTONIC_TARGETS.DEV) { + return [botonicDevConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.NODE) { + return [botonicNodeConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBVIEWS) { + return [botonicWebviewsConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBCHAT) { + return [botonicWebchatConfig(argv.mode)] + } else { + return null + } +} diff --git a/examples/custom-webchat/babel.config.js b/examples/custom-webchat/babel.config.js new file mode 100644 index 0000000000..ce0c91d3ff --- /dev/null +++ b/examples/custom-webchat/babel.config.js @@ -0,0 +1,29 @@ +/* + * This babel configuration is used along with Jest for execute tests, + * do not modify to avoid conflicts with webpack.config.js. + */ + +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + [ + '@babel/react', + { + targets: { + node: 'current', + }, + }, + ], + ], + plugins: [ + require('@babel/plugin-transform-modules-commonjs'), + require('@babel/plugin-transform-runtime'), + ], +} diff --git a/examples/custom-webchat/jest.config.js b/examples/custom-webchat/jest.config.js new file mode 100644 index 0000000000..d2514ba654 --- /dev/null +++ b/examples/custom-webchat/jest.config.js @@ -0,0 +1,18 @@ +const path = require('path') + +module.exports = { + rootDir: "tests", + transform: { + "^.+\\.jsx?$": [ + "babel-jest", + { "configFile": path.resolve(__dirname, "babel.config.js") }, + ], + }, + transformIgnorePatterns: [ + "/node_modules/(?!@botonic).+\\.(js|jsx|ts|tsx)$" + ], + moduleNameMapper: { + "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", + "\\.(scss|css|less)$": "/__mocks__/styleMock.js" + } +} \ No newline at end of file diff --git a/examples/custom-webchat/package.json b/examples/custom-webchat/package.json new file mode 100644 index 0000000000..759b3bc498 --- /dev/null +++ b/examples/custom-webchat/package.json @@ -0,0 +1,21 @@ +{ + "name": "custom-webchat", + "version": "0.25.0", + "scripts": { + "build": "webpack --env target=all --mode=production", + "start": "webpack-dev-server --env target=dev --mode=development", + "deploy": "botonic deploy -c build", + "test": "jest" + }, + "dependencies": { + "@babel/runtime": "^7.23.9", + "@botonic/react": "0.25.0-alpha.5", + "react-calendar": "2.19.2" + }, + "devDependencies": { + "@botonic/dx": "0.25.0-alpha.5" + }, + "engines": { + "node": ">=20.0.0" + } +} diff --git a/examples/custom-webchat/src/actions/carousel.jsx b/examples/custom-webchat/src/actions/carousel.jsx new file mode 100644 index 0000000000..7fc56b6c45 --- /dev/null +++ b/examples/custom-webchat/src/actions/carousel.jsx @@ -0,0 +1,41 @@ +import { + Button, + Carousel, + Element, + Pic, + RequestContext, + Subtitle, + Title, +} from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + static contextType = RequestContext + + render() { + return ( + + + + Buttons + Buttons + + + + + Replies + Replies + + + + ) + } +} diff --git a/examples/custom-webchat/src/actions/help.jsx b/examples/custom-webchat/src/actions/help.jsx new file mode 100644 index 0000000000..4b46e9044d --- /dev/null +++ b/examples/custom-webchat/src/actions/help.jsx @@ -0,0 +1,22 @@ +import { Text } from '@botonic/react' +import React from 'react' + +import MainCarousel from './carousel' + +export default class extends React.Component { + render() { + return ( + <> + + You can customize me by modifying the components I have under + 'webchat' directory. + + + Play with all the available attributes and let's see if you can + overcome my current styling. + + + + ) + } +} diff --git a/examples/custom-webchat/src/actions/not-found.jsx b/examples/custom-webchat/src/actions/not-found.jsx new file mode 100644 index 0000000000..92cc814d86 --- /dev/null +++ b/examples/custom-webchat/src/actions/not-found.jsx @@ -0,0 +1,8 @@ +import { Button, Reply, Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return I don't understand you + } +} diff --git a/examples/custom-webchat/src/actions/show-buttons.jsx b/examples/custom-webchat/src/actions/show-buttons.jsx new file mode 100644 index 0000000000..f3c8d363f5 --- /dev/null +++ b/examples/custom-webchat/src/actions/show-buttons.jsx @@ -0,0 +1,26 @@ +import { Button, RequestContext, Text } from '@botonic/react' +import React from 'react' + +import { MyWebview } from '../webviews/my-webview' + +export default class extends React.Component { + constructor(props) { + super(props) + } + static contextType = RequestContext + + render() { + return ( + <> + + What about these buttons? + + + + + + ) + } +} diff --git a/examples/custom-webchat/src/actions/show-replies.jsx b/examples/custom-webchat/src/actions/show-replies.jsx new file mode 100644 index 0000000000..77fd349d5a --- /dev/null +++ b/examples/custom-webchat/src/actions/show-replies.jsx @@ -0,0 +1,24 @@ +import { Reply, RequestContext, Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + constructor(props) { + super(props) + } + static contextType = RequestContext + + render() { + return ( + <> + + Look at these nice replies! + First Reply + Second Reply + Third Reply + Fourth Reply + Fifth Reply + + + ) + } +} diff --git a/examples/custom-webchat/src/actions/start.jsx b/examples/custom-webchat/src/actions/start.jsx new file mode 100644 index 0000000000..c1a6754da1 --- /dev/null +++ b/examples/custom-webchat/src/actions/start.jsx @@ -0,0 +1,24 @@ +import { Button, Reply, Text } from '@botonic/react' +import React from 'react' + +import CalendarMessage from '../webchat/calendar-message' + +export default class extends React.Component { + render() { + return ( + <> + + This is an example bot of how to customize your webchat. + + + For example, this is a custom message type: + + + Something else? + Show me replies + Show me buttons + + + ) + } +} diff --git a/examples/custom-webchat/src/assets/c3po-logo.png b/examples/custom-webchat/src/assets/c3po-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2e0af5dbe2dc83e7c07c314a2ff0e6d323468b76 GIT binary patch literal 1227 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

J9$f(O1MbrJ0%S<6F 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/custom-webchat/src/assets/launcher-logo.png b/examples/custom-webchat/src/assets/launcher-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..df45344dbd6a3292b7ffb8ff012ea7a885782500 GIT binary patch literal 1253 zcmVHm{@u1U_sh&gm-^_^JziXWC>7KYS1qH)Q*RTJ( ze!c(x8%?W>%BYOc!!TrZtUt3R7SA-r%uIWWX(woYrD^9UKAZRr&**RM)w+~bf86mi z@zmlLQ=D%}WQNE=8Ej?-byJ+v`%;U>-SM-p<$T?=uahGpxZ|EF^n`s?e=p~ai}SIB z*g>0)M&LM~Ut*@%UN*o*EH(9|d7*5_$i_b??FcUp4B9ZS|4$?U{ue23rg zOjExo97x>0hP@(nUhk1pDA(_+Haz%B$W;$gauPXO-R5uNS*$tuS{+C%F79E^$lkol z`BQOQu6;5lYufxf&L>W1-QzKNx?gb;3DF(NNvP5WZ*D<{RkGuJF6px5(O&Oq;Btp@ zp5DSvZgl@kk&J0wyS{El6$&K2bZ!5H$a%y(cXZn6qb(?jGo*7iFo!y?42YM7K z6&H=ALFGF+mkf;XH($W{A#!lHMg^^?;b(FJ1+s_Md{hN-%zF}}B|&T+=Uq9kPMhx? zTF1!rz#GsSTHmQkr_*tkN~V1|nDbN}d6B|}^*V1|(DV?LfYu`AxZMp;#}vhGY>EHe z2R&d=S)+RMdIWq1L9mmUeB1J*5@?4{d$I~V#km-m&2zq_v?(-hjm{vOpPYL%JY=Up ze9Q22$G|Fih4mCE!`c;fr6-$v-KUWBRBVFP`r-i)-E}TP>E}@C3vGgqEIJXIIriH2 zBJHlwiOfkK*q^!UTm=5&3V<$Mx%d`=!e!@P^|ZGu05fyj#|5@c=OU0W7Qm*m1z=cP zIHbDof!*&X02fuB-tG=SYyGyoY?K!j+p!mlCWF%vKLNP#zm{EK%^03mzTR|rnscv- zv^NVN9X^04;ZqH#p#%8mQ|KSR#KmBgC~?^WXtl1mVDwQ5FzTa_4Wj6bMW-8|>>+BTvMD2f7o3)QqiDpJ6Vy0c^lg!xzMabO8NYTjnI+JXEcJ5Kf zsxZwDzSTTXSKf)$dR2$c2oBSxx>Jz}TT44Fm7IbZzGy<;gI39nBTu0ocxyy3X>mQ- z;5nbee9@&xRWKp6s)G1=FVKJo2?Wog+wwrA)A^{xU6;Jhkcn4p^swMBKr1e<3Z$yc~D*uYVSu3M5{)6!Yf7Npaw+q(d P00000NkvXXu0mjf>ZxeI literal 0 HcmV?d00001 diff --git a/examples/custom-webchat/src/assets/r2d2-logo.png b/examples/custom-webchat/src/assets/r2d2-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e80944bd3a329345d1beb8c848e9790a747efabf GIT binary patch literal 15054 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 aJoHm~7o*9Og$fW3P*HlUSSD`~{Qm*U(sWD! literal 0 HcmV?d00001 diff --git a/examples/custom-webchat/src/assets/replies.png b/examples/custom-webchat/src/assets/replies.png new file mode 100644 index 0000000000000000000000000000000000000000..9abfe6f135110130e06eb9aefcf2f268e8e383ed GIT binary patch literal 7086 zcmd6McT|&Ew|=NHGNM5tR6$TsiohVfsg&SI(Lo?mLocB!NDW2l31pBeC5Q|lJ&1G& zAXQpKAczpqgkB9Tgivmr-+aI2TKAj#ty$~-asS!xdiQ$H+57CX&-?EEocMc2;4`QB zP6GgdGk5fLeggm)ApihF3L7h3vy<>fD*ZaI3}I|<+Mv~zL# z&B@L&$oIXIIsm|b?~cx`2Z5j02;N91CwMzqZS8tF=J2uH&C8gvmr|K*`?ud#NEwd2 z&APh6Uu_}x%5WB-=xP7#zDRYvp=itN5&I};A@(LH;pMbuP`HwUG0Q#5p|8DNzgZ|~>Uq1cs zfc~}Eza0O;rytDy2>Kx+bjSZ6$c)?pfh-*a;Btb76v1qIZ(O!FRxkSS^z^pP3S;n& zP{D*!NyOACK|vm4N3QxQ#MHR1$GWdFGdEkg%IR{Ea-*wZjdvg&I@+uDq85zo%=jE; ze11byO+)TtTtpuyq+K@2hfOu~zE#JARMBpLd@q|BF(CX~v~;&jv*1serFWG!u^Uff z?R<`pV#Wv9%+eIhW#K|TY=B6Gsq2r}peuDM%n|Kbp5n^Pvi_C=jNfDTLk|29%D>Nn zA3#4u>F;Oyr=TC={e39Z3a`eT;=cnrZmB)aF)=%CIjN&r(%QmLK2Yj6a!f3HL%-rA zyhAn$X3^QCps`q-x8QE_wxoB+ZX>*+HLulwjyAJ1G++T1sIT6tyWeI5qlTOTMAinM z^&vm4KNfVUJfx*-O2 zuax384asP~?y$PESPWGGlz zhXWEQ#>J;bX-t5~?!hS^yWO=8Cd!6aYiMs}{}ikB-L$rF57@UAQi!U^&-7FL*kRUC ztL!j{G{4EWMB1jz28^E6*}#dEwE7CQb)8du5s{xx!IHWT3VEvI6~L?Y=%!zOIWMXR zq|-}W}M}&KYO9x6Gm+eC02S< zV-q{qBZ+kd4TNvGp5{_T;ni>7UdCj?tD3irKZj_HOLL+?yA8UBU0z>g2tF>fXtl)1 z{iEcJ9P5WWf|Oli#z_s?L3yD}sFc|-6n$%seRv@82C2G-biI2!^s9IH2g>nQYgPX} z6-d;;LBM6L%iX>uh@@WvgAMPd-{Rdgxj6Mprh6XAO`O}d457v-IqavtAfz=$_P12t z@Yn7g_pJ{rePkdiOF1U&J>)3cU!d9hHutx&$to@iHd&hbN!Gc6M!w-r-_k;n?;jN%r&@??;R=-q=o9i|Amvjc^ z?ZD3Esi8xvlFJ{cs+xyY&TmF{)c?N3WiB7aI&TkgFOKLt_!>}W?c3aLU-}s& zdGV3<;H~c0;1tluKpLW3`spRX#spMiN%t?zTd!SFm7#No*hteD$jbbs>$h`k#l!_Y zg9_uacN%(BYiuIZHsNWSXmg>e>yM0OUgji}ypMaGDOQ2#4xBpf&5&sjutn^UyX6Lp z?P$?X)5f8dI}WTWopM-oHa2*9y4#eDI;z8OWl2I+v1Zc?nivD%@N1qc1I6tJt-q(s z)Rly~%e@jFcib$YFHTcLy{G#3;AQFr`Yu+vZGzNK!S)N`%8YODKSZFWXp@%wiCx`U zn4KeHpa;*FR|L5g9!hffQC1RTy6E%A%8$5?Khm?o)H31Z)8J9KJ2M`sTI$RYKwtT@ zSiLtAlr&^Z7kjXZZd#84u6HYWCC+-Zq&i7|N&X7nPulEwPn}OKOn*ih?a8;5j4f*J z>YecX)h5_&Y6zQm8 zqNYDnQ~RbJe&R_nud|F>=Wp`lx`)oq?75wyU`armuiUH?R>P+ix_t2uvC5q?e9(6B zRL!+_zMeO-j5R9NiYJ4cY*ssC;>!ZDhQn`i3Qr7a8K;W8HYU_hmtW(b*n!|=+!cS} zEcoqN%gsfUj8I2BXbF;?wxPjg^4uRMIXmi>3h5g+%;;XS;Pvwlv7dL5$7`VN_TH^< zMXxp^9|(?oD<8JQtsx@Ru1{r&qNj4Yx#%B6^)2}`q7pVI;kFkKj#u=2(nVKmM_!3) zg@$Fcml~brXujq=Dlel3o+$luN^GcQ%}AF`c1Aj^$-ZF3k7>d;UjBUSeI;E!l(dE~ zL&SRwD~$C_Gj&dQOQU?t^K3t8|AwNypPLm;%D*`;w0=kZm#yw~LXo6eB^V4hP?vB87j&F1w_)C%nGKRQ7ZB4fQ?Ln}(B|g>3hQ z5P$j+o$pZUdv|j9NJVZaU90F*f%~UxAMW&+8YE*wzrLt&KnP3es`t!TRSz)(NG=IJ z+)R>Fy>7oN^Xf2zRnxfhiVv+w79rz9k+x54GcJtAE?=;xF-}Zkq3Z})3S=-0gS$-$ zm7Z`%mht3EPULk@NVM%a2%rvw=)brnpeA(;_i|zoCLzQk(J67Z{C<^Mrt!pX_UC>F z@uDsXR58xash6*OZX2w#usWp2o12~b>|s>TyS>nL3xd7?eWBO4c6C!MXeRa7+*F^N zYNp?>*Mum2A(BIB(KmjNc~NPgbpo`mH2h?YOh>dQ(7Kzkiy5&x?rUfD{>7Wn>V>WwcAAFV1$Tjlt;0zOjOxa$=6G0J z5zKE3mojtGplCKElQKFN97%XG=>5j5)Ird4i#p|U+Ii&hjzTzI&NGwMfWRATm`F2d zV%y!mCRG{HB-T6|Nzm8gjtrRyp}p5@-fRmI8en3w<8~$emsK4Q*Hz5_me9PcrTK%V(mn4gD zdMVLj{#*V1{5#Uenx9+}FqU5w;Oa*kT1jqUw!VkkX^-?UsxF(L@8|gS zMJ4@j^LaI1)j{gLkBWCPIiyf-YX$ya(1f%a-tEQv_1ec*asHW`wSkA7Hmm0Vk^T_y zPaH|)V`6u3sxFBfXv0T(=vEjSxr2e_iji|-bBjCKf&m=v7GVHn{6~G(|6I}=Oa{jSpe@JysY>-m zpBvofac9@5hA?wqe*7JNl=Q}SdH+0g7a4=i5H3D>ZJIt@}ae zUUw>SWEEunzzm9FKD5l7ucIIH|zgBxKBMrxs^S}s-;2g4Le>!NoJf<~w1#Owq zo2Hew=Q~Xa?S-SUC6Bv2U~hWIU-pV@(ALF0-E!fFC6ak3(Vwhp+1}ItI*#*lbT=|F zfwxfdlf#ukc3QL#Rb+}WDES;scV1=>_?vml{Hy*AqOYQjl$iI5ymwH*{5JS!15wP@ zwGMDi9P-@3;na+I(3JSbf!QoAu>$n5hN)hw>GAwpdlSuI{Kz^5$LlL#8`~6pF#jUO z*Q$-Snm4%(5lYOSSSHwOgv*hoahKNX@B!bA(1Y->=>UPNNKE4NaNiSpzcTyl8 zCP!YhN%~ZHG309iY-^PVv0bH3d5(3trMG_sM>RMcAfXI{nQVojDFY3a1cGs^V%h~0 zh_73^pG4VVCeM(?Pvzo5CCE=Y$nIXhY_mbzo$cNab0j_BrAOn9;TA!b$dzfz4l#?S z>ZNf!hM#n4;eKr_KAH?n7I!kKTCZ{gItFM_F+%hml%i)k#Hxt9kUU`fNoH#B_h zP*W|MC*tJBK_NQbuI7BYYIzT>RM=%~K8U{gNJHK)zwxe#75{#`0x0rL>b9;Z;r!2B|K$&K=;PGH% zO43S;k56u>T|mxPys};b;8)Newiqh1KhES3?j%8;t7%Homp=9RAzT~EDZ(tuMry>p zyK2-{>p&JDsT3DPll`sESlZD~pqK>FJ=LugVmT&*A;Le_f|s8z>7nF8ZViKPi4=X@ zH6)A7cuGhJ5fXN-NC~-nXk%L5CLh`#mWF?nsq|2dyLaz$ff*xv1R3$^jxJl`qt9X3 z`wLqy0#VKg0?yOeZl1ValBcPF)t&IQb-S5cy}X;&%eUHF*|>R1zFKIk;JhY@Gg842 z!NGu0WP+K1p$d~suyb;TnXG2zqy0>h_Tp#IJa-1F*p-dQ)Y0foUjh3+Dy|>mvp{D* z-|&;J>1$oN9t$YiV2FisVH+lpfbOSMzmdZ&d&){v6}>VAPhReJHN#>h>ttRxKR9EM z0xT~TmL@HDyfmj|uJ`(5&DqWydyWZryL6TcVIPQ` z8WYp?@U=Wi#giy8B=m~nCf2KZf8H6)SmbQ%+uUKtV~rK;Y@j#r&|e+Ag4)U)%!v|- zIXn-udMsY=3;3I)$vtObgzYvQe9$^*zYsRVanu_F9G8wmkKK5vDPd}Kz6Z}y;jPn7kCzWDUA0Ie}?h9QH~}uW7BOTRaE=r z5K5l~^2AQ-@q)qxcbk`_mu14#RKnCxNgUQW^?F#XCkE8*Zr5)(%YmtvYqD3ARpbo0 zUC4#2Rra@nkxgAr4o&fGC`>{`+${L@&Q!VlEL9^h#n(E(hli|A5*b~tnR zj)G|JLzUswabt^#)}xR856qC)yAdH)Pp$~gCqR{tGKU03mCVs0cUB)$!m1V-cjpO{ z6#Ry8SOc*X*{ob9i`KrVA2i)n-Io`#R>Fl_uLh+vEid^GOjt|hxlD(Ty1k1l_ZySg zJBJY5a&S3mnB|dcp?{7-M^8(=G;Zk9AIeDh&=e*e#a(l)XwyC z%Fo7TAQ%S9m~T3beQ>xpNaQvdG|GgQiZBx&$vv}z1_fDcChzr`j^<9RZqVBSvrgS~ zhp8BKPKQ!iA$Zd<{YyElS#Gi+so1x%0`wVe>Qg8~0i`mbuC++lp+dSRe`uUZ#VVtS z^|ZYwQZrth26CKSLK7F0CtF%#q-O$H4dk5=#_s=uG+Wo@?Q5itWE62Y`^Hz>f4?8;tqlMZ6s zbv3`FJ+3s9yBtwAj!|G@le+0z?Y#4uM;>qOX?r7>Ma3ivlb~JZwDP;Dut;f()G(fu z;jlW=ihC=gP&0tOD~!46+VSNhLdiQo`6ZAJj=4QBc8ShvMsd>x-p^H9Rf5hb^EkM2 z)w5L$M1R-z@LMXeOVf)&w!Z|O9IkM8We~F%i6!?+hJxo7Jj* z`|o$}*Ec6%np95iMqa@%bIa<# z)J-Kc_6sf8OY$2=xMfqYkWEVf)L92&ZK;&?y+UTKA>D(l`&^}S)WYR-feC)Ml8(?M zaFki5Yp%!9!vamkNPx?uxai=X3ubi1O-ST-!NAD=rvTWo&`EwfdS?9~qPXaV+YcfQ z!x%Y#4!|Z!H&M>51ghsxzy!DF(|dyUB|9!rGXw|AJr_GSxA*t|?t0}riB321eFuNo ztM6L6CHg#nYX3dxhh6_Z^gn|BacaPqSU$))Os8MK0q*D; K=~Ui^KK(CcjLv@m literal 0 HcmV?d00001 diff --git a/examples/custom-webchat/src/assets/trigger-button.png b/examples/custom-webchat/src/assets/trigger-button.png new file mode 100644 index 0000000000000000000000000000000000000000..df45344dbd6a3292b7ffb8ff012ea7a885782500 GIT binary patch literal 1253 zcmVHm{@u1U_sh&gm-^_^JziXWC>7KYS1qH)Q*RTJ( ze!c(x8%?W>%BYOc!!TrZtUt3R7SA-r%uIWWX(woYrD^9UKAZRr&**RM)w+~bf86mi z@zmlLQ=D%}WQNE=8Ej?-byJ+v`%;U>-SM-p<$T?=uahGpxZ|EF^n`s?e=p~ai}SIB z*g>0)M&LM~Ut*@%UN*o*EH(9|d7*5_$i_b??FcUp4B9ZS|4$?U{ue23rg zOjExo97x>0hP@(nUhk1pDA(_+Haz%B$W;$gauPXO-R5uNS*$tuS{+C%F79E^$lkol z`BQOQu6;5lYufxf&L>W1-QzKNx?gb;3DF(NNvP5WZ*D<{RkGuJF6px5(O&Oq;Btp@ zp5DSvZgl@kk&J0wyS{El6$&K2bZ!5H$a%y(cXZn6qb(?jGo*7iFo!y?42YM7K z6&H=ALFGF+mkf;XH($W{A#!lHMg^^?;b(FJ1+s_Md{hN-%zF}}B|&T+=Uq9kPMhx? zTF1!rz#GsSTHmQkr_*tkN~V1|nDbN}d6B|}^*V1|(DV?LfYu`AxZMp;#}vhGY>EHe z2R&d=S)+RMdIWq1L9mmUeB1J*5@?4{d$I~V#km-m&2zq_v?(-hjm{vOpPYL%JY=Up ze9Q22$G|Fih4mCE!`c;fr6-$v-KUWBRBVFP`r-i)-E}TP>E}@C3vGgqEIJXIIriH2 zBJHlwiOfkK*q^!UTm=5&3V<$Mx%d`=!e!@P^|ZGu05fyj#|5@c=OU0W7Qm*m1z=cP zIHbDof!*&X02fuB-tG=SYyGyoY?K!j+p!mlCWF%vKLNP#zm{EK%^03mzTR|rnscv- zv^NVN9X^04;ZqH#p#%8mQ|KSR#KmBgC~?^WXtl1mVDwQ5FzTa_4Wj6bMW-8|>>+BTvMD2f7o3)QqiDpJ6Vy0c^lg!xzMabO8NYTjnI+JXEcJ5Kf zsxZwDzSTTXSKf)$dR2$c2oBSxx>Jz}TT44Fm7IbZzGy<;gI39nBTu0ocxyy3X>mQ- z;5nbee9@&xRWKp6s)G1=FVKJo2?Wog+wwrA)A^{xU6;Jhkcn4p^swMBKr1e<3Z$yc~D*uYVSu3M5{)6!Yf7Npaw+q(d P00000NkvXXu0mjf>ZxeI literal 0 HcmV?d00001 diff --git a/examples/custom-webchat/src/index.js b/examples/custom-webchat/src/index.js new file mode 100644 index 0000000000..f7334846a7 --- /dev/null +++ b/examples/custom-webchat/src/index.js @@ -0,0 +1 @@ +export const config = { defaultDelay: 0, defaultTyping: 0 } diff --git a/examples/custom-webchat/src/locales/index.js b/examples/custom-webchat/src/locales/index.js new file mode 100644 index 0000000000..1fb527a896 --- /dev/null +++ b/examples/custom-webchat/src/locales/index.js @@ -0,0 +1 @@ +export const locales = {} diff --git a/examples/custom-webchat/src/plugins.js b/examples/custom-webchat/src/plugins.js new file mode 100644 index 0000000000..e571fed32b --- /dev/null +++ b/examples/custom-webchat/src/plugins.js @@ -0,0 +1 @@ +export const plugins = [] diff --git a/examples/custom-webchat/src/routes.js b/examples/custom-webchat/src/routes.js new file mode 100644 index 0000000000..4461207c9d --- /dev/null +++ b/examples/custom-webchat/src/routes.js @@ -0,0 +1,20 @@ +import Help from './actions/help' +import NotFound from './actions/not-found' +import ShowButtons from './actions/show-buttons' +import ShowReplies from './actions/show-replies' +import Start from './actions/start' +export const routes = [ + { path: 'help', payload: 'help', action: Help }, + { + path: 'buttons', + input: i => i.payload == 'buttons' || i.data == 'buttons', + action: ShowButtons, + }, + { + path: 'replies', + input: i => i.payload == 'replies' || i.data == 'replies', + action: ShowReplies, + }, + { path: 'start', text: /^(hi|start|hello)$/i, action: Start }, + { path: '404', text: /.*/, action: NotFound }, +] diff --git a/examples/custom-webchat/src/webchat/calendar-message.js b/examples/custom-webchat/src/webchat/calendar-message.js new file mode 100644 index 0000000000..6d4cdfd4c6 --- /dev/null +++ b/examples/custom-webchat/src/webchat/calendar-message.js @@ -0,0 +1,25 @@ +import { customMessage, WebchatContext } from '@botonic/react' +import React from 'react' +import Calendar from 'react-calendar' + +class CalendarMessage extends React.Component { + static contextType = WebchatContext + + render() { + return ( + <> + + this.context.sendText(`Booked for ${date.toLocaleDateString()}`) + } + /> +

{this.props.children}

+ + ) + } +} + +export default customMessage({ + name: 'calendar', + component: CalendarMessage, +}) diff --git a/examples/custom-webchat/src/webchat/custom-button.js b/examples/custom-webchat/src/webchat/custom-button.js new file mode 100644 index 0000000000..e97b1c4f6f --- /dev/null +++ b/examples/custom-webchat/src/webchat/custom-button.js @@ -0,0 +1,16 @@ +import React from 'react' + +export const CustomButton = props => ( +
+ {props.children} +
+) diff --git a/examples/custom-webchat/src/webchat/custom-header.js b/examples/custom-webchat/src/webchat/custom-header.js new file mode 100644 index 0000000000..a57af85c39 --- /dev/null +++ b/examples/custom-webchat/src/webchat/custom-header.js @@ -0,0 +1,52 @@ +import { staticAsset } from '@botonic/react' +import React from 'react' + +import Icon from '../assets/r2d2-logo.png' + +export const CustomHeader = () => { + return ( +
+ +

+ My customized header +

+
{ + Botonic.close() + }} + > + ✕ +
+
+ ) +} diff --git a/examples/custom-webchat/src/webchat/custom-intro.js b/examples/custom-webchat/src/webchat/custom-intro.js new file mode 100644 index 0000000000..22c792a354 --- /dev/null +++ b/examples/custom-webchat/src/webchat/custom-intro.js @@ -0,0 +1,7 @@ +import { staticAsset } from '@botonic/react' +import React from 'react' + +import Img from '../assets/intro-image.jpg' +export const CustomIntro = () => { + return +} diff --git a/examples/custom-webchat/src/webchat/custom-reply.js b/examples/custom-webchat/src/webchat/custom-reply.js new file mode 100644 index 0000000000..6585d122ba --- /dev/null +++ b/examples/custom-webchat/src/webchat/custom-reply.js @@ -0,0 +1,16 @@ +import React from 'react' + +export const CustomReply = props => ( +
+ {props.children} +
+) diff --git a/examples/custom-webchat/src/webchat/custom-trigger.js b/examples/custom-webchat/src/webchat/custom-trigger.js new file mode 100644 index 0000000000..1ab3d58dcb --- /dev/null +++ b/examples/custom-webchat/src/webchat/custom-trigger.js @@ -0,0 +1,35 @@ +import { staticAsset } from '@botonic/react' +import React from 'react' + +import Icon from '../assets/trigger-button.png' + +export const CustomTrigger = () => { + return ( +
+ +

I am customizable

+
+ ) +} diff --git a/examples/custom-webchat/src/webchat/index.js b/examples/custom-webchat/src/webchat/index.js new file mode 100644 index 0000000000..41550d4dee --- /dev/null +++ b/examples/custom-webchat/src/webchat/index.js @@ -0,0 +1,194 @@ +import C3POLogo from '../assets/c3po-logo.png' +import IntroImage from '../assets/intro-image.jpg' +import launcherIcon from '../assets/launcher-logo.png' +import R2D2Logo from '../assets/r2d2-logo.png' +import CalendarMessage from './calendar-message' +import { CustomButton } from './custom-button' +import { CustomHeader } from './custom-header' +import { CustomIntro } from './custom-intro' +import { CustomReply } from './custom-reply' +import { CustomTrigger } from './custom-trigger' + +export const webchat = { + theme: { + mobileBreakpoint: 460, + style: { + position: 'fixed', + right: 20, + bottom: 20, + width: 400, + height: 500, + margin: 'auto', + backgroundColor: 'white', + borderRadius: 25, + boxShadow: '0 0 50px rgba(0,0,255,.30)', + overflow: 'hidden', + backgroundImage: + 'linear-gradient(to top, #ffffff,#ffffff 11%,#9a9ae3 40%,#0000ff 85%,#0000ff 85%)', + fontFamily: '"Comic Sans MS", cursive, sans-serif', + }, + webview: { + style: { + top: 0, + right: 0, + height: 500, + width: '100%', + }, + header: { + style: { + background: '#6677FF', + }, + }, + }, + + brand: { + // color: 'blue', + image: R2D2Logo, + }, + triggerButton: { + image: launcherIcon, + style: { + width: '200px', + }, + // custom: CustomTrigger, + }, + intro: { + // image: IntroImage, + // style: { + // padding: 20 + // } + custom: CustomIntro, + }, + header: { + title: 'My customized webchat', + subtitle: 'R2D2', + image: R2D2Logo, + style: { + height: 70, + }, + // custom: CustomHeader + }, + /* + * brandImage will set both headerImage and botMessageImage with its current logo + * you can overwrite these values by redefining them individually + */ + message: { + bot: { + image: C3POLogo, // set it to 'null' to hide this image + style: { + border: 'none', + color: 'black', + borderRadius: '20px', + background: '#e1fcfb', + }, + }, + user: { + style: { + // border:'none', + color: 'white', + background: '#2b81b6', + borderRadius: '10px', + }, + }, + customTypes: [CalendarMessage], + }, + + button: { + style: { + color: 'black', + background: 'white', + borderRadius: 20, + }, + hoverBackground: '#b3fcfa', + hoverTextColor: 'black', + + // custom: CustomButton, + }, + replies: { + align: 'center', + wrap: 'nowrap', + }, + reply: { + style: { + color: 'black', + background: '#e1fcfb', + borderColor: 'black', + }, + // custom: CustomReply, + }, + userInput: { + style: { + background: 'black', + }, + box: { + style: { + border: '2px solid #2b81b6', + color: '#2b81b6', + background: '#F0F0F0', + width: '90%', + borderRadius: 20, + paddingLeft: 20, + marginRight: 10, + }, + placeholder: 'Type something...', + }, + + // enable: false, + attachments: { + enable: true, + }, + + emojiPicker: true, + // These are the set of inputs which are not allowed. + blockInputs: [ + { + match: [/ugly/i, /bastard/i], + message: 'We cannot tolerate these kind of words.', + }, + ], + persistentMenu: [ + { label: 'Help', payload: 'help' }, + { + label: 'See docs', + url: 'https://botonic.io/docs/welcome/', + }, + { closeLabel: 'Close' }, + ], + }, + scrollbar: { + // enable: false, + autoHide: true, + thumb: { + opacity: 1, + // color: 'yellow', + bgcolor: + 'linear-gradient(-131deg,rgba(231, 176, 43) 0%,rgb(193, 62, 81) 100%);', + border: '20px', + }, + // track: { + // color: 'black', + // bgcolor: + // 'linear-gradient(-131deg,rgba(50, 40, 43) 0%,rgb(125, 62, 81) 100%);', + // border: '20px', + // }, + }, + }, + + // Webchat listeners + onInit: app => { + // You can combine webchat listeners with the Webchat SDK's Api in order + // to obtain extra functionalities. This will open automatically the webchat. + app.open() + }, + onOpen: app => { + // app.addBotText('Hi human!') + // app.addUserText('Hi bot!') + // app.addUserPayload('POSTBACK_INITCHAT') + }, + onClose: app => { + console.log('I have been closed!') + }, + onMessage: app => { + console.log('New message!') + }, +} diff --git a/examples/custom-webchat/src/webviews/index.js b/examples/custom-webchat/src/webviews/index.js new file mode 100644 index 0000000000..4a7960cd6b --- /dev/null +++ b/examples/custom-webchat/src/webviews/index.js @@ -0,0 +1,2 @@ +import { MyWebview } from './my-webview' +export const webviews = [MyWebview] diff --git a/examples/custom-webchat/src/webviews/my-webview.js b/examples/custom-webchat/src/webviews/my-webview.js new file mode 100644 index 0000000000..6b9033f3a9 --- /dev/null +++ b/examples/custom-webchat/src/webviews/my-webview.js @@ -0,0 +1,48 @@ +import { RequestContext } from '@botonic/react' +import React from 'react' + +export class MyWebview extends React.Component { + static contextType = RequestContext + state = { + counter: 0, + } + + componentDidMount() { + document.title = 'MyBot | MyWebview' + } + + handleClick() { + this.setState({ + counter: this.state.counter + 1, + }) + } + + close() { + // Here we want to explicitly emit a message after closing a webview. + this.context.closeWebview({ + payload: 'closed_webview', + }) + } + + render() { + return ( +
+

This is a Botonic Webview!

+ +

{this.state.counter}

+ +
+ ) + } +} diff --git a/examples/custom-webchat/tests/__mocks__/fileMock.js b/examples/custom-webchat/tests/__mocks__/fileMock.js new file mode 100644 index 0000000000..0e56c5b5f7 --- /dev/null +++ b/examples/custom-webchat/tests/__mocks__/fileMock.js @@ -0,0 +1 @@ +module.exports = 'test-file-stub' diff --git a/examples/custom-webchat/tests/__mocks__/styleMock.js b/examples/custom-webchat/tests/__mocks__/styleMock.js new file mode 100644 index 0000000000..4ba52ba2c8 --- /dev/null +++ b/examples/custom-webchat/tests/__mocks__/styleMock.js @@ -0,0 +1 @@ +module.exports = {} diff --git a/examples/custom-webchat/tests/app.test.js b/examples/custom-webchat/tests/app.test.js new file mode 100644 index 0000000000..35bf4b6e75 --- /dev/null +++ b/examples/custom-webchat/tests/app.test.js @@ -0,0 +1,21 @@ +import { + BotonicInputTester, + BotonicOutputTester, + NodeApp, +} from '@botonic/react' + +import { config } from '../src/' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +const app = new NodeApp({ routes, locales, plugins, ...config }) + +const input = new BotonicInputTester(app) +const output = new BotonicOutputTester(app) + +test('TEST: (404) NOT FOUND', async () => { + const response = await input.text('whatever') + expect(response).toBe(output.text("I don't understand you")) +}) + diff --git a/examples/custom-webchat/webpack-entries/dev-entry.js b/examples/custom-webchat/webpack-entries/dev-entry.js new file mode 100644 index 0000000000..6e32a58053 --- /dev/null +++ b/examples/custom-webchat/webpack-entries/dev-entry.js @@ -0,0 +1,15 @@ +import { DevApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' +import { webchat } from '../src/webchat' + +export const app = new DevApp({ + routes, + locales, + plugins, + ...webchat, + ...config, +}) diff --git a/examples/custom-webchat/webpack-entries/node-entry.js b/examples/custom-webchat/webpack-entries/node-entry.js new file mode 100644 index 0000000000..fbb24edb77 --- /dev/null +++ b/examples/custom-webchat/webpack-entries/node-entry.js @@ -0,0 +1,8 @@ +import { NodeApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +export const app = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/examples/custom-webchat/webpack-entries/webchat-entry.js b/examples/custom-webchat/webpack-entries/webchat-entry.js new file mode 100644 index 0000000000..4bd967e0c4 --- /dev/null +++ b/examples/custom-webchat/webpack-entries/webchat-entry.js @@ -0,0 +1,5 @@ +import { WebchatApp } from '@botonic/react' + +import { webchat } from '../src/webchat' + +export const app = new WebchatApp(webchat) diff --git a/examples/custom-webchat/webpack-entries/webviews-entry.js b/examples/custom-webchat/webpack-entries/webviews-entry.js new file mode 100644 index 0000000000..030c2fc4f9 --- /dev/null +++ b/examples/custom-webchat/webpack-entries/webviews-entry.js @@ -0,0 +1,6 @@ +import { WebviewApp } from '@botonic/react' + +import { locales } from '../src/locales' +import { webviews } from '../src/webviews' + +export const app = new WebviewApp({ webviews, locales }) diff --git a/examples/custom-webchat/webpack.config.js b/examples/custom-webchat/webpack.config.js new file mode 100644 index 0000000000..03250b1239 --- /dev/null +++ b/examples/custom-webchat/webpack.config.js @@ -0,0 +1,338 @@ +const path = require('path') +const webpack = require('webpack') +const TerserPlugin = require('terser-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const { CleanWebpackPlugin } = require('clean-webpack-plugin') +const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin') + +const ROOT = path.resolve(__dirname, 'src') +const ASSETS_DIRNAME = 'assets' + +const OUTPUT_PATH = path.resolve(__dirname, 'dist') +const WEBVIEWS_PATH = path.resolve(OUTPUT_PATH, 'webviews') + +const BOTONIC_PATH = path.resolve( + __dirname, + 'node_modules', + '@botonic', + 'react' +) + +const WEBPACK_MODE = { + DEVELOPMENT: 'development', + PRODUCTION: 'production', +} + +const BOTONIC_TARGETS = { + ALL: 'all', + DEV: 'dev', + NODE: 'node', + WEBVIEWS: 'webviews', + WEBCHAT: 'webchat', +} + +const WEBPACK_ENTRIES_DIRNAME = 'webpack-entries' +const WEBPACK_ENTRIES = { + DEV: 'dev-entry.js', + NODE: 'node-entry.js', + WEBCHAT: 'webchat-entry.js', + WEBVIEWS: 'webviews-entry.js', +} + +const TEMPLATES = { + WEBCHAT: 'webchat.template.html', + WEBVIEWS: 'webview.template.html', +} + +const UMD_LIBRARY_TARGET = 'umd' +const BOTONIC_LIBRARY_NAME = 'Botonic' +const WEBCHAT_FILENAME = 'webchat.botonic.js' + +function sourceMap(mode) { + if (mode === WEBPACK_MODE.PRODUCTION) return 'hidden-source-map' + else if (mode === WEBPACK_MODE.DEVELOPMENT) return 'eval-cheap-source-map' + else + throw new Error( + 'Invalid mode argument (' + mode + '). See package.json scripts' + ) +} + +const optimizationConfig = { + minimize: true, + minimizer: [ + new TerserPlugin({ + parallel: true, + terserOptions: { + keep_fnames: true, + }, + }), + ], +} + +const resolveConfig = { + extensions: ['*', '.js', '.jsx', '.ts', '.tsx', '.mjs'], + alias: { + react: path.resolve(__dirname, 'node_modules', 'react'), + 'styled-components': path.resolve( + __dirname, + 'node_modules', + 'styled-components' + ), + }, + fallback: { + util: require.resolve('util'), + }, +} + +const babelLoaderConfig = { + test: /\.(js|jsx|ts|tsx|mjs)$/, + exclude: /node_modules\/(?!@botonic)/, + use: { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + cacheDirectory: true, + presets: [ + '@babel/react', + [ + '@babel/preset-env', + { + modules: false, + }, + ], + ], + plugins: [ + '@babel/plugin-transform-runtime', + ], + }, + }, +} + +function fileLoaderConfig(outputPath) { + return { + test: /\.(jpe?g|png|gif|svg)$/i, + use: [ + { + loader: 'file-loader', + options: { + outputPath: outputPath, + }, + }, + ], + } +} + +const nullLoaderConfig = { + test: /\.(scss|css)$/, + use: 'null-loader', +} + +const stylesLoaderConfig = { + test: /\.(scss|css)$/, + use: [ + { + loader: 'style-loader', + options: { + insert: function (element) { + if (!window._botonicInsertStyles) window._botonicInsertStyles = [] + window._botonicInsertStyles.push(element) + }, + }, + }, + 'css-loader', + 'sass-loader', + ], +} + +const imageminPlugin = new ImageMinimizerPlugin({ + minimizer: { + implementation: ImageMinimizerPlugin.imageminMinify, + options: { + plugins: [ + "imagemin-gifsicle", + "imagemin-jpegtran", + "imagemin-optipng", + "imagemin-svgo", + ], + }, + }, +}) + +function botonicDevConfig(mode) { + return { + mode: mode, + devtool: sourceMap(mode), + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.DEV), + target: 'web', + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + devServer: { + static: [OUTPUT_PATH], + liveReload: true, + historyApiFallback: true, + hot: true, + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + new webpack.HotModuleReplacementPlugin(), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + ...(mode === 'development' + ? { MODELS_BASE_URL: JSON.stringify('http://localhost:8080') } + : {}), + }), + new webpack.ProvidePlugin({ + process: 'process/browser', + }), + ], + } +} + +function botonicWebchatConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBCHAT), + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + WEBCHAT_PUSHER_KEY: JSON.stringify(process.env.WEBCHAT_PUSHER_KEY), + }), + ], + } +} + +function botonicWebviewsConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBVIEWS), + output: { + filename: 'webviews.js', + library: 'BotonicWebview', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: WEBVIEWS_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(path.join('..', ASSETS_DIRNAME)), + stylesLoaderConfig, + ], + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBVIEWS), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +function botonicNodeConfig(mode) { + return { + context: ROOT, + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'node', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.NODE), + resolve: resolveConfig, + output: { + filename: 'bot.js', + library: 'bot', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + nullLoaderConfig, + ], + }, + plugins: [ + new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: false, + IS_NODE: true, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +module.exports = function (env, argv) { + if (env.target === BOTONIC_TARGETS.ALL) { + return [ + botonicNodeConfig(argv.mode), + botonicWebviewsConfig(argv.mode), + botonicWebchatConfig(argv.mode), + ] + } else if (env.target === BOTONIC_TARGETS.DEV) { + return [botonicDevConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.NODE) { + return [botonicNodeConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBVIEWS) { + return [botonicWebviewsConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBCHAT) { + return [botonicWebchatConfig(argv.mode)] + } else { + return null + } +} diff --git a/examples/dynamic-carousel/babel.config.js b/examples/dynamic-carousel/babel.config.js new file mode 100644 index 0000000000..ce0c91d3ff --- /dev/null +++ b/examples/dynamic-carousel/babel.config.js @@ -0,0 +1,29 @@ +/* + * This babel configuration is used along with Jest for execute tests, + * do not modify to avoid conflicts with webpack.config.js. + */ + +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + [ + '@babel/react', + { + targets: { + node: 'current', + }, + }, + ], + ], + plugins: [ + require('@babel/plugin-transform-modules-commonjs'), + require('@babel/plugin-transform-runtime'), + ], +} diff --git a/examples/dynamic-carousel/jest.config.js b/examples/dynamic-carousel/jest.config.js new file mode 100644 index 0000000000..d2514ba654 --- /dev/null +++ b/examples/dynamic-carousel/jest.config.js @@ -0,0 +1,18 @@ +const path = require('path') + +module.exports = { + rootDir: "tests", + transform: { + "^.+\\.jsx?$": [ + "babel-jest", + { "configFile": path.resolve(__dirname, "babel.config.js") }, + ], + }, + transformIgnorePatterns: [ + "/node_modules/(?!@botonic).+\\.(js|jsx|ts|tsx)$" + ], + moduleNameMapper: { + "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", + "\\.(scss|css|less)$": "/__mocks__/styleMock.js" + } +} \ No newline at end of file diff --git a/examples/dynamic-carousel/package.json b/examples/dynamic-carousel/package.json new file mode 100644 index 0000000000..70a1f3cd66 --- /dev/null +++ b/examples/dynamic-carousel/package.json @@ -0,0 +1,21 @@ +{ + "name": "dynamic-carousel", + "version": "0.25.0", + "scripts": { + "build": "webpack --env target=all --mode=production", + "start": "webpack-dev-server --env target=dev --mode=development", + "deploy": "botonic deploy -c build", + "test": "jest" + }, + "dependencies": { + "@babel/runtime": "^7.23.9", + "@botonic/react": "0.25.0-alpha.5", + "isomorphic-fetch": "^2.2.1" + }, + "devDependencies": { + "@botonic/dx": "0.25.0-alpha.5" + }, + "engines": { + "node": ">=20.0.0" + } +} diff --git a/examples/dynamic-carousel/src/actions/get-shirts.jsx b/examples/dynamic-carousel/src/actions/get-shirts.jsx new file mode 100644 index 0000000000..4657e96a9b --- /dev/null +++ b/examples/dynamic-carousel/src/actions/get-shirts.jsx @@ -0,0 +1,49 @@ +import { + Button, + Carousel, + Element, + Pic, + RequestContext, + Subtitle, + Title, +} from '@botonic/react' +import fetch from 'isomorphic-fetch' +import React from 'react' + +export default class extends React.Component { + static contextType = RequestContext + static async botonicInit({ input, session, params, lastRoutePath }) { + /* This is how you fetch data from an API: */ + //const res = await fetch('https://api.example.com/user') + //const user = await res.json() + + const api_key = 'YOUR_API_KEY' // pragma: allowlist secret + const url = + 'http://api.shopstyle.com/api/v2/products?pid=' + + api_key + + '&fts=' + + input.data + + '&offset=0&limit=5' + const res = await fetch(url, { + url: url, + method: 'GET', + params: {}, + }) + session.resp = await res.json() + } + + render() { + return ( + + {this.context.session.resp.products.map((e, i) => ( + + + {e.name} + {e.priceLabel} + + + ))} + + ) + } +} diff --git a/examples/dynamic-carousel/src/actions/hi.jsx b/examples/dynamic-carousel/src/actions/hi.jsx new file mode 100644 index 0000000000..339d751e6f --- /dev/null +++ b/examples/dynamic-carousel/src/actions/hi.jsx @@ -0,0 +1,14 @@ +import { Reply, Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return ( + + Hey, what clothes are you interested in? + Mens shirts + Womens shirts + + ) + } +} diff --git a/examples/dynamic-carousel/src/assets/.gitkeep b/examples/dynamic-carousel/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/dynamic-carousel/src/index.js b/examples/dynamic-carousel/src/index.js new file mode 100644 index 0000000000..f7334846a7 --- /dev/null +++ b/examples/dynamic-carousel/src/index.js @@ -0,0 +1 @@ +export const config = { defaultDelay: 0, defaultTyping: 0 } diff --git a/examples/dynamic-carousel/src/locales/.gitkeep b/examples/dynamic-carousel/src/locales/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/dynamic-carousel/src/locales/index.js b/examples/dynamic-carousel/src/locales/index.js new file mode 100644 index 0000000000..1fb527a896 --- /dev/null +++ b/examples/dynamic-carousel/src/locales/index.js @@ -0,0 +1 @@ +export const locales = {} diff --git a/examples/dynamic-carousel/src/plugins.js b/examples/dynamic-carousel/src/plugins.js new file mode 100644 index 0000000000..e571fed32b --- /dev/null +++ b/examples/dynamic-carousel/src/plugins.js @@ -0,0 +1 @@ +export const plugins = [] diff --git a/examples/dynamic-carousel/src/routes.js b/examples/dynamic-carousel/src/routes.js new file mode 100644 index 0000000000..cf35492737 --- /dev/null +++ b/examples/dynamic-carousel/src/routes.js @@ -0,0 +1,11 @@ +import GetShirts from './actions/get-shirts' +import Hi from './actions/hi' + +export const routes = [ + /* The first rule matches if and only if we get the text 'hi' and will execute the + React component defined in pages/actions/hi.js */ + { path: 'hi', text: 'hi', action: Hi }, + + /* These rules capture different payloads */ + { path: 'shirts', payload: /(women-shirts|men-shirts)/, action: GetShirts }, +] diff --git a/examples/dynamic-carousel/src/webchat/index.js b/examples/dynamic-carousel/src/webchat/index.js new file mode 100644 index 0000000000..80a09f176c --- /dev/null +++ b/examples/dynamic-carousel/src/webchat/index.js @@ -0,0 +1 @@ +export const webchat = {} diff --git a/examples/dynamic-carousel/src/webviews/index.js b/examples/dynamic-carousel/src/webviews/index.js new file mode 100644 index 0000000000..4ca4089ae0 --- /dev/null +++ b/examples/dynamic-carousel/src/webviews/index.js @@ -0,0 +1 @@ +export const webviews = [] diff --git a/examples/dynamic-carousel/tests/__mocks__/fileMock.js b/examples/dynamic-carousel/tests/__mocks__/fileMock.js new file mode 100644 index 0000000000..0e56c5b5f7 --- /dev/null +++ b/examples/dynamic-carousel/tests/__mocks__/fileMock.js @@ -0,0 +1 @@ +module.exports = 'test-file-stub' diff --git a/examples/dynamic-carousel/tests/__mocks__/styleMock.js b/examples/dynamic-carousel/tests/__mocks__/styleMock.js new file mode 100644 index 0000000000..4ba52ba2c8 --- /dev/null +++ b/examples/dynamic-carousel/tests/__mocks__/styleMock.js @@ -0,0 +1 @@ +module.exports = {} diff --git a/examples/dynamic-carousel/tests/app.test.js b/examples/dynamic-carousel/tests/app.test.js new file mode 100644 index 0000000000..e9d89624ea --- /dev/null +++ b/examples/dynamic-carousel/tests/app.test.js @@ -0,0 +1,20 @@ +import { + BotonicInputTester, + BotonicOutputTester, + NodeApp, +} from '@botonic/react' + +import { config } from '../src/' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +const app = new NodeApp({ routes, locales, plugins, ...config }) + +const input = new BotonicInputTester(app) +const output = new BotonicOutputTester(app) + +test('TEST: (404) NOT FOUND', async () => { + const response = await input.text('whatever') + expect(response).toBe(output.text("I don't understand you")) +}) diff --git a/examples/dynamic-carousel/webpack-entries/dev-entry.js b/examples/dynamic-carousel/webpack-entries/dev-entry.js new file mode 100644 index 0000000000..6e32a58053 --- /dev/null +++ b/examples/dynamic-carousel/webpack-entries/dev-entry.js @@ -0,0 +1,15 @@ +import { DevApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' +import { webchat } from '../src/webchat' + +export const app = new DevApp({ + routes, + locales, + plugins, + ...webchat, + ...config, +}) diff --git a/examples/dynamic-carousel/webpack-entries/node-entry.js b/examples/dynamic-carousel/webpack-entries/node-entry.js new file mode 100644 index 0000000000..fbb24edb77 --- /dev/null +++ b/examples/dynamic-carousel/webpack-entries/node-entry.js @@ -0,0 +1,8 @@ +import { NodeApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +export const app = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/examples/dynamic-carousel/webpack-entries/webchat-entry.js b/examples/dynamic-carousel/webpack-entries/webchat-entry.js new file mode 100644 index 0000000000..4bd967e0c4 --- /dev/null +++ b/examples/dynamic-carousel/webpack-entries/webchat-entry.js @@ -0,0 +1,5 @@ +import { WebchatApp } from '@botonic/react' + +import { webchat } from '../src/webchat' + +export const app = new WebchatApp(webchat) diff --git a/examples/dynamic-carousel/webpack-entries/webviews-entry.js b/examples/dynamic-carousel/webpack-entries/webviews-entry.js new file mode 100644 index 0000000000..030c2fc4f9 --- /dev/null +++ b/examples/dynamic-carousel/webpack-entries/webviews-entry.js @@ -0,0 +1,6 @@ +import { WebviewApp } from '@botonic/react' + +import { locales } from '../src/locales' +import { webviews } from '../src/webviews' + +export const app = new WebviewApp({ webviews, locales }) diff --git a/examples/dynamic-carousel/webpack.config.js b/examples/dynamic-carousel/webpack.config.js new file mode 100644 index 0000000000..03250b1239 --- /dev/null +++ b/examples/dynamic-carousel/webpack.config.js @@ -0,0 +1,338 @@ +const path = require('path') +const webpack = require('webpack') +const TerserPlugin = require('terser-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const { CleanWebpackPlugin } = require('clean-webpack-plugin') +const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin') + +const ROOT = path.resolve(__dirname, 'src') +const ASSETS_DIRNAME = 'assets' + +const OUTPUT_PATH = path.resolve(__dirname, 'dist') +const WEBVIEWS_PATH = path.resolve(OUTPUT_PATH, 'webviews') + +const BOTONIC_PATH = path.resolve( + __dirname, + 'node_modules', + '@botonic', + 'react' +) + +const WEBPACK_MODE = { + DEVELOPMENT: 'development', + PRODUCTION: 'production', +} + +const BOTONIC_TARGETS = { + ALL: 'all', + DEV: 'dev', + NODE: 'node', + WEBVIEWS: 'webviews', + WEBCHAT: 'webchat', +} + +const WEBPACK_ENTRIES_DIRNAME = 'webpack-entries' +const WEBPACK_ENTRIES = { + DEV: 'dev-entry.js', + NODE: 'node-entry.js', + WEBCHAT: 'webchat-entry.js', + WEBVIEWS: 'webviews-entry.js', +} + +const TEMPLATES = { + WEBCHAT: 'webchat.template.html', + WEBVIEWS: 'webview.template.html', +} + +const UMD_LIBRARY_TARGET = 'umd' +const BOTONIC_LIBRARY_NAME = 'Botonic' +const WEBCHAT_FILENAME = 'webchat.botonic.js' + +function sourceMap(mode) { + if (mode === WEBPACK_MODE.PRODUCTION) return 'hidden-source-map' + else if (mode === WEBPACK_MODE.DEVELOPMENT) return 'eval-cheap-source-map' + else + throw new Error( + 'Invalid mode argument (' + mode + '). See package.json scripts' + ) +} + +const optimizationConfig = { + minimize: true, + minimizer: [ + new TerserPlugin({ + parallel: true, + terserOptions: { + keep_fnames: true, + }, + }), + ], +} + +const resolveConfig = { + extensions: ['*', '.js', '.jsx', '.ts', '.tsx', '.mjs'], + alias: { + react: path.resolve(__dirname, 'node_modules', 'react'), + 'styled-components': path.resolve( + __dirname, + 'node_modules', + 'styled-components' + ), + }, + fallback: { + util: require.resolve('util'), + }, +} + +const babelLoaderConfig = { + test: /\.(js|jsx|ts|tsx|mjs)$/, + exclude: /node_modules\/(?!@botonic)/, + use: { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + cacheDirectory: true, + presets: [ + '@babel/react', + [ + '@babel/preset-env', + { + modules: false, + }, + ], + ], + plugins: [ + '@babel/plugin-transform-runtime', + ], + }, + }, +} + +function fileLoaderConfig(outputPath) { + return { + test: /\.(jpe?g|png|gif|svg)$/i, + use: [ + { + loader: 'file-loader', + options: { + outputPath: outputPath, + }, + }, + ], + } +} + +const nullLoaderConfig = { + test: /\.(scss|css)$/, + use: 'null-loader', +} + +const stylesLoaderConfig = { + test: /\.(scss|css)$/, + use: [ + { + loader: 'style-loader', + options: { + insert: function (element) { + if (!window._botonicInsertStyles) window._botonicInsertStyles = [] + window._botonicInsertStyles.push(element) + }, + }, + }, + 'css-loader', + 'sass-loader', + ], +} + +const imageminPlugin = new ImageMinimizerPlugin({ + minimizer: { + implementation: ImageMinimizerPlugin.imageminMinify, + options: { + plugins: [ + "imagemin-gifsicle", + "imagemin-jpegtran", + "imagemin-optipng", + "imagemin-svgo", + ], + }, + }, +}) + +function botonicDevConfig(mode) { + return { + mode: mode, + devtool: sourceMap(mode), + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.DEV), + target: 'web', + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + devServer: { + static: [OUTPUT_PATH], + liveReload: true, + historyApiFallback: true, + hot: true, + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + new webpack.HotModuleReplacementPlugin(), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + ...(mode === 'development' + ? { MODELS_BASE_URL: JSON.stringify('http://localhost:8080') } + : {}), + }), + new webpack.ProvidePlugin({ + process: 'process/browser', + }), + ], + } +} + +function botonicWebchatConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBCHAT), + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + WEBCHAT_PUSHER_KEY: JSON.stringify(process.env.WEBCHAT_PUSHER_KEY), + }), + ], + } +} + +function botonicWebviewsConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBVIEWS), + output: { + filename: 'webviews.js', + library: 'BotonicWebview', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: WEBVIEWS_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(path.join('..', ASSETS_DIRNAME)), + stylesLoaderConfig, + ], + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBVIEWS), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +function botonicNodeConfig(mode) { + return { + context: ROOT, + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'node', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.NODE), + resolve: resolveConfig, + output: { + filename: 'bot.js', + library: 'bot', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + nullLoaderConfig, + ], + }, + plugins: [ + new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: false, + IS_NODE: true, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +module.exports = function (env, argv) { + if (env.target === BOTONIC_TARGETS.ALL) { + return [ + botonicNodeConfig(argv.mode), + botonicWebviewsConfig(argv.mode), + botonicWebchatConfig(argv.mode), + ] + } else if (env.target === BOTONIC_TARGETS.DEV) { + return [botonicDevConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.NODE) { + return [botonicNodeConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBVIEWS) { + return [botonicWebviewsConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBCHAT) { + return [botonicWebchatConfig(argv.mode)] + } else { + return null + } +} diff --git a/examples/dynamodb/babel.config.js b/examples/dynamodb/babel.config.js new file mode 100644 index 0000000000..ce0c91d3ff --- /dev/null +++ b/examples/dynamodb/babel.config.js @@ -0,0 +1,29 @@ +/* + * This babel configuration is used along with Jest for execute tests, + * do not modify to avoid conflicts with webpack.config.js. + */ + +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + [ + '@babel/react', + { + targets: { + node: 'current', + }, + }, + ], + ], + plugins: [ + require('@babel/plugin-transform-modules-commonjs'), + require('@babel/plugin-transform-runtime'), + ], +} diff --git a/examples/dynamodb/jest.config.js b/examples/dynamodb/jest.config.js new file mode 100644 index 0000000000..d2514ba654 --- /dev/null +++ b/examples/dynamodb/jest.config.js @@ -0,0 +1,18 @@ +const path = require('path') + +module.exports = { + rootDir: "tests", + transform: { + "^.+\\.jsx?$": [ + "babel-jest", + { "configFile": path.resolve(__dirname, "babel.config.js") }, + ], + }, + transformIgnorePatterns: [ + "/node_modules/(?!@botonic).+\\.(js|jsx|ts|tsx)$" + ], + moduleNameMapper: { + "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", + "\\.(scss|css|less)$": "/__mocks__/styleMock.js" + } +} \ No newline at end of file diff --git a/examples/dynamodb/package.json b/examples/dynamodb/package.json new file mode 100644 index 0000000000..68a392f6cb --- /dev/null +++ b/examples/dynamodb/package.json @@ -0,0 +1,21 @@ +{ + "name": "dynamodb", + "version": "0.25.0", + "scripts": { + "build": "webpack --env target=all --mode=production", + "start": "webpack-dev-server --env target=dev --mode=development", + "deploy": "botonic deploy -c build", + "test": "jest" + }, + "dependencies": { + "@babel/runtime": "^7.23.9", + "@botonic/plugin-dynamodb": "0.25.0-alpha.0", + "@botonic/react": "0.25.0-alpha.5" + }, + "devDependencies": { + "@botonic/dx": "0.25.0-alpha.5" + }, + "engines": { + "node": ">=20.0.0" + } +} diff --git a/examples/dynamodb/src/actions/hi.jsx b/examples/dynamodb/src/actions/hi.jsx new file mode 100644 index 0000000000..a3d9e7daf0 --- /dev/null +++ b/examples/dynamodb/src/actions/hi.jsx @@ -0,0 +1,18 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + static async botonicInit({ plugins, session }) { + const user = session.user.id + const botId = session.bot.id + + try { + await plugins.track.track(botId, user, { arg1: 'val1' }) + } catch (e) { + console.error(e) + } + } + render() { + return Hi + } +} diff --git a/examples/dynamodb/src/assets/.gitkeep b/examples/dynamodb/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/dynamodb/src/index.js b/examples/dynamodb/src/index.js new file mode 100644 index 0000000000..f7334846a7 --- /dev/null +++ b/examples/dynamodb/src/index.js @@ -0,0 +1 @@ +export const config = { defaultDelay: 0, defaultTyping: 0 } diff --git a/examples/dynamodb/src/locales/index.js b/examples/dynamodb/src/locales/index.js new file mode 100644 index 0000000000..1fb527a896 --- /dev/null +++ b/examples/dynamodb/src/locales/index.js @@ -0,0 +1 @@ +export const locales = {} diff --git a/examples/dynamodb/src/plugins.js b/examples/dynamodb/src/plugins.js new file mode 100644 index 0000000000..fa285ac1e3 --- /dev/null +++ b/examples/dynamodb/src/plugins.js @@ -0,0 +1,13 @@ +export const plugins = [ + { + id: 'track', + resolve: require('@botonic/plugin-dynamodb'), + options: { + // TODO update configuration below + env: 'dev', + accessKeyId: 'YOUR AWS ACCESS KEY HERE', + secretAccessKey: 'YOUR AWS SECRET KEY HERE', // pragma: allowlist secret + region: 'eu-west-1', + }, + }, +] diff --git a/examples/dynamodb/src/routes.js b/examples/dynamodb/src/routes.js new file mode 100644 index 0000000000..45fde1e510 --- /dev/null +++ b/examples/dynamodb/src/routes.js @@ -0,0 +1,3 @@ +import Hi from './actions/hi' + +export const routes = [{ path: 'hi', text: 'hi', action: Hi }] diff --git a/examples/dynamodb/src/webchat/index.js b/examples/dynamodb/src/webchat/index.js new file mode 100644 index 0000000000..80a09f176c --- /dev/null +++ b/examples/dynamodb/src/webchat/index.js @@ -0,0 +1 @@ +export const webchat = {} diff --git a/examples/dynamodb/src/webviews/index.js b/examples/dynamodb/src/webviews/index.js new file mode 100644 index 0000000000..4ca4089ae0 --- /dev/null +++ b/examples/dynamodb/src/webviews/index.js @@ -0,0 +1 @@ +export const webviews = [] diff --git a/examples/dynamodb/tests/__mocks__/fileMock.js b/examples/dynamodb/tests/__mocks__/fileMock.js new file mode 100644 index 0000000000..0e56c5b5f7 --- /dev/null +++ b/examples/dynamodb/tests/__mocks__/fileMock.js @@ -0,0 +1 @@ +module.exports = 'test-file-stub' diff --git a/examples/dynamodb/tests/__mocks__/styleMock.js b/examples/dynamodb/tests/__mocks__/styleMock.js new file mode 100644 index 0000000000..4ba52ba2c8 --- /dev/null +++ b/examples/dynamodb/tests/__mocks__/styleMock.js @@ -0,0 +1 @@ +module.exports = {} diff --git a/examples/dynamodb/tests/app.test.js b/examples/dynamodb/tests/app.test.js new file mode 100644 index 0000000000..e9d89624ea --- /dev/null +++ b/examples/dynamodb/tests/app.test.js @@ -0,0 +1,20 @@ +import { + BotonicInputTester, + BotonicOutputTester, + NodeApp, +} from '@botonic/react' + +import { config } from '../src/' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +const app = new NodeApp({ routes, locales, plugins, ...config }) + +const input = new BotonicInputTester(app) +const output = new BotonicOutputTester(app) + +test('TEST: (404) NOT FOUND', async () => { + const response = await input.text('whatever') + expect(response).toBe(output.text("I don't understand you")) +}) diff --git a/examples/dynamodb/webpack-entries/dev-entry.js b/examples/dynamodb/webpack-entries/dev-entry.js new file mode 100644 index 0000000000..6e32a58053 --- /dev/null +++ b/examples/dynamodb/webpack-entries/dev-entry.js @@ -0,0 +1,15 @@ +import { DevApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' +import { webchat } from '../src/webchat' + +export const app = new DevApp({ + routes, + locales, + plugins, + ...webchat, + ...config, +}) diff --git a/examples/dynamodb/webpack-entries/node-entry.js b/examples/dynamodb/webpack-entries/node-entry.js new file mode 100644 index 0000000000..fbb24edb77 --- /dev/null +++ b/examples/dynamodb/webpack-entries/node-entry.js @@ -0,0 +1,8 @@ +import { NodeApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +export const app = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/examples/dynamodb/webpack-entries/webchat-entry.js b/examples/dynamodb/webpack-entries/webchat-entry.js new file mode 100644 index 0000000000..4bd967e0c4 --- /dev/null +++ b/examples/dynamodb/webpack-entries/webchat-entry.js @@ -0,0 +1,5 @@ +import { WebchatApp } from '@botonic/react' + +import { webchat } from '../src/webchat' + +export const app = new WebchatApp(webchat) diff --git a/examples/dynamodb/webpack-entries/webviews-entry.js b/examples/dynamodb/webpack-entries/webviews-entry.js new file mode 100644 index 0000000000..030c2fc4f9 --- /dev/null +++ b/examples/dynamodb/webpack-entries/webviews-entry.js @@ -0,0 +1,6 @@ +import { WebviewApp } from '@botonic/react' + +import { locales } from '../src/locales' +import { webviews } from '../src/webviews' + +export const app = new WebviewApp({ webviews, locales }) diff --git a/examples/dynamodb/webpack.config.js b/examples/dynamodb/webpack.config.js new file mode 100644 index 0000000000..fe92e04b77 --- /dev/null +++ b/examples/dynamodb/webpack.config.js @@ -0,0 +1,340 @@ +const path = require('path') +const webpack = require('webpack') +const TerserPlugin = require('terser-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const { CleanWebpackPlugin } = require('clean-webpack-plugin') +const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin') + +const ROOT = path.resolve(__dirname, 'src') +const ASSETS_DIRNAME = 'assets' + +const OUTPUT_PATH = path.resolve(__dirname, 'dist') +const WEBVIEWS_PATH = path.resolve(OUTPUT_PATH, 'webviews') + +const BOTONIC_PATH = path.resolve( + __dirname, + 'node_modules', + '@botonic', + 'react' +) + +const WEBPACK_MODE = { + DEVELOPMENT: 'development', + PRODUCTION: 'production', +} + +const BOTONIC_TARGETS = { + ALL: 'all', + DEV: 'dev', + NODE: 'node', + WEBVIEWS: 'webviews', + WEBCHAT: 'webchat', +} + +const WEBPACK_ENTRIES_DIRNAME = 'webpack-entries' +const WEBPACK_ENTRIES = { + DEV: 'dev-entry.js', + NODE: 'node-entry.js', + WEBCHAT: 'webchat-entry.js', + WEBVIEWS: 'webviews-entry.js', +} + +const TEMPLATES = { + WEBCHAT: 'webchat.template.html', + WEBVIEWS: 'webview.template.html', +} + +const UMD_LIBRARY_TARGET = 'umd' +const BOTONIC_LIBRARY_NAME = 'Botonic' +const WEBCHAT_FILENAME = 'webchat.botonic.js' + +function sourceMap(mode) { + if (mode === WEBPACK_MODE.PRODUCTION) return 'hidden-source-map' + else if (mode === WEBPACK_MODE.DEVELOPMENT) return 'eval-cheap-source-map' + else + throw new Error( + 'Invalid mode argument (' + mode + '). See package.json scripts' + ) +} + +const optimizationConfig = { + minimize: true, + minimizer: [ + new TerserPlugin({ + parallel: true, + terserOptions: { + keep_fnames: true, + }, + }), + ], +} + +const resolveConfig = { + extensions: ['*', '.js', '.jsx', '.ts', '.tsx', '.mjs'], + alias: { + react: path.resolve(__dirname, 'node_modules', 'react'), + 'styled-components': path.resolve( + __dirname, + 'node_modules', + 'styled-components' + ), + }, + fallback: { + util: require.resolve('util'), + }, +} + +const babelLoaderConfig = { + test: /\.(js|jsx|ts|tsx|mjs)$/, + // important to exclude @botonic/dynamo. Otherwise, the plugin does not export the + // class within a "default" key, and you'd get "Uncaught TypeError: Plugin is not a constructor" + exclude: /node_modules\/(?!@botonic)/, + use: { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + cacheDirectory: true, + presets: [ + '@babel/react', + [ + '@babel/preset-env', + { + modules: false, + }, + ], + ], + plugins: [ + '@babel/plugin-transform-runtime', + ], + }, + }, +} + +function fileLoaderConfig(outputPath) { + return { + test: /\.(jpe?g|png|gif|svg)$/i, + use: [ + { + loader: 'file-loader', + options: { + outputPath: outputPath, + }, + }, + ], + } +} + +const nullLoaderConfig = { + test: /\.(scss|css)$/, + use: 'null-loader', +} + +const stylesLoaderConfig = { + test: /\.(scss|css)$/, + use: [ + { + loader: 'style-loader', + options: { + insert: function (element) { + if (!window._botonicInsertStyles) window._botonicInsertStyles = [] + window._botonicInsertStyles.push(element) + }, + }, + }, + 'css-loader', + 'sass-loader', + ], +} + +const imageminPlugin = new ImageMinimizerPlugin({ + minimizer: { + implementation: ImageMinimizerPlugin.imageminMinify, + options: { + plugins: [ + "imagemin-gifsicle", + "imagemin-jpegtran", + "imagemin-optipng", + "imagemin-svgo", + ], + }, + }, +}) + +function botonicDevConfig(mode) { + return { + mode: mode, + devtool: sourceMap(mode), + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.DEV), + target: 'web', + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + devServer: { + static: [OUTPUT_PATH], + liveReload: true, + historyApiFallback: true, + hot: true, + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + new webpack.HotModuleReplacementPlugin(), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + ...(mode === 'development' + ? { MODELS_BASE_URL: JSON.stringify('http://localhost:8080') } + : {}), + }), + new webpack.ProvidePlugin({ + process: 'process/browser', + }), + ], + } +} + +function botonicWebchatConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBCHAT), + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + WEBCHAT_PUSHER_KEY: JSON.stringify(process.env.WEBCHAT_PUSHER_KEY), + }), + ], + } +} + +function botonicWebviewsConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBVIEWS), + output: { + filename: 'webviews.js', + library: 'BotonicWebview', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: WEBVIEWS_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(path.join('..', ASSETS_DIRNAME)), + stylesLoaderConfig, + ], + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBVIEWS), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +function botonicNodeConfig(mode) { + return { + context: ROOT, + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'node', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.NODE), + resolve: resolveConfig, + output: { + filename: 'bot.js', + library: 'bot', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + nullLoaderConfig, + ], + }, + plugins: [ + new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: false, + IS_NODE: true, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +module.exports = function (env, argv) { + if (env.target === BOTONIC_TARGETS.ALL) { + return [ + botonicNodeConfig(argv.mode), + botonicWebviewsConfig(argv.mode), + botonicWebchatConfig(argv.mode), + ] + } else if (env.target === BOTONIC_TARGETS.DEV) { + return [botonicDevConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.NODE) { + return [botonicNodeConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBVIEWS) { + return [botonicWebviewsConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBCHAT) { + return [botonicWebchatConfig(argv.mode)] + } else { + return null + } +} diff --git a/examples/handoff/babel.config.js b/examples/handoff/babel.config.js new file mode 100644 index 0000000000..ce0c91d3ff --- /dev/null +++ b/examples/handoff/babel.config.js @@ -0,0 +1,29 @@ +/* + * This babel configuration is used along with Jest for execute tests, + * do not modify to avoid conflicts with webpack.config.js. + */ + +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + [ + '@babel/react', + { + targets: { + node: 'current', + }, + }, + ], + ], + plugins: [ + require('@babel/plugin-transform-modules-commonjs'), + require('@babel/plugin-transform-runtime'), + ], +} diff --git a/examples/handoff/jest.config.js b/examples/handoff/jest.config.js new file mode 100644 index 0000000000..d2514ba654 --- /dev/null +++ b/examples/handoff/jest.config.js @@ -0,0 +1,18 @@ +const path = require('path') + +module.exports = { + rootDir: "tests", + transform: { + "^.+\\.jsx?$": [ + "babel-jest", + { "configFile": path.resolve(__dirname, "babel.config.js") }, + ], + }, + transformIgnorePatterns: [ + "/node_modules/(?!@botonic).+\\.(js|jsx|ts|tsx)$" + ], + moduleNameMapper: { + "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", + "\\.(scss|css|less)$": "/__mocks__/styleMock.js" + } +} \ No newline at end of file diff --git a/examples/handoff/package.json b/examples/handoff/package.json new file mode 100644 index 0000000000..67c11532ac --- /dev/null +++ b/examples/handoff/package.json @@ -0,0 +1,20 @@ +{ + "name": "handoff", + "version": "0.25.0", + "scripts": { + "build": "webpack --env target=all --mode=production", + "start": "webpack-dev-server --env target=dev --mode=development", + "deploy": "botonic deploy -c build", + "test": "jest" + }, + "dependencies": { + "@babel/runtime": "^7.23.9", + "@botonic/react": "0.25.0-alpha.5" + }, + "devDependencies": { + "@botonic/dx": "0.25.0-alpha.5" + }, + "engines": { + "node": ">=20.0.0" + } +} diff --git a/examples/handoff/src/actions/thanks.jsx b/examples/handoff/src/actions/thanks.jsx new file mode 100644 index 0000000000..53cc9fa641 --- /dev/null +++ b/examples/handoff/src/actions/thanks.jsx @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return Thanks for contacting us! + } +} diff --git a/examples/handoff/src/actions/transfer-agent.jsx b/examples/handoff/src/actions/transfer-agent.jsx new file mode 100644 index 0000000000..f381bf5485 --- /dev/null +++ b/examples/handoff/src/actions/transfer-agent.jsx @@ -0,0 +1,53 @@ +import { + getAvailableAgents, + getOpenQueues, + HandOffBuilder, +} from '@botonic/core' +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + static async botonicInit({ input, session, params, lastRoutePath }) { + /* + Uncomment the lines below before deploying the bot to Hubtype + in order to test the getOpenQueues call for 'Customer Support'. + */ + // let openQueues = await getOpenQueues(session) + let agentEmail = '' + try { + agentEmail = ( + await getAvailableAgents(session, 'HUBTYPE_DESK_QUEUE_ID') + ).filter(agent => agent == 'agent-name@hubtype.com')[0] + } catch (e) {} + + let isHandOff = false + // if (openQueues.queues.indexOf('Customer Support') !== -1) { + const handOffBuilder = new HandOffBuilder(session) + handOffBuilder.withQueue('HUBTYPE_DESK_QUEUE_ID') + handOffBuilder.withAgentEmail('agent-1@hubtype.com') + handOffBuilder.withOnFinishPath('thanks-for-contacting') // or handOffBuilder.withOnFinishPayload('thanks-for-contacting') + handOffBuilder.withCaseInfo( + 'This is some case information that will be available in the new created case' + ) + handOffBuilder.withNote( + 'This is a note that will be attached to the case as a reminder' + ) + await handOffBuilder.handOff() + + isHandOff = true + // } + return { isHandOff } + } + + render() { + if (this.props.isHandOff) { + return You are being transferred to an agent! + } else { + return ( + + Sorry, right now we can't serve you... Please contact us later! + + ) + } + } +} diff --git a/examples/handoff/src/assets/.gitkeep b/examples/handoff/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/handoff/src/index.js b/examples/handoff/src/index.js new file mode 100644 index 0000000000..f7334846a7 --- /dev/null +++ b/examples/handoff/src/index.js @@ -0,0 +1 @@ +export const config = { defaultDelay: 0, defaultTyping: 0 } diff --git a/examples/handoff/src/locales/.gitkeep b/examples/handoff/src/locales/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/handoff/src/locales/index.js b/examples/handoff/src/locales/index.js new file mode 100644 index 0000000000..1fb527a896 --- /dev/null +++ b/examples/handoff/src/locales/index.js @@ -0,0 +1 @@ +export const locales = {} diff --git a/examples/handoff/src/plugins.js b/examples/handoff/src/plugins.js new file mode 100644 index 0000000000..e571fed32b --- /dev/null +++ b/examples/handoff/src/plugins.js @@ -0,0 +1 @@ +export const plugins = [] diff --git a/examples/handoff/src/routes.js b/examples/handoff/src/routes.js new file mode 100644 index 0000000000..fc915865bf --- /dev/null +++ b/examples/handoff/src/routes.js @@ -0,0 +1,7 @@ +import Thanks from './actions/thanks' +import TransferAgent from './actions/transfer-agent' + +export const routes = [ + { path: 'agent', text: /^handoff$/i, action: TransferAgent }, + { path: 'thanks-for-contacting', action: Thanks }, +] diff --git a/examples/handoff/src/webchat/index.js b/examples/handoff/src/webchat/index.js new file mode 100644 index 0000000000..80a09f176c --- /dev/null +++ b/examples/handoff/src/webchat/index.js @@ -0,0 +1 @@ +export const webchat = {} diff --git a/examples/handoff/src/webviews/index.js b/examples/handoff/src/webviews/index.js new file mode 100644 index 0000000000..4ca4089ae0 --- /dev/null +++ b/examples/handoff/src/webviews/index.js @@ -0,0 +1 @@ +export const webviews = [] diff --git a/examples/handoff/tests/__mocks__/fileMock.js b/examples/handoff/tests/__mocks__/fileMock.js new file mode 100644 index 0000000000..0e56c5b5f7 --- /dev/null +++ b/examples/handoff/tests/__mocks__/fileMock.js @@ -0,0 +1 @@ +module.exports = 'test-file-stub' diff --git a/examples/handoff/tests/__mocks__/styleMock.js b/examples/handoff/tests/__mocks__/styleMock.js new file mode 100644 index 0000000000..4ba52ba2c8 --- /dev/null +++ b/examples/handoff/tests/__mocks__/styleMock.js @@ -0,0 +1 @@ +module.exports = {} diff --git a/examples/handoff/tests/app.test.js b/examples/handoff/tests/app.test.js new file mode 100644 index 0000000000..e9d89624ea --- /dev/null +++ b/examples/handoff/tests/app.test.js @@ -0,0 +1,20 @@ +import { + BotonicInputTester, + BotonicOutputTester, + NodeApp, +} from '@botonic/react' + +import { config } from '../src/' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +const app = new NodeApp({ routes, locales, plugins, ...config }) + +const input = new BotonicInputTester(app) +const output = new BotonicOutputTester(app) + +test('TEST: (404) NOT FOUND', async () => { + const response = await input.text('whatever') + expect(response).toBe(output.text("I don't understand you")) +}) diff --git a/examples/handoff/webpack-entries/dev-entry.js b/examples/handoff/webpack-entries/dev-entry.js new file mode 100644 index 0000000000..6e32a58053 --- /dev/null +++ b/examples/handoff/webpack-entries/dev-entry.js @@ -0,0 +1,15 @@ +import { DevApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' +import { webchat } from '../src/webchat' + +export const app = new DevApp({ + routes, + locales, + plugins, + ...webchat, + ...config, +}) diff --git a/examples/handoff/webpack-entries/node-entry.js b/examples/handoff/webpack-entries/node-entry.js new file mode 100644 index 0000000000..fbb24edb77 --- /dev/null +++ b/examples/handoff/webpack-entries/node-entry.js @@ -0,0 +1,8 @@ +import { NodeApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +export const app = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/examples/handoff/webpack-entries/webchat-entry.js b/examples/handoff/webpack-entries/webchat-entry.js new file mode 100644 index 0000000000..4bd967e0c4 --- /dev/null +++ b/examples/handoff/webpack-entries/webchat-entry.js @@ -0,0 +1,5 @@ +import { WebchatApp } from '@botonic/react' + +import { webchat } from '../src/webchat' + +export const app = new WebchatApp(webchat) diff --git a/examples/handoff/webpack-entries/webviews-entry.js b/examples/handoff/webpack-entries/webviews-entry.js new file mode 100644 index 0000000000..030c2fc4f9 --- /dev/null +++ b/examples/handoff/webpack-entries/webviews-entry.js @@ -0,0 +1,6 @@ +import { WebviewApp } from '@botonic/react' + +import { locales } from '../src/locales' +import { webviews } from '../src/webviews' + +export const app = new WebviewApp({ webviews, locales }) diff --git a/examples/handoff/webpack.config.js b/examples/handoff/webpack.config.js new file mode 100644 index 0000000000..a40a3bf230 --- /dev/null +++ b/examples/handoff/webpack.config.js @@ -0,0 +1,339 @@ +const path = require('path') +const webpack = require('webpack') +const TerserPlugin = require('terser-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const { CleanWebpackPlugin } = require('clean-webpack-plugin') +const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin') + +const ROOT = path.resolve(__dirname, 'src') +const ASSETS_DIRNAME = 'assets' + +const OUTPUT_PATH = path.resolve(__dirname, 'dist') +const WEBVIEWS_PATH = path.resolve(OUTPUT_PATH, 'webviews') + + +const BOTONIC_PATH = path.resolve( + __dirname, + 'node_modules', + '@botonic', + 'react' +) + +const WEBPACK_MODE = { + DEVELOPMENT: 'development', + PRODUCTION: 'production', +} + +const BOTONIC_TARGETS = { + ALL: 'all', + DEV: 'dev', + NODE: 'node', + WEBVIEWS: 'webviews', + WEBCHAT: 'webchat', +} + +const WEBPACK_ENTRIES_DIRNAME = 'webpack-entries' +const WEBPACK_ENTRIES = { + DEV: 'dev-entry.js', + NODE: 'node-entry.js', + WEBCHAT: 'webchat-entry.js', + WEBVIEWS: 'webviews-entry.js', +} + +const TEMPLATES = { + WEBCHAT: 'webchat.template.html', + WEBVIEWS: 'webview.template.html', +} + +const UMD_LIBRARY_TARGET = 'umd' +const BOTONIC_LIBRARY_NAME = 'Botonic' +const WEBCHAT_FILENAME = 'webchat.botonic.js' + +function sourceMap(mode) { + if (mode === WEBPACK_MODE.PRODUCTION) return 'hidden-source-map' + else if (mode === WEBPACK_MODE.DEVELOPMENT) return 'eval-cheap-source-map' + else + throw new Error( + 'Invalid mode argument (' + mode + '). See package.json scripts' + ) +} + +const optimizationConfig = { + minimize: true, + minimizer: [ + new TerserPlugin({ + parallel: true, + terserOptions: { + keep_fnames: true, + }, + }), + ], +} + +const resolveConfig = { + extensions: ['*', '.js', '.jsx', '.ts', '.tsx', '.mjs'], + alias: { + react: path.resolve(__dirname, 'node_modules', 'react'), + 'styled-components': path.resolve( + __dirname, + 'node_modules', + 'styled-components' + ), + }, + fallback: { + util: require.resolve('util'), + }, +} + +const babelLoaderConfig = { + test: /\.(js|jsx|ts|tsx|mjs)$/, + exclude: /node_modules\/(?!@botonic)/, + use: { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + cacheDirectory: true, + presets: [ + '@babel/react', + [ + '@babel/preset-env', + { + modules: false, + }, + ], + ], + plugins: [ + '@babel/plugin-transform-runtime', + ], + }, + }, +} + +function fileLoaderConfig(outputPath) { + return { + test: /\.(jpe?g|png|gif|svg)$/i, + use: [ + { + loader: 'file-loader', + options: { + outputPath: outputPath, + }, + }, + ], + } +} + +const nullLoaderConfig = { + test: /\.(scss|css)$/, + use: 'null-loader', +} + +const stylesLoaderConfig = { + test: /\.(scss|css)$/, + use: [ + { + loader: 'style-loader', + options: { + insert: function (element) { + if (!window._botonicInsertStyles) window._botonicInsertStyles = [] + window._botonicInsertStyles.push(element) + }, + }, + }, + 'css-loader', + 'sass-loader', + ], +} + +const imageminPlugin = new ImageMinimizerPlugin({ + minimizer: { + implementation: ImageMinimizerPlugin.imageminMinify, + options: { + plugins: [ + "imagemin-gifsicle", + "imagemin-jpegtran", + "imagemin-optipng", + "imagemin-svgo", + ], + }, + }, +}) + +function botonicDevConfig(mode) { + return { + mode: mode, + devtool: sourceMap(mode), + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.DEV), + target: 'web', + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + devServer: { + static: [OUTPUT_PATH], + liveReload: true, + historyApiFallback: true, + hot: true, + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + new webpack.HotModuleReplacementPlugin(), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + ...(mode === 'development' + ? { MODELS_BASE_URL: JSON.stringify('http://localhost:8080') } + : {}), + }), + new webpack.ProvidePlugin({ + process: 'process/browser', + }), + ], + } +} + +function botonicWebchatConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBCHAT), + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + WEBCHAT_PUSHER_KEY: JSON.stringify(process.env.WEBCHAT_PUSHER_KEY), + }), + ], + } +} + +function botonicWebviewsConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBVIEWS), + output: { + filename: 'webviews.js', + library: 'BotonicWebview', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: WEBVIEWS_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(path.join('..', ASSETS_DIRNAME)), + stylesLoaderConfig, + ], + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBVIEWS), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +function botonicNodeConfig(mode) { + return { + context: ROOT, + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'node', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.NODE), + resolve: resolveConfig, + output: { + filename: 'bot.js', + library: 'bot', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + nullLoaderConfig, + ], + }, + plugins: [ + new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: false, + IS_NODE: true, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +module.exports = function (env, argv) { + if (env.target === BOTONIC_TARGETS.ALL) { + return [ + botonicNodeConfig(argv.mode), + botonicWebviewsConfig(argv.mode), + botonicWebchatConfig(argv.mode), + ] + } else if (env.target === BOTONIC_TARGETS.DEV) { + return [botonicDevConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.NODE) { + return [botonicNodeConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBVIEWS) { + return [botonicWebviewsConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBCHAT) { + return [botonicWebchatConfig(argv.mode)] + } else { + return null + } +} diff --git a/examples/intent/babel.config.js b/examples/intent/babel.config.js new file mode 100644 index 0000000000..ce0c91d3ff --- /dev/null +++ b/examples/intent/babel.config.js @@ -0,0 +1,29 @@ +/* + * This babel configuration is used along with Jest for execute tests, + * do not modify to avoid conflicts with webpack.config.js. + */ + +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + [ + '@babel/react', + { + targets: { + node: 'current', + }, + }, + ], + ], + plugins: [ + require('@babel/plugin-transform-modules-commonjs'), + require('@babel/plugin-transform-runtime'), + ], +} diff --git a/examples/intent/jest.config.js b/examples/intent/jest.config.js new file mode 100644 index 0000000000..d2514ba654 --- /dev/null +++ b/examples/intent/jest.config.js @@ -0,0 +1,18 @@ +const path = require('path') + +module.exports = { + rootDir: "tests", + transform: { + "^.+\\.jsx?$": [ + "babel-jest", + { "configFile": path.resolve(__dirname, "babel.config.js") }, + ], + }, + transformIgnorePatterns: [ + "/node_modules/(?!@botonic).+\\.(js|jsx|ts|tsx)$" + ], + moduleNameMapper: { + "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", + "\\.(scss|css|less)$": "/__mocks__/styleMock.js" + } +} \ No newline at end of file diff --git a/examples/intent/package.json b/examples/intent/package.json new file mode 100644 index 0000000000..8e7002de64 --- /dev/null +++ b/examples/intent/package.json @@ -0,0 +1,21 @@ +{ + "name": "intent", + "version": "0.25.0", + "scripts": { + "build": "webpack --env target=all --mode=production", + "start": "webpack-dev-server --env target=dev --mode=development", + "deploy": "botonic deploy -c build", + "test": "jest" + }, + "dependencies": { + "@botonic/plugin-dialogflow": "0.25.0-alpha.2", + "@babel/runtime": "^7.23.9", + "@botonic/react": "0.25.0-alpha.5" + }, + "devDependencies": { + "@botonic/dx": "0.25.0-alpha.5" + }, + "engines": { + "node": ">=20.0.0" + } +} diff --git a/examples/intent/src/actions/404.js b/examples/intent/src/actions/404.js new file mode 100644 index 0000000000..5e2f74dc03 --- /dev/null +++ b/examples/intent/src/actions/404.js @@ -0,0 +1,19 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + static async botonicInit({ input }) { + if (input['intent'] === undefined) return { errors: true } + } + + render() { + if (this.props.errors) + return ( + + Enter the generated JSON key for dialogflowV2 in plugins.js to test + the bot. + + ) + return Try typing "hello" to start the bot. + } +} diff --git a/examples/intent/src/actions/bye.js b/examples/intent/src/actions/bye.js new file mode 100644 index 0000000000..84a4863093 --- /dev/null +++ b/examples/intent/src/actions/bye.js @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return Bye bye! 👋 + } +} diff --git a/examples/intent/src/actions/hi.js b/examples/intent/src/actions/hi.js new file mode 100644 index 0000000000..140cade017 --- /dev/null +++ b/examples/intent/src/actions/hi.js @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return Hello! 👋 + } +} diff --git a/examples/intent/src/assets/.gitkeep b/examples/intent/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/intent/src/index.js b/examples/intent/src/index.js new file mode 100644 index 0000000000..f7334846a7 --- /dev/null +++ b/examples/intent/src/index.js @@ -0,0 +1 @@ +export const config = { defaultDelay: 0, defaultTyping: 0 } diff --git a/examples/intent/src/locales/.gitkeep b/examples/intent/src/locales/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/intent/src/locales/index.js b/examples/intent/src/locales/index.js new file mode 100644 index 0000000000..1fb527a896 --- /dev/null +++ b/examples/intent/src/locales/index.js @@ -0,0 +1 @@ +export const locales = {} diff --git a/examples/intent/src/plugins.js b/examples/intent/src/plugins.js new file mode 100644 index 0000000000..93a8e0909d --- /dev/null +++ b/examples/intent/src/plugins.js @@ -0,0 +1,23 @@ +import * as pluginDialogflow from '@botonic/plugin-dialogflow' + +export const plugins = [ + { + id: 'dialogflow', + resolve: pluginDialogflow, + // Copy-past here the generated JSON: https://dialogflow.com/docs/reference/v2-auth-setup + options: { + credentials: { + type: 'service_account', + project_id: 'YOUR_PROJECT_ID', + private_key_id: 'YOUR_PRIVATE_KEY_ID', + private_key: 'YOUR_PRIVATE_KEY', // pragma: allowlist secret + client_email: 'YOUR_CLIENT_EMAIL', + client_id: 'CLIENT_ID', + auth_uri: 'AUTH_URI', + token_uri: 'TOKEN_URI', + auth_provider_x509_cert_url: 'AUT_PROVIDER_X509_CERT_URL', + client_x509_cert_url: 'CLIENT_X509_CERT_URL', + }, + }, + }, +] diff --git a/examples/intent/src/routes.js b/examples/intent/src/routes.js new file mode 100644 index 0000000000..0ae80ccadd --- /dev/null +++ b/examples/intent/src/routes.js @@ -0,0 +1,23 @@ +import NotFound from './actions/404' +import Bye from './actions/bye' +import Hi from './actions/hi' + +export const routes = [ + // Captures different intents (enable Dialogflow in src/plugins.js) + // You can trigger your actions through an intent with 'input' or 'intent' rules + // Make sure the name of the intent corresponds exactly with the one defined in your NLU service (case sensitive) + { + path: 'hi', + input: i => + i.intent == 'Default Welcome Intent' || + i.intent == 'smalltalk.greetings.bye', + action: Hi, + }, + { path: 'bye', intent: 'smalltalk.greetings.bye', action: Bye }, + { path: 'not_found', type: /.*/, action: NotFound }, + + /* There's an implicit rule that captures any other input and maps it to + the 404 action, it would be equivalent to: + {type: /^.*$/, action: "404"} + */ +] diff --git a/examples/intent/src/webchat/index.js b/examples/intent/src/webchat/index.js new file mode 100644 index 0000000000..80a09f176c --- /dev/null +++ b/examples/intent/src/webchat/index.js @@ -0,0 +1 @@ +export const webchat = {} diff --git a/examples/intent/src/webviews/index.js b/examples/intent/src/webviews/index.js new file mode 100644 index 0000000000..4ca4089ae0 --- /dev/null +++ b/examples/intent/src/webviews/index.js @@ -0,0 +1 @@ +export const webviews = [] diff --git a/examples/intent/tests/__mocks__/fileMock.js b/examples/intent/tests/__mocks__/fileMock.js new file mode 100644 index 0000000000..0e56c5b5f7 --- /dev/null +++ b/examples/intent/tests/__mocks__/fileMock.js @@ -0,0 +1 @@ +module.exports = 'test-file-stub' diff --git a/examples/intent/tests/__mocks__/styleMock.js b/examples/intent/tests/__mocks__/styleMock.js new file mode 100644 index 0000000000..4ba52ba2c8 --- /dev/null +++ b/examples/intent/tests/__mocks__/styleMock.js @@ -0,0 +1 @@ +module.exports = {} diff --git a/examples/intent/tests/app.test.js b/examples/intent/tests/app.test.js new file mode 100644 index 0000000000..91ccbcbbdc --- /dev/null +++ b/examples/intent/tests/app.test.js @@ -0,0 +1,22 @@ +import { + BotonicInputTester, + BotonicOutputTester, + NodeApp, +} from '@botonic/react' + +import { config } from '../src/' +import { locales } from '../src/locales' +import { routes } from '../src/routes' + +const app = new NodeApp({ routes, locales, ...config }) + +const input = new BotonicInputTester(app) +const output = new BotonicOutputTester(app) + +test('TEST: (404) NOT FOUND', async () => { + const response = await input.text('whatever') + expect(response).toBe(output.text( + // replace with 'Try typing "hello" to start the bot.' after configuring dialogflow + `Enter the generated JSON key for dialogflowV2 in plugins.js to test the bot.` + )) +}) diff --git a/examples/intent/webpack-entries/dev-entry.js b/examples/intent/webpack-entries/dev-entry.js new file mode 100644 index 0000000000..6e32a58053 --- /dev/null +++ b/examples/intent/webpack-entries/dev-entry.js @@ -0,0 +1,15 @@ +import { DevApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' +import { webchat } from '../src/webchat' + +export const app = new DevApp({ + routes, + locales, + plugins, + ...webchat, + ...config, +}) diff --git a/examples/intent/webpack-entries/node-entry.js b/examples/intent/webpack-entries/node-entry.js new file mode 100644 index 0000000000..fbb24edb77 --- /dev/null +++ b/examples/intent/webpack-entries/node-entry.js @@ -0,0 +1,8 @@ +import { NodeApp } from '@botonic/react' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +export const app = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/examples/intent/webpack-entries/webchat-entry.js b/examples/intent/webpack-entries/webchat-entry.js new file mode 100644 index 0000000000..4bd967e0c4 --- /dev/null +++ b/examples/intent/webpack-entries/webchat-entry.js @@ -0,0 +1,5 @@ +import { WebchatApp } from '@botonic/react' + +import { webchat } from '../src/webchat' + +export const app = new WebchatApp(webchat) diff --git a/examples/intent/webpack-entries/webviews-entry.js b/examples/intent/webpack-entries/webviews-entry.js new file mode 100644 index 0000000000..030c2fc4f9 --- /dev/null +++ b/examples/intent/webpack-entries/webviews-entry.js @@ -0,0 +1,6 @@ +import { WebviewApp } from '@botonic/react' + +import { locales } from '../src/locales' +import { webviews } from '../src/webviews' + +export const app = new WebviewApp({ webviews, locales }) diff --git a/examples/intent/webpack.config.js b/examples/intent/webpack.config.js new file mode 100644 index 0000000000..03250b1239 --- /dev/null +++ b/examples/intent/webpack.config.js @@ -0,0 +1,338 @@ +const path = require('path') +const webpack = require('webpack') +const TerserPlugin = require('terser-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const { CleanWebpackPlugin } = require('clean-webpack-plugin') +const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin') + +const ROOT = path.resolve(__dirname, 'src') +const ASSETS_DIRNAME = 'assets' + +const OUTPUT_PATH = path.resolve(__dirname, 'dist') +const WEBVIEWS_PATH = path.resolve(OUTPUT_PATH, 'webviews') + +const BOTONIC_PATH = path.resolve( + __dirname, + 'node_modules', + '@botonic', + 'react' +) + +const WEBPACK_MODE = { + DEVELOPMENT: 'development', + PRODUCTION: 'production', +} + +const BOTONIC_TARGETS = { + ALL: 'all', + DEV: 'dev', + NODE: 'node', + WEBVIEWS: 'webviews', + WEBCHAT: 'webchat', +} + +const WEBPACK_ENTRIES_DIRNAME = 'webpack-entries' +const WEBPACK_ENTRIES = { + DEV: 'dev-entry.js', + NODE: 'node-entry.js', + WEBCHAT: 'webchat-entry.js', + WEBVIEWS: 'webviews-entry.js', +} + +const TEMPLATES = { + WEBCHAT: 'webchat.template.html', + WEBVIEWS: 'webview.template.html', +} + +const UMD_LIBRARY_TARGET = 'umd' +const BOTONIC_LIBRARY_NAME = 'Botonic' +const WEBCHAT_FILENAME = 'webchat.botonic.js' + +function sourceMap(mode) { + if (mode === WEBPACK_MODE.PRODUCTION) return 'hidden-source-map' + else if (mode === WEBPACK_MODE.DEVELOPMENT) return 'eval-cheap-source-map' + else + throw new Error( + 'Invalid mode argument (' + mode + '). See package.json scripts' + ) +} + +const optimizationConfig = { + minimize: true, + minimizer: [ + new TerserPlugin({ + parallel: true, + terserOptions: { + keep_fnames: true, + }, + }), + ], +} + +const resolveConfig = { + extensions: ['*', '.js', '.jsx', '.ts', '.tsx', '.mjs'], + alias: { + react: path.resolve(__dirname, 'node_modules', 'react'), + 'styled-components': path.resolve( + __dirname, + 'node_modules', + 'styled-components' + ), + }, + fallback: { + util: require.resolve('util'), + }, +} + +const babelLoaderConfig = { + test: /\.(js|jsx|ts|tsx|mjs)$/, + exclude: /node_modules\/(?!@botonic)/, + use: { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + cacheDirectory: true, + presets: [ + '@babel/react', + [ + '@babel/preset-env', + { + modules: false, + }, + ], + ], + plugins: [ + '@babel/plugin-transform-runtime', + ], + }, + }, +} + +function fileLoaderConfig(outputPath) { + return { + test: /\.(jpe?g|png|gif|svg)$/i, + use: [ + { + loader: 'file-loader', + options: { + outputPath: outputPath, + }, + }, + ], + } +} + +const nullLoaderConfig = { + test: /\.(scss|css)$/, + use: 'null-loader', +} + +const stylesLoaderConfig = { + test: /\.(scss|css)$/, + use: [ + { + loader: 'style-loader', + options: { + insert: function (element) { + if (!window._botonicInsertStyles) window._botonicInsertStyles = [] + window._botonicInsertStyles.push(element) + }, + }, + }, + 'css-loader', + 'sass-loader', + ], +} + +const imageminPlugin = new ImageMinimizerPlugin({ + minimizer: { + implementation: ImageMinimizerPlugin.imageminMinify, + options: { + plugins: [ + "imagemin-gifsicle", + "imagemin-jpegtran", + "imagemin-optipng", + "imagemin-svgo", + ], + }, + }, +}) + +function botonicDevConfig(mode) { + return { + mode: mode, + devtool: sourceMap(mode), + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.DEV), + target: 'web', + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + devServer: { + static: [OUTPUT_PATH], + liveReload: true, + historyApiFallback: true, + hot: true, + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + new webpack.HotModuleReplacementPlugin(), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + ...(mode === 'development' + ? { MODELS_BASE_URL: JSON.stringify('http://localhost:8080') } + : {}), + }), + new webpack.ProvidePlugin({ + process: 'process/browser', + }), + ], + } +} + +function botonicWebchatConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBCHAT), + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + WEBCHAT_PUSHER_KEY: JSON.stringify(process.env.WEBCHAT_PUSHER_KEY), + }), + ], + } +} + +function botonicWebviewsConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBVIEWS), + output: { + filename: 'webviews.js', + library: 'BotonicWebview', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: WEBVIEWS_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(path.join('..', ASSETS_DIRNAME)), + stylesLoaderConfig, + ], + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBVIEWS), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +function botonicNodeConfig(mode) { + return { + context: ROOT, + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'node', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.NODE), + resolve: resolveConfig, + output: { + filename: 'bot.js', + library: 'bot', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + nullLoaderConfig, + ], + }, + plugins: [ + new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: false, + IS_NODE: true, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +module.exports = function (env, argv) { + if (env.target === BOTONIC_TARGETS.ALL) { + return [ + botonicNodeConfig(argv.mode), + botonicWebviewsConfig(argv.mode), + botonicWebchatConfig(argv.mode), + ] + } else if (env.target === BOTONIC_TARGETS.DEV) { + return [botonicDevConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.NODE) { + return [botonicNodeConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBVIEWS) { + return [botonicWebviewsConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBCHAT) { + return [botonicWebchatConfig(argv.mode)] + } else { + return null + } +} diff --git a/examples/telco-offers/README.md b/examples/telco-offers/README.md new file mode 100644 index 0000000000..e221cee560 --- /dev/null +++ b/examples/telco-offers/README.md @@ -0,0 +1,199 @@ +# Botonic Telco + +This example shows you a multi-language conversation flow to acquire an Internet or a cell phone rate using buttons and replies. + +**What's in this document?** + +- [How to use this example](#how-to-use-this-example) +- [Routes and Actions](#routes-and-actions) +- [Locales](#locales) +- [Webchat Settings](#webchat-settings) + +## How to use this example + +1. From your command line, download the example by running: + ```bash + $ botonic new telco-offers + ``` +2. `cd` into `` directory that has been created. +3. Run `botonic serve` to test it in your local machine. + +## Routes and Actions + +[Routes](https://botonic.io/docs/concepts/routes) map user inputs to [actions](https://botonic.io/docs/concepts/actions) which consist of simple units of logic that your bot can perform and the response that your bot generates. + +Here we can see a few examples of how we have captured the user input. + +**src/routes.js** + +```javascript +import Start from './actions/start' +import ChooseLanguage from './actions/choose_language' +import Phone from './actions/phone' +import BuyPhone from './actions/buy-phone' +import Bye from './actions/bye' + +export const routes = [ + { path: 'hi', payload: 'hi', action: ChooseLanguage }, + { path: 'set-language', payload: /language-.*/, action: Start }, + { + path: 'phone', + payload: 'phone', + action: Phone, + childRoutes: [ + { + path: 'buyPhone', + payload: /buyPhone-.*/, + action: BuyPhone, + }, + ], + }, + { path: 'bye', text: /.*/, payload: /bye-.*/, action: Bye }, +] +``` + +If a rule matches it will trigger an action: + +**src/actions/choose-language.jsx** + +```javascript +import React from 'react' +import { Text, Reply } from '@botonic/react' + +export default class extends React.Component { + render() { + return ( + <> + Hi! Before we start choose a language: {'\n'} + + Hola! Antes de empezar elige un idioma: + Español + English + + + ) + } +} +``` + +## Locales + +The [Locales](https://botonic.io/docs/concepts/i18n/) allows us to build a bot that supports different languages. To do so, we have separated our string literals from the code components. +In the `src/locales` folder we have added a js file for each language we want to support. + +**src/locales/en.js** + +```javascript +export default { + internet: ['Internet'], + phone: ['Cell Phone'], + tv: ['TV'], + extra_phone: ['Extra Cell Phone'], + speed: ['Speed'], + price: ['Price'], + + start_text: [ + 'Welcome, I am your virtual assistant of Botonic Telco, select which service you want to hire?', + ], + ask_more: ['Do you want to hire any more rate?'], +} +``` + +**src/locales/es.js** + +```javascript +export default { + internet: ['Fibra'], + phone: ['Móvil'], + tv: ['TV'], + extra_phone: ['Extra móvil'], + speed: ['Velocidad'], + price: ['Precio'], + + start_text: [ + 'Bienvenido soy tu asistente virtual de Botonic Telco, selecciona que servicio quieres contratar?', + ], + ask_more: ['Quieres contratar alguna tarifa más?'], +} +``` + +Then, we have exported these languages. + +**src/locales/index.js** + +```javascript +import en from './en' +import es from './es' + +export const locales = { en, es } +``` + +In the initial action we have set the locale and then we can access an object from locales with `this.context.getString` method. + +**src/actions/start.jsx** + +```javascript +import React from 'react' +import { RequestContext, Text, Button } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + static async botonicInit(request) { + const language = request.input.payload.split('-')[1] + return { language } + } + render() { + this.props.language && this.context.setLocale(this.props.language) + let _ = this.context.getString + return ( + <> + + {_('start_text')} + + + + + ) + } +} +``` + +## Webchat Settings + +The [Webchat Settings](https://botonic.io/docs/components/webchatsettings/) component can be appended at the end of a message to change Webchat properties dynamically. + +We have used it to enable the user input in one of the last actions. + +**src/actions/confirm.jsx** + +```javascript +import React from 'react' +import { RequestContext, Text, WebchatSettings } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + + render() { + let _ = this.context.getString + return ( + <> + {_('confirm.text')} + + + ) + } +} +``` + +...and we are done 🎉 diff --git a/examples/telco-offers/babel.config.js b/examples/telco-offers/babel.config.js new file mode 100644 index 0000000000..7325b9844d --- /dev/null +++ b/examples/telco-offers/babel.config.js @@ -0,0 +1,30 @@ +/* + * This babel configuration is used along with Jest for execute tests, + * do not modify to avoid conflicts with webpack.config.js. + */ + +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + [ + '@babel/react', + { + targets: { + node: 'current', + }, + }, + ], + ], + plugins: [ + '@babel/plugin-proposal-object-rest-spread', + '@babel/plugin-proposal-class-properties', + '@babel/plugin-transform-runtime', + ], +} diff --git a/examples/telco-offers/jest.config.js b/examples/telco-offers/jest.config.js new file mode 100644 index 0000000000..6b56f40225 --- /dev/null +++ b/examples/telco-offers/jest.config.js @@ -0,0 +1,17 @@ +const path = require('path') + +module.exports = { + rootDir: 'tests', + transform: { + '^.+\\.jsx?$': [ + 'babel-jest', + { configFile: path.resolve(__dirname, 'babel.config.js') }, + ], + }, + transformIgnorePatterns: ['/node_modules/(?!@botonic).+\\.(js|jsx|ts|tsx)$'], + moduleNameMapper: { + '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': + '/__mocks__/fileMock.js', + '\\.(scss|css|less)$': '/__mocks__/styleMock.js', + }, +} diff --git a/examples/telco-offers/package.json b/examples/telco-offers/package.json new file mode 100644 index 0000000000..597ca1c482 --- /dev/null +++ b/examples/telco-offers/package.json @@ -0,0 +1,17 @@ +{ + "name": "blank", + "version": "0.25.0", + "scripts": { + "build": "webpack --env target=all --mode=production", + "start": "webpack-dev-server --env target=dev --mode=development", + "deploy": "botonic deploy -c build", + "test": "jest" + }, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@botonic/react": "0.25.0-alpha.5" + }, + "devDependencies": { + "@botonic/dx": "0.25.0-alpha.5" + } +} diff --git a/examples/telco-offers/src/actions/buy-internet.jsx b/examples/telco-offers/src/actions/buy-internet.jsx new file mode 100644 index 0000000000..8d99330583 --- /dev/null +++ b/examples/telco-offers/src/actions/buy-internet.jsx @@ -0,0 +1,39 @@ +import React from 'react' +import { RequestContext, Text, Button } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + static async botonicInit(request) { + const reservationInfo = request.input.payload.split('-') + const internet = { + data: reservationInfo[1], + price: reservationInfo[2], + } + request.session.user.extra_data.internet = internet + return { + minutes: internet.minutes, + data: internet.data, + price: internet.price, + } + } + + render() { + let _ = this.context.getString + let payloadYes = `buyOffer-${_('offer.tv')}-6.50` + return ( + <> + + {_('after_buy_internet')} {'\n'} + **{_('data')}**: {this.props.data} + {'\n'} + **{_('price')}**: {this.props.price}${'\n'} + + + {_('offer.text')} + + + + + ) + } +} diff --git a/examples/telco-offers/src/actions/buy-offer.jsx b/examples/telco-offers/src/actions/buy-offer.jsx new file mode 100644 index 0000000000..15026f335f --- /dev/null +++ b/examples/telco-offers/src/actions/buy-offer.jsx @@ -0,0 +1,42 @@ +import React from 'react' +import { RequestContext, Text, Button } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + static async botonicInit(request) { + const reservationInfo = request.input.payload.split('-') + const hasPhone = request.session.user.extra_data.phone.length > 0 + if (reservationInfo[1] !== 'no') { + const tv = { + name: reservationInfo[1], + price: reservationInfo[2], + } + request.session.user.extra_data.tv = tv + return { tv: tv, hasPhone } + } + return { hasPhone } + } + + render() { + let _ = this.context.getString + return ( + <> + {this.props.tv && ( + + {_('after_buy_offer')} {'\n'} + **TV**: {this.props.tv.name} + {'\n'} + **{_('price')}**: {this.props.tv.price}$ + + )} + + {_('ask_more')} + + + + + ) + } +} diff --git a/examples/telco-offers/src/actions/buy-phone.jsx b/examples/telco-offers/src/actions/buy-phone.jsx new file mode 100644 index 0000000000..be940f3ccb --- /dev/null +++ b/examples/telco-offers/src/actions/buy-phone.jsx @@ -0,0 +1,42 @@ +import React from 'react' +import { RequestContext, Text, Button } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + static async botonicInit(request) { + const reservationInfo = request.input.payload.split('-') + const phone = { + minutes: reservationInfo[1], + data: reservationInfo[2], + price: reservationInfo[3], + } + request.session.user.extra_data.phone.push(phone) + return { + minutes: phone.minutes, + data: phone.data, + price: phone.price, + } + } + + render() { + let _ = this.context.getString + return ( + <> + + {_('after_buy_phone')} {'\n'} + **{_('minutes')}**: {this.props.minutes} + {'\n'} + **{_('data')}**: {this.props.data} + {'\n'} + **{_('price')}**: {this.props.price}${'\n'} + + + {_('ask_more')} + + + + + + ) + } +} diff --git a/examples/telco-offers/src/actions/bye.jsx b/examples/telco-offers/src/actions/bye.jsx new file mode 100644 index 0000000000..99c0a69a8b --- /dev/null +++ b/examples/telco-offers/src/actions/bye.jsx @@ -0,0 +1,30 @@ +import React from 'react' +import { RequestContext, Text, Button, WebchatSettings } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + static async botonicInit(request) { + const hasCancel = request.input.payload || false + const user = request.input.data + return { hasCancel, user } + } + + render() { + let _ = this.context.getString + return ( + <> + {this.props.hasCancel ? ( + + {_('bye.cancel')} + + ) : ( + + {_('bye.confirm1')} {this.props.user} {_('bye.confirm2')} + + + )} + + + ) + } +} diff --git a/examples/telco-offers/src/actions/choose-language.jsx b/examples/telco-offers/src/actions/choose-language.jsx new file mode 100644 index 0000000000..886bea4c9c --- /dev/null +++ b/examples/telco-offers/src/actions/choose-language.jsx @@ -0,0 +1,17 @@ +import React from 'react' +import { Text, Reply } from '@botonic/react' + +export default class extends React.Component { + render() { + return ( + <> + Hi! Before we start choose a language: {'\n'} + + Hola! Antes de empezar elige un idioma: + Español + English + + + ) + } +} diff --git a/examples/telco-offers/src/actions/confirm.jsx b/examples/telco-offers/src/actions/confirm.jsx new file mode 100644 index 0000000000..63bda34c9d --- /dev/null +++ b/examples/telco-offers/src/actions/confirm.jsx @@ -0,0 +1,27 @@ +import React from 'react' +import { RequestContext, Text, WebchatSettings } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + + render() { + let _ = this.context.getString + return ( + <> + {_('confirm.text')} + + + ) + } +} diff --git a/examples/telco-offers/src/actions/internet.jsx b/examples/telco-offers/src/actions/internet.jsx new file mode 100644 index 0000000000..03a8030014 --- /dev/null +++ b/examples/telco-offers/src/actions/internet.jsx @@ -0,0 +1,30 @@ +import React from 'react' +import { RequestContext, Text, Button } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + render() { + let _ = this.context.getString + + const renderTable = (data, price) => { + return ( + `| ${_('speed')} | ${_('price')} |\n` + + `| :-: | :-: |\n` + + `| ${data} | ${price} |\n` + ) + } + return ( + <> + {_('contract_internet')} + + {renderTable('100Mb', '29.50$')} + + + + {renderTable('600Mb', '36.50$')} + + + + ) + } +} diff --git a/examples/telco-offers/src/actions/phone.jsx b/examples/telco-offers/src/actions/phone.jsx new file mode 100644 index 0000000000..2056d2da88 --- /dev/null +++ b/examples/telco-offers/src/actions/phone.jsx @@ -0,0 +1,37 @@ +import React from 'react' +import { RequestContext, Text, Button } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + render() { + let _ = this.context.getString + + const renderTable = (minutes, data, price) => { + return ( + `| ${_('minutes')} | ${_('data')} | ${_('price')} |\n` + + `| :-: | :-: | :-: |\n` + + `| ${minutes} | ${data} | ${price} |\n` + ) + } + const payloadUnlimited = `buyPhone-${_('unlimited')}-${_( + 'unlimited' + )}-23.50` + return ( + <> + {_('contract_phone')} + + {renderTable(`${_('unlimited')}`, `${_('unlimited')}`, '23.50$')} + + + + {renderTable('200', '20GB', '15.50$')} + + + + {renderTable('50', '5GB', '7.50$')} + + + + ) + } +} diff --git a/examples/telco-offers/src/actions/start.jsx b/examples/telco-offers/src/actions/start.jsx new file mode 100644 index 0000000000..0196425ba0 --- /dev/null +++ b/examples/telco-offers/src/actions/start.jsx @@ -0,0 +1,26 @@ +import React from 'react' +import { RequestContext, Text, Button } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + static async botonicInit(request) { + const language = request.input.payload.split('-')[1] + const extra_data = { phone: [] } + request.session.user.extra_data = extra_data + return { language } + } + + render() { + this.props.language && this.context.setLocale(this.props.language) + let _ = this.context.getString + return ( + <> + + {_('start_text')} + + + + + ) + } +} diff --git a/examples/telco-offers/src/actions/summary.jsx b/examples/telco-offers/src/actions/summary.jsx new file mode 100644 index 0000000000..54304339ba --- /dev/null +++ b/examples/telco-offers/src/actions/summary.jsx @@ -0,0 +1,68 @@ +import React from 'react' +import { RequestContext, Text, Button } from '@botonic/react' + +export default class extends React.Component { + static contextType = RequestContext + static async botonicInit(request) { + const tv = request.session.user.extra_data.tv + const internet = request.session.user.extra_data.internet + const phone = request.session.user.extra_data.phone + const priceTV = (tv && parseFloat(tv.price)) || 0.0 + const priceInternet = (internet && parseFloat(internet.price)) || 0.0 + let pricePhone = 0.0 + phone.forEach(m => { + pricePhone = pricePhone + parseFloat(m.price) + }) + const price = priceTV + priceInternet + pricePhone + return { tv, internet, phone, price } + } + + render() { + let _ = this.context.getString + + const getInternet = () => { + if (this.props.internet) + return `**${_('internet')}**: + ${_('data')}: ${this.props.internet.data} + ${_('price')}: ${this.props.internet.price}$ + ` + return null + } + const getPhone = () => { + if (this.props.phone) + return this.props.phone.map( + (m, i) => + `**${_('phone')} ${i + 1}**: + ${_('minutes')}: ${m.minutes} + ${_('data')}: ${m.data} + ${_('price')}: ${m.price}$ + ` + ) + return null + } + const getTV = () => { + if (this.props.tv) + return `\n**${_('tv')}**: + ${_('data')}: ${this.props.tv.name} + ${_('price')}: ${this.props.tv.price}$ + ` + return null + } + return ( + <> + + {_('summary')} {'\n'} + {getInternet()} + {getPhone()} + {getTV()} + **Total: {this.props.price}$** + + + {_('continue')} + + + + + ) + } +} diff --git a/examples/telco-offers/src/assets/.gitkeep b/examples/telco-offers/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/telco-offers/src/assets/phone.svg b/examples/telco-offers/src/assets/phone.svg new file mode 100644 index 0000000000..097cbd2cf0 --- /dev/null +++ b/examples/telco-offers/src/assets/phone.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/telco-offers/src/assets/white_phone.svg b/examples/telco-offers/src/assets/white_phone.svg new file mode 100644 index 0000000000..e7da7e8d48 --- /dev/null +++ b/examples/telco-offers/src/assets/white_phone.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/telco-offers/src/index.js b/examples/telco-offers/src/index.js new file mode 100644 index 0000000000..f7334846a7 --- /dev/null +++ b/examples/telco-offers/src/index.js @@ -0,0 +1 @@ +export const config = { defaultDelay: 0, defaultTyping: 0 } diff --git a/examples/telco-offers/src/locales/en.js b/examples/telco-offers/src/locales/en.js new file mode 100644 index 0000000000..53e552b542 --- /dev/null +++ b/examples/telco-offers/src/locales/en.js @@ -0,0 +1,52 @@ +export default { + internet: ['Internet'], + phone: ['Cell Phone'], + tv: ['TV'], + extra_phone: ['Extra Cell Phone'], + done: ['Done'], + data: ['Data'], + speed: ['Speed'], + price: ['Price'], + minutes: ['Minutes'], + choose: ['Choose Plan'], + unlimited: ['unlimited'], + + start_text: [ + 'Welcome, I am your virtual assistant of Botonic Telco, select which service you want to contract.', + ], + start_again: ['Start Again'], + ask_more: ['Do you want to contract any more rate?'], + + contract_internet: ['Select one of our Internet rates:'], + contract_phone: ['Select one of our cell phone rates:'], + + after_buy_internet: ['You have selected the Internet rate of:'], + after_buy_phone: ['You have selected the cell phone rate of:'], + after_buy_offer: ['The offer has been added:'], + + offer: { + text: [ + '**OFFER**: Get a package of series, movies and sports for only 6.50$/month for the next three months.', + ], + tv: ['Sports + Series + Movies'], + yes: ['Add'], + no: ['Refuse'], + }, + + summary: ['Here you can see the list of the products you have selected:'], + continue: ['To continue with the purchase click confirm.'], + + confirm: { + text: ['Please enter your user number'], + yes: ['Confirm'], + no: ['Cancel'], + }, + + bye: { + confirm1: ['User'], + confirm2: [ + 'confirmed! Thank you for your purchase, I hope you have a nice day.', + ], + cancel: ['The purchase has been canceled.'], + }, +} diff --git a/examples/telco-offers/src/locales/es.js b/examples/telco-offers/src/locales/es.js new file mode 100644 index 0000000000..d62a4e8037 --- /dev/null +++ b/examples/telco-offers/src/locales/es.js @@ -0,0 +1,52 @@ +export default { + internet: ['Fibra'], + phone: ['Móvil'], + tv: ['TV'], + extra_phone: ['Extra móvil'], + done: ['Terminar'], + data: ['Datos'], + speed: ['Velocidad'], + price: ['Precio'], + minutes: ['Minutos'], + choose: ['Contratar'], + unlimited: ['ilimitado'], + + start_text: [ + 'Bienvenido soy tu asistente virtual de Botonic Telco, selecciona qué servicio quieres contratar.', + ], + start_again: ['Volver a empezar'], + ask_more: ['Quieres contratar alguna tarifa más?'], + + contract_internet: ['Selecciona una de nuestras tarifas de Fibra:'], + contract_phone: ['Selecciona una de nuestras tarifas de móvil:'], + + after_buy_internet: ['Has seleccionado la tarifa de fibra de:'], + after_buy_phone: ['Has seleccionado la tarifa de móvil de:'], + after_buy_offer: ['Has añadido la oferta:'], + + offer: { + text: [ + '**OFERTA**: Llévate un paquete de series, películas y deportes por solo 6.50$/mes durante los próximos tres meses.', + ], + tv: ['Deportes + Series + Pelis'], + yes: ['Añadir'], + no: ['Rechazar'], + }, + + summary: ['Aquí puedes ver la lista de los productos que has seleccionado:'], + continue: ['Para continuar con la compra haga clic en confirmar.'], + + confirm: { + text: ['Por favor, introduce su número de usuario:'], + yes: ['Confirmar'], + no: ['Cancelar'], + }, + + bye: { + confirm1: ['Usuario'], + confirm2: [ + 'confirmado! Muchas gracias por su compra, espero que tenga un buen día.', + ], + cancel: ['Has cancelado la compra.'], + }, +} diff --git a/examples/telco-offers/src/locales/index.js b/examples/telco-offers/src/locales/index.js new file mode 100644 index 0000000000..195b99128f --- /dev/null +++ b/examples/telco-offers/src/locales/index.js @@ -0,0 +1,4 @@ +import en from './en' +import es from './es' + +export const locales = { en, es } diff --git a/examples/telco-offers/src/plugins.js b/examples/telco-offers/src/plugins.js new file mode 100644 index 0000000000..e571fed32b --- /dev/null +++ b/examples/telco-offers/src/plugins.js @@ -0,0 +1 @@ +export const plugins = [] diff --git a/examples/telco-offers/src/routes.js b/examples/telco-offers/src/routes.js new file mode 100644 index 0000000000..1eb871db68 --- /dev/null +++ b/examples/telco-offers/src/routes.js @@ -0,0 +1,49 @@ +import Start from './actions/start' +import ChooseLanguage from './actions/choose-language' +import Summary from './actions/summary' +import Bye from './actions/bye' +import Phone from './actions/phone' +import Internet from './actions/internet' +import BuyPhone from './actions/buy-phone' +import BuyInternet from './actions/buy-internet' +import BuyOffer from './actions/buy-offer' +import Confirm from './actions/confirm' + +export const routes = [ + { path: 'hi', payload: 'hi', action: ChooseLanguage }, + { path: 'set-language', payload: /language-.*/, action: Start }, + { + path: 'phone', + payload: 'phone', + action: Phone, + childRoutes: [ + { + path: 'buyPhone', + payload: /buyPhone-.*/, + action: BuyPhone, + }, + ], + }, + { + path: 'internet', + payload: 'internet', + action: Internet, + childRoutes: [ + { + path: 'buyInternet', + payload: /buyInternet-.*/, + action: BuyInternet, + childRoutes: [ + { path: 'buyOffer', payload: /buyOffer-.*/, action: BuyOffer }, + ], + }, + ], + }, + { + path: 'summary', + payload: 'summary', + action: Summary, + childRoutes: [{ path: 'confirm', payload: 'confirm', action: Confirm }], + }, + { path: 'bye', text: /.*/, payload: /bye-.*/, action: Bye }, +] diff --git a/examples/telco-offers/src/webchat/constants.js b/examples/telco-offers/src/webchat/constants.js new file mode 100644 index 0000000000..0190ce41a5 --- /dev/null +++ b/examples/telco-offers/src/webchat/constants.js @@ -0,0 +1,4 @@ +export const COLORS = { + PRIMARY_COLOR: '#FF5500', + MAIN_COLOR: 'rgba(186, 76, 0, 0.15)', +} diff --git a/examples/telco-offers/src/webchat/custom-trigger.js b/examples/telco-offers/src/webchat/custom-trigger.js new file mode 100644 index 0000000000..ccd2206e43 --- /dev/null +++ b/examples/telco-offers/src/webchat/custom-trigger.js @@ -0,0 +1,50 @@ +import React, { useState } from 'react' +import styled, { keyframes } from 'styled-components' +import Icon from '../assets/phone.svg' +import { staticAsset } from '@botonic/react' + +const shake = keyframes` + 10%, + 90% { + transform: translate3d(-1px, 0, 0); + } + 20%, + 80% { + transform: translate3d(2px, 0, 0); + } + 30%, + 50%, + 70% { + transform: translate3d(-4px, 0, 0); + } + 40%, + 60% { + transform: translate3d(4px, 0, 0); + } +` +const Container = styled.div` + animation: ${props => !props.hover && shake} 0.82s + cubic-bezier(0.36, 0.07, 0.19, 0.97) both infinite; + bottom: 50px; + right: 50px; + position: fixed; + cursor: pointer; +` + +export const CustomTrigger = () => { + let [hover, setHover] = useState(false) + return ( + setHover(true)} + onMouseLeave={() => setHover(false)} + hover={hover} + > + + + ) +} diff --git a/examples/telco-offers/src/webchat/index.js b/examples/telco-offers/src/webchat/index.js new file mode 100644 index 0000000000..edfd5ab179 --- /dev/null +++ b/examples/telco-offers/src/webchat/index.js @@ -0,0 +1,135 @@ +import BotIconWhite from '../assets/white_phone.svg' +import BotIcon from '../assets/phone.svg' +import { CustomTrigger } from './custom-trigger' +import { COLORS } from './constants' + +export const webchat = { + storage: sessionStorage, + storageKey: 'botonic-telco-example', + shadowDOM: true, + + onOpen: app => { + app.clearMessages() + app.addUserPayload('hi') + }, + + theme: { + customTrigger: CustomTrigger, + style: { + fontFamily: '"Helvetica Neue",Arial,sans-serif', + width: 370, + borderRadius: 10, + background: '#F5F5F5', + lineHeight: 1.3, + }, + header: { + image: BotIconWhite, + title: 'Botonic Telco Offers', + style: { + background: COLORS.PRIMARY_COLOR, + }, + }, + brand: { + color: COLORS.PRIMARY_COLOR, + image: BotIcon, + }, + triggerButton: { + image: BotIcon, + }, + + button: { + style: { + color: '#000000', + background: '#ffffff', + borderRadius: 10, + border: '1px solid #000000', + margin: '8px 25px', + padding: '10px', + width: '200px', + }, + hoverBackground: COLORS.MAIN_COLOR, + hoverTextColor: 'black', + }, + message: { + bot: { + blobTick: false, + blobWidth: '255px', + imageStyle: { + alignItems: 'flex-end', + }, + style: { + border: 'none', + color: 'black', + borderRadius: '7px', + background: 'white', + boxShadow: '1px -1px 6px rgba(0, 0, 0, 0.3)', + }, + }, + user: { + blobTick: false, + style: { + background: COLORS.PRIMARY_COLOR, + borderRadius: '12px 12px 0px 12px', + }, + }, + }, + enableUserInput: false, + markdownStyle: ` + p { + margin: 0px; + } + table { + margin-top: 10px; + border-collapse: collapse; + overflow: hidden; + box-shadow: 0 0 20px rgba(0,0,0,0.1); + border-radius:5px; + } + + th, + td { + border-radius:5px; + padding: 7px; + background-color: rgba(255,255,255,0.2); + color: black; + text-align: center; + } + + thead { + border-radius:5px; + border: 2px solid ${COLORS.PRIMARY_COLOR}; + th { + border-radius:0px; + border: 1px solid ${COLORS.PRIMARY_COLOR}; + background-color: ${COLORS.MAIN_COLOR}; + } + } + + tbody { + border-radius:5px; + border: 2px solid ${COLORS.PRIMARY_COLOR}; + tr { + &:hover { + background-color: rgba(255,255,255,0.3); + } + border: 1px solid ${COLORS.PRIMARY_COLOR}; + } + td { + border: 1px solid ${COLORS.PRIMARY_COLOR}; + position: relative; + &:hover { + &:before { + content: ""; + position: absolute; + left: 0; + right: 0; + top: -9999px; + bottom: -9999px; + background-color: rgba(255,255,255,0.2); + z-index: -1; + } + } + } + `, + }, +} diff --git a/examples/telco-offers/src/webviews/index.js b/examples/telco-offers/src/webviews/index.js new file mode 100644 index 0000000000..4ca4089ae0 --- /dev/null +++ b/examples/telco-offers/src/webviews/index.js @@ -0,0 +1 @@ +export const webviews = [] diff --git a/examples/telco-offers/tests/.gitkeep b/examples/telco-offers/tests/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/telco-offers/webpack-entries/dev-entry.js b/examples/telco-offers/webpack-entries/dev-entry.js new file mode 100644 index 0000000000..00aece8237 --- /dev/null +++ b/examples/telco-offers/webpack-entries/dev-entry.js @@ -0,0 +1,14 @@ +import { DevApp } from '@botonic/react' +import { routes } from '../src/routes' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { webchat } from '../src/webchat' +import { config } from '../src' + +export const app = new DevApp({ + routes, + locales, + plugins, + ...webchat, + ...config, +}) diff --git a/examples/telco-offers/webpack-entries/node-entry.js b/examples/telco-offers/webpack-entries/node-entry.js new file mode 100644 index 0000000000..cc3df2f809 --- /dev/null +++ b/examples/telco-offers/webpack-entries/node-entry.js @@ -0,0 +1,7 @@ +import { NodeApp } from '@botonic/react' +import { routes } from '../src/routes' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { config } from '../src' + +export const app = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/examples/telco-offers/webpack-entries/webchat-entry.js b/examples/telco-offers/webpack-entries/webchat-entry.js new file mode 100644 index 0000000000..03c0e4485f --- /dev/null +++ b/examples/telco-offers/webpack-entries/webchat-entry.js @@ -0,0 +1,4 @@ +import { WebchatApp } from '@botonic/react' +import { webchat } from '../src/webchat' + +export const app = new WebchatApp(webchat) diff --git a/examples/telco-offers/webpack-entries/webviews-entry.js b/examples/telco-offers/webpack-entries/webviews-entry.js new file mode 100644 index 0000000000..f9052ba84b --- /dev/null +++ b/examples/telco-offers/webpack-entries/webviews-entry.js @@ -0,0 +1,5 @@ +import { WebviewApp } from '@botonic/react' +import { webviews } from '../src/webviews' +import { locales } from '../src/locales' + +export const app = new WebviewApp({ webviews, locales }) diff --git a/examples/telco-offers/webpack.config.js b/examples/telco-offers/webpack.config.js new file mode 100644 index 0000000000..4b545faed8 --- /dev/null +++ b/examples/telco-offers/webpack.config.js @@ -0,0 +1,366 @@ +const path = require('path') +const webpack = require('webpack') +const CopyPlugin = require('copy-webpack-plugin') +const TerserPlugin = require('terser-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const { CleanWebpackPlugin } = require('clean-webpack-plugin') +const ImageminPlugin = require('imagemin-webpack') + +const ROOT = path.resolve(__dirname, 'src') +const NLP_DIRNAME = 'nlp' +const ASSETS_DIRNAME = 'assets' +const MODELS_DIRNAME = 'models' +const TASKS_DIRNAME = 'tasks' + +const INTENT_CLASSIFICATION_DIRNAME = 'intent-classification' +const OUTPUT_PATH = path.resolve(__dirname, 'dist') +const WEBVIEWS_PATH = path.resolve(OUTPUT_PATH, 'webviews') +const TASKS_PATH = path.join(ROOT, NLP_DIRNAME, TASKS_DIRNAME) + +const INTENT_CLASSIFICATION_MODELS_PATH = path.join( + NLP_DIRNAME, + TASKS_DIRNAME, + INTENT_CLASSIFICATION_DIRNAME, + MODELS_DIRNAME +) +const INTENTS_ASSETS_MODELS_PATH = path.join( + ASSETS_DIRNAME, + TASKS_DIRNAME, + INTENT_CLASSIFICATION_DIRNAME, + MODELS_DIRNAME +) + +const BOTONIC_PATH = path.resolve( + __dirname, + 'node_modules', + '@botonic', + 'react' +) + +const WEBPACK_MODE = { + DEVELOPMENT: 'development', + PRODUCTION: 'production', +} + +const BOTONIC_TARGETS = { + ALL: 'all', + DEV: 'dev', + NODE: 'node', + WEBVIEWS: 'webviews', + WEBCHAT: 'webchat', +} + +const WEBPACK_ENTRIES_DIRNAME = 'webpack-entries' +const WEBPACK_ENTRIES = { + DEV: 'dev-entry.js', + NODE: 'node-entry.js', + WEBCHAT: 'webchat-entry.js', + WEBVIEWS: 'webviews-entry.js', +} + +const TEMPLATES = { + WEBCHAT: 'webchat.template.html', + WEBVIEWS: 'webview.template.html', +} + +const UMD_LIBRARY_TARGET = 'umd' +const BOTONIC_LIBRARY_NAME = 'Botonic' +const WEBCHAT_FILENAME = 'webchat.botonic.js' + +function sourceMap(mode) { + if (mode === WEBPACK_MODE.PRODUCTION) return 'hidden-source-map' + else if (mode === WEBPACK_MODE.DEVELOPMENT) return 'eval-cheap-source-map' + else + throw new Error( + 'Invalid mode argument (' + mode + '). See package.json scripts' + ) +} + +const optimizationConfig = { + minimize: true, + minimizer: [ + new TerserPlugin({ + parallel: true, + terserOptions: { + keep_fnames: true, + }, + }), + ], +} + +const resolveConfig = { + extensions: ['*', '.js', '.jsx', '.ts', '.tsx', '.mjs'], + alias: { + react: path.resolve(__dirname, 'node_modules', 'react'), + 'styled-components': path.resolve( + __dirname, + 'node_modules', + 'styled-components' + ), + }, + fallback: { + util: require.resolve('util'), + }, +} + +const babelLoaderConfig = { + test: /\.(js|jsx|ts|tsx|mjs)$/, + exclude: /node_modules\/(?!@botonic)/, + use: { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + cacheDirectory: true, + presets: [ + '@babel/react', + [ + '@babel/preset-env', + { + modules: false, + }, + ], + ], + plugins: [ + '@babel/plugin-proposal-object-rest-spread', + '@babel/plugin-proposal-class-properties', + '@babel/plugin-transform-runtime', + ], + }, + }, +} + +function fileLoaderConfig(outputPath) { + return { + test: /\.(jpe?g|png|gif|svg)$/i, + use: [ + { + loader: 'file-loader', + options: { + outputPath: outputPath, + }, + }, + ], + } +} + +const nullLoaderConfig = { + test: /\.(scss|css)$/, + use: 'null-loader', +} + +const stylesLoaderConfig = { + test: /\.(scss|css)$/, + use: [ + { + loader: 'style-loader', + options: { + insert: function (element) { + if (!window._botonicInsertStyles) window._botonicInsertStyles = [] + window._botonicInsertStyles.push(element) + }, + }, + }, + 'css-loader', + 'sass-loader', + ], +} + +const imageminPlugin = new ImageminPlugin({ + bail: false, + cache: false, + imageminOptions: { + plugins: [ + ['imagemin-gifsicle', { interlaced: true }], + ['imagemin-jpegtran', { progressive: true }], + ['imagemin-optipng', { optimizationLevel: 5 }], + ['imagemin-svgo', { removeViewBox: true }], + ], + }, +}) + +function botonicDevConfig(mode) { + return { + mode: mode, + devtool: sourceMap(mode), + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.DEV), + target: 'web', + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + devServer: { + static: [OUTPUT_PATH, TASKS_PATH], + liveReload: true, + historyApiFallback: true, + hot: true, + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + new webpack.HotModuleReplacementPlugin(), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + ...(mode === 'development' + ? { MODELS_BASE_URL: JSON.stringify('http://localhost:8080') } + : {}), + }), + new webpack.ProvidePlugin({ + process: 'process/browser', + }), + ], + } +} + +function botonicWebchatConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBCHAT), + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + stylesLoaderConfig, + ], + }, + output: { + filename: WEBCHAT_FILENAME, + library: BOTONIC_LIBRARY_NAME, + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBCHAT), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + WEBCHAT_PUSHER_KEY: JSON.stringify(process.env.WEBCHAT_PUSHER_KEY), + }), + ], + } +} + +function botonicWebviewsConfig(mode) { + return { + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'web', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.WEBVIEWS), + output: { + filename: 'webviews.js', + library: 'BotonicWebview', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: WEBVIEWS_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(path.join('..', ASSETS_DIRNAME)), + stylesLoaderConfig, + ], + }, + resolve: resolveConfig, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(BOTONIC_PATH, 'src', TEMPLATES.WEBVIEWS), + filename: 'index.html', + }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: true, + IS_NODE: false, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + ], + } +} + +function botonicNodeConfig(mode) { + return { + context: ROOT, + optimization: optimizationConfig, + mode: mode, + devtool: sourceMap(mode), + target: 'node', + entry: path.resolve(WEBPACK_ENTRIES_DIRNAME, WEBPACK_ENTRIES.NODE), + resolve: resolveConfig, + output: { + filename: 'bot.js', + library: 'bot', + libraryTarget: UMD_LIBRARY_TARGET, + libraryExport: 'app', + path: OUTPUT_PATH, + }, + module: { + rules: [ + babelLoaderConfig, + fileLoaderConfig(ASSETS_DIRNAME), + nullLoaderConfig, + ], + }, + plugins: [ + new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }), + imageminPlugin, + new webpack.DefinePlugin({ + IS_BROWSER: false, + IS_NODE: true, + HUBTYPE_API_URL: JSON.stringify(process.env.HUBTYPE_API_URL), + }), + new CopyPlugin({ + patterns: [ + { + from: INTENT_CLASSIFICATION_MODELS_PATH, + to: INTENTS_ASSETS_MODELS_PATH, + }, + ], + }), + ], + } +} + +module.exports = function (env, argv) { + if (env.target === BOTONIC_TARGETS.ALL) { + return [ + botonicNodeConfig(argv.mode), + botonicWebviewsConfig(argv.mode), + botonicWebchatConfig(argv.mode), + ] + } else if (env.target === BOTONIC_TARGETS.DEV) { + return [botonicDevConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.NODE) { + return [botonicNodeConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBVIEWS) { + return [botonicWebviewsConfig(argv.mode)] + } else if (env.target === BOTONIC_TARGETS.WEBCHAT) { + return [botonicWebchatConfig(argv.mode)] + } else { + return null + } +} diff --git a/examples/tutorial/.prettierrc b/examples/tutorial/.prettierrc new file mode 100644 index 0000000000..05c968c026 --- /dev/null +++ b/examples/tutorial/.prettierrc @@ -0,0 +1,5 @@ +{ + "semi": false, + "trailingComma": "all", + "singleQuote": true +} diff --git a/examples/tutorial/babel.config.js b/examples/tutorial/babel.config.js new file mode 100644 index 0000000000..ce0c91d3ff --- /dev/null +++ b/examples/tutorial/babel.config.js @@ -0,0 +1,29 @@ +/* + * This babel configuration is used along with Jest for execute tests, + * do not modify to avoid conflicts with webpack.config.js. + */ + +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + [ + '@babel/react', + { + targets: { + node: 'current', + }, + }, + ], + ], + plugins: [ + require('@babel/plugin-transform-modules-commonjs'), + require('@babel/plugin-transform-runtime'), + ], +} diff --git a/examples/tutorial/esbuild-config.ts b/examples/tutorial/esbuild-config.ts new file mode 100644 index 0000000000..7d27dc8186 --- /dev/null +++ b/examples/tutorial/esbuild-config.ts @@ -0,0 +1,156 @@ +import fs, { readFileSync, writeFileSync } from 'fs' +import path, { join } from 'path' +import esbuild from 'esbuild' +import { sassPlugin } from 'esbuild-sass-plugin' +import inlineImage from 'esbuild-plugin-inline-image' +import imageminPlugin from 'esbuild-plugin-imagemin' +import { htmlPlugin } from '@craftamap/esbuild-plugin-html' + +process.env.NODE_ENV = 'production' + +const distPath = join(__dirname, 'dist') +if (!fs.existsSync(distPath)) { + fs.mkdirSync(distPath, { recursive: true }) +} else fs.rmSync(distPath, { recursive: true, force: true }) + +const nodeEntryPoint = './esbuild-entries/node-entry.js' +const nodeOutputFile = './dist/bot.js' + +const nodeBundle: esbuild.BuildOptions = { + entryPoints: [nodeEntryPoint], + platform: 'node', + outfile: nodeOutputFile, + bundle: true, + minify: true, + sourcemap: true, + keepNames: true, + metafile: true, + format: 'cjs', + external: ['esbuild'], + loader: { + '.js': 'jsx', + }, + assetNames: 'assets/[name]-[hash]', + plugins: [inlineImage(), sassPlugin()], + target: 'ES2018', + treeShaking: true, +} + +const webchatEntryPoint = './esbuild-entries/webchat-entry.js' +const webchatOutputFile = './dist/webchat.botonic.js' + +const webchatBundle: esbuild.BuildOptions = { + entryPoints: [webchatEntryPoint], + platform: 'browser', + outfile: webchatOutputFile, + bundle: true, + minify: true, + sourcemap: false, + keepNames: true, + format: 'iife', + metafile: true, + globalName: 'Botonic', + external: ['esbuild'], + loader: { + '.js': 'jsx', + '.ts': 'tsx', + }, + define: { global: 'window' }, + assetNames: 'assets/[name]-[hash]', + plugins: [imageminPlugin(), inlineImage(), sassPlugin({ type: 'style' })], + treeShaking: true, +} + +const webviewsEntryPoint = './esbuild-entries/webviews-entry.js' + +const BOTONIC_PATH = path.resolve( + __dirname, + 'node_modules', + '@botonic', + 'react', +) +const TEMPLATES = { + WEBCHAT: 'webchat.template.html', + WEBVIEWS: 'webview.template.html', +} +const WEBVIEW_TEMPLATE_PATH = path.resolve( + BOTONIC_PATH, + 'src', + TEMPLATES.WEBVIEWS, +) + +const webviewsBundle: esbuild.BuildOptions = { + entryPoints: [{ in: webviewsEntryPoint, out: 'webviews' }], + platform: 'browser', + outdir: './dist/webviews', + bundle: true, + minify: true, + keepNames: true, + sourcemap: true, + format: 'iife', + globalName: 'BotonicWebview', + external: ['esbuild'], + loader: { + '.js': 'jsx', + '.ts': 'tsx', + }, + treeShaking: true, + metafile: true, + define: { global: 'window' }, + assetNames: '../assets/[name]-[hash]', + plugins: [ + imageminPlugin(), + inlineImage(), + sassPlugin({ type: 'style' }), + htmlPlugin({ + files: [ + { + entryPoints: [webchatEntryPoint], + filename: 'index.html', + scriptLoading: 'defer', + extraScripts: [ + { + src: 'webviews.js', + attrs: { + defer: '', + }, + }, + ], + htmlTemplate: readFileSync(WEBVIEW_TEMPLATE_PATH, { + encoding: 'utf-8', + }), + }, + ], + }), + ], +} + +async function botonicBundle() { + const nodeBundleResult = await esbuild + .build(nodeBundle) + .catch(() => process.exit(1)) + + fs.writeFileSync( + 'meta-node-bundle.json', + JSON.stringify(nodeBundleResult.metafile), + ) + + const webchatBundleResult = await esbuild + .build(webchatBundle) + .catch(() => process.exit(1)) + + fs.writeFileSync( + 'meta-webchat-bundle.json', + JSON.stringify(webchatBundleResult.metafile), + ) + const webviewsBundleResult = await esbuild + .build(webviewsBundle) + .catch(() => process.exit(1)) + + fs.writeFileSync( + 'meta-webviews-bundle.json', + JSON.stringify(webviewsBundleResult.metafile), + ) +} + +botonicBundle() diff --git a/examples/tutorial/esbuild-entries/node-entry.js b/examples/tutorial/esbuild-entries/node-entry.js new file mode 100644 index 0000000000..fc054ca0b2 --- /dev/null +++ b/examples/tutorial/esbuild-entries/node-entry.js @@ -0,0 +1,8 @@ +import { NodeApp } from '@botonic/react/lib/esm' + +import { config } from '../src' +import { locales } from '../src/locales' +import { plugins } from '../src/plugins' +import { routes } from '../src/routes' + +module.exports = new NodeApp({ routes, locales, plugins, ...config }) diff --git a/examples/tutorial/esbuild-entries/webchat-entry.js b/examples/tutorial/esbuild-entries/webchat-entry.js new file mode 100644 index 0000000000..2d402547f2 --- /dev/null +++ b/examples/tutorial/esbuild-entries/webchat-entry.js @@ -0,0 +1,5 @@ +import { WebchatApp } from '@botonic/react/lib/esm' + +import { webchat } from '../src/webchat' + +module.exports = new WebchatApp(webchat) diff --git a/examples/tutorial/esbuild-entries/webviews-entry.js b/examples/tutorial/esbuild-entries/webviews-entry.js new file mode 100644 index 0000000000..428585f83c --- /dev/null +++ b/examples/tutorial/esbuild-entries/webviews-entry.js @@ -0,0 +1,6 @@ +import { WebviewApp } from '@botonic/react' + +import { locales } from '../src/locales' +import { webviews } from '../src/webviews' + +module.exports = new WebviewApp({ webviews, locales }) diff --git a/examples/tutorial/jest.config.js b/examples/tutorial/jest.config.js new file mode 100644 index 0000000000..6b56f40225 --- /dev/null +++ b/examples/tutorial/jest.config.js @@ -0,0 +1,17 @@ +const path = require('path') + +module.exports = { + rootDir: 'tests', + transform: { + '^.+\\.jsx?$': [ + 'babel-jest', + { configFile: path.resolve(__dirname, 'babel.config.js') }, + ], + }, + transformIgnorePatterns: ['/node_modules/(?!@botonic).+\\.(js|jsx|ts|tsx)$'], + moduleNameMapper: { + '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': + '/__mocks__/fileMock.js', + '\\.(scss|css|less)$': '/__mocks__/styleMock.js', + }, +} diff --git a/examples/tutorial/package.json b/examples/tutorial/package.json new file mode 100644 index 0000000000..160407c2ce --- /dev/null +++ b/examples/tutorial/package.json @@ -0,0 +1,30 @@ +{ + "name": "tutorial", + "version": "0.25.0", + "scripts": { + "analyze": "esbuild-visualizer --metadata ./meta.json", + "build:esbuild": "rm -rf ./dist; ts-node ./esbuild-config.ts", + "build": "rm -rf ./dist; webpack --env target=all --mode=production", + "start": "rm -rf ./dist; webpack-dev-server --env target=dev --mode=development", + "start:esbuild:in-progress": "rm -rf ./dist; esbuild ./esbuild-entries/webchat-entry.js --bundle --outdir=dist --serve", + "deploy": "botonic deploy -c build", + "test": "jest" + }, + "dependencies": { + "@babel/runtime": "^7.23.9", + "@botonic/react": "0.25.0-alpha.5", + "core-js": "^3.36.0" + }, + "devDependencies": { + "esbuild-plugin-imagemin": "^1.0.1", + "esbuild-plugin-inline-image": "0.0.9", + "esbuild-sass-plugin": "^2.16.1", + "esbuild-visualizer": "^0.4.1", + "esbuild": "^0.19.4", + "@craftamap/esbuild-plugin-html": "^0.5.0", + "@botonic/dx": "0.25.0-alpha.5" + }, + "engines": { + "node": ">=20.0.0" + } +} diff --git a/examples/tutorial/src/actions/404.jsx b/examples/tutorial/src/actions/404.jsx new file mode 100644 index 0000000000..006a1d43c1 --- /dev/null +++ b/examples/tutorial/src/actions/404.jsx @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return Please, type "start" to start the tutorial. + } +} diff --git a/examples/tutorial/src/actions/age.jsx b/examples/tutorial/src/actions/age.jsx new file mode 100644 index 0000000000..661e0512dd --- /dev/null +++ b/examples/tutorial/src/actions/age.jsx @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return I know your age, and it's {this.context.params.age} + } +} diff --git a/examples/tutorial/src/actions/buttons.jsx b/examples/tutorial/src/actions/buttons.jsx new file mode 100644 index 0000000000..b0de2abfb0 --- /dev/null +++ b/examples/tutorial/src/actions/buttons.jsx @@ -0,0 +1,27 @@ +import { Button, Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return ( + <> + + Here I display two types of buttons, the first one is a URL button and + the second is a payload button: + + + + + Clicking on a button with url will just open that URL in the browser. + Clicking on a button with payload will send an input of type + "postback" with that payload. You can find more information about how + this buttons look in Facebook Messenger here: + https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#postback + + + Now, you can type 'webviews' and see how enjoyable they are. + + + ) + } +} diff --git a/examples/tutorial/src/actions/bye.jsx b/examples/tutorial/src/actions/bye.jsx new file mode 100644 index 0000000000..84a4863093 --- /dev/null +++ b/examples/tutorial/src/actions/bye.jsx @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return Bye bye! 👋 + } +} diff --git a/examples/tutorial/src/actions/carousel.jsx b/examples/tutorial/src/actions/carousel.jsx new file mode 100644 index 0000000000..d45729d33c --- /dev/null +++ b/examples/tutorial/src/actions/carousel.jsx @@ -0,0 +1,65 @@ +import { + Button, + Carousel, + Element, + Pic, + Subtitle, + Text, + Title, +} from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + const movies = [ + { + name: 'Pulp Fiction', + desc: 'Le Big Mac', + url: 'https://www.imdb.com/title/tt0110912', + pic: + 'https://ia.media-imdb.com/images/M/MV5BMTkxMTA5OTAzMl5BMl5BanBnXkFtZTgwNjA5MDc3NjE@._V1_SY1000_CR0,0,673,1000_AL_.jpg', + }, + { + name: 'The Big Lebowski', + desc: 'Fuck it Dude', + url: 'https://www.imdb.com/title/tt0118715', + pic: 'https://upload.wikimedia.org/wikipedia/en/a/a7/Snatch_ver4.jpg', + }, + { + name: 'Snatch', + desc: 'Five minutes, Turkish', + url: 'https://www.imdb.com/title/tt0208092', + pic: + 'https://nebula.wsimg.com/obj/NzQ3QUYxQzZBNzE4NjNFRTc1MTU6NmM4YjgzZWVlZTE2MGMzM2RkMTdlZjdjNGUyZmFhNDE6Ojo6OjA=', + }, + ] + return ( + <> + + Great! Here we can see a carousel. It's a Facebook Messenger + component, and it's a group of elements which consists of an image, a + title, a subtitle and a group of buttons. You can get more information + here: + https://developers.facebook.com/docs/messenger-platform/send-messages/template/generic?locale=en_US#carousel + + + {movies.map((e, i) => ( + + + {e.name} + {e.desc} + + + ))} + + + I could spend a long time talking about Botonic's features, but I + think that's enough for now. Feel free to read through the code to + learn how to integrate NLP capabilities and use all kind of rich + messages. + + Now, please, type 'end'. + + ) + } +} diff --git a/examples/tutorial/src/actions/closed_webview.jsx b/examples/tutorial/src/actions/closed_webview.jsx new file mode 100644 index 0000000000..d12e2d24d7 --- /dev/null +++ b/examples/tutorial/src/actions/closed_webview.jsx @@ -0,0 +1,19 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return ( + <> + This webview has been closed! + + I could spend a long time talking about Botonic's features, but I + think that's enough for now. Feel free to read through the code to + learn how to integrate NLP capabilities and use all kind of rich + messages. + + Now, please, type 'end'. + + ) + } +} diff --git a/examples/tutorial/src/actions/end.jsx b/examples/tutorial/src/actions/end.jsx new file mode 100644 index 0000000000..a930443e1a --- /dev/null +++ b/examples/tutorial/src/actions/end.jsx @@ -0,0 +1,16 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return ( + <> + That's it! You just finished this Tutorial!!🎉 + + Next, go back to the Getting Started Tutorial to learn how to create + your first bot action + + + ) + } +} diff --git a/examples/tutorial/src/actions/funny.jsx b/examples/tutorial/src/actions/funny.jsx new file mode 100644 index 0000000000..4d037a279e --- /dev/null +++ b/examples/tutorial/src/actions/funny.jsx @@ -0,0 +1,8 @@ +import { Text } from '@botonic/react' +import React from 'react' + +export default class extends React.Component { + render() { + return I know dude 😂 😂 😂 + } +} diff --git a/examples/tutorial/src/actions/media.jsx b/examples/tutorial/src/actions/media.jsx new file mode 100644 index 0000000000..05cc430229 --- /dev/null +++ b/examples/tutorial/src/actions/media.jsx @@ -0,0 +1,28 @@ +import { + Audio, + Button, + Document, + Image, + Location, + Text, + Video, +} from '@botonic/react' +import React from 'react' +export default class extends React.Component { + render() { + return ( + <> + Hey! What a nice pic! Thanks 😊 + + Let me share some files with you:{' '} + + + +