From 9b6b5dbe71bad5d4cda707346f7de93bb9a85249 Mon Sep 17 00:00:00 2001 From: prafullnavkar-nxg Date: Fri, 27 Oct 2023 21:21:46 +0530 Subject: [PATCH] add SignDocument microfrontend --- apps/OpenSign/package-lock.json | 16 - apps/OpenSign/src/json/ReportJson.js | 2 +- microfrontends/SignDocuments/.gitignore | 23 + microfrontends/SignDocuments/README.md | 70 + .../SignDocuments/moduleFederation.config.js | 29 + .../SignDocuments/package-lock.json | 21530 ++++++++++++++++ microfrontends/SignDocuments/package.json | 60 + .../SignDocuments/public/favicon.ico | Bin 0 -> 3870 bytes .../SignDocuments/public/index.html | 81 + .../SignDocuments/public/logo192.png | Bin 0 -> 5347 bytes .../SignDocuments/public/logo512.png | Bin 0 -> 9664 bytes .../SignDocuments/public/manifest.json | 25 + .../SignDocuments/public/robots.txt | 3 + microfrontends/SignDocuments/src/App.js | 51 + .../src/Component/Certificate/Certificate.js | 280 + .../src/Component/Certificate/certificate.css | 9 + .../src/Component/DraftDocument.js | 137 + .../FolderDrive/legaDriveComponent.js | 608 + .../src/Component/LegaDrive/LegaDrive.css | 530 + .../src/Component/LegaDrive/LegaDrive.js | 722 + .../SignDocuments/src/Component/ManageSign.js | 704 + .../src/Component/PdfRequestFiles.js | 1173 + .../src/Component/SignYourselfPdf.js | 1229 + .../src/Component/component/DragElement.js | 58 + .../src/Component/component/HandleError.js | 18 + .../src/Component/component/Nodata.js | 18 + .../Component/component/defaultSignature.js | 122 + .../src/Component/component/emailComponent.js | 385 + .../Component/component/fieldsComponent.js | 366 + .../src/Component/component/header.js | 660 + .../src/Component/component/loader.js | 28 + .../src/Component/component/modalComponent.js | 28 + .../src/Component/component/prevNext.js | 58 + .../Component/component/renderAllPdfPage.js | 96 + .../src/Component/component/renderPdf.js | 1267 + .../src/Component/component/signPad.js | 476 + .../src/Component/component/signedby.js | 68 + .../Component/component/signerListPlace.js | 163 + .../SignDocuments/src/Component/login.js | 310 + .../src/Component/placeHolderSign.js | 1118 + .../src/Component/recipientSignPdf.js | 1210 + microfrontends/SignDocuments/src/Routes.js | 49 + .../SignDocuments/src/assests/blackPen.png | Bin 0 -> 430 bytes .../SignDocuments/src/assests/bluePen.png | Bin 0 -> 574 bytes .../SignDocuments/src/assests/certificate.png | Bin 0 -> 448 bytes .../SignDocuments/src/assests/checkBox.png | Bin 0 -> 324 bytes .../SignDocuments/src/assests/close.png | Bin 0 -> 259 bytes .../SignDocuments/src/assests/download2.png | Bin 0 -> 272 bytes .../SignDocuments/src/assests/draftDoc.png | Bin 0 -> 2354 bytes .../SignDocuments/src/assests/draftDoc1.png | Bin 0 -> 78196 bytes .../SignDocuments/src/assests/folder.png | Bin 0 -> 4496 bytes .../SignDocuments/src/assests/loader2.gif | Bin 0 -> 62248 bytes .../SignDocuments/src/assests/mailLogo.png | Bin 0 -> 7611 bytes .../SignDocuments/src/assests/newCeleb.gif | Bin 0 -> 239101 bytes .../SignDocuments/src/assests/pdf3.png | Bin 0 -> 11944 bytes .../SignDocuments/src/assests/print.png | Bin 0 -> 208 bytes .../SignDocuments/src/assests/redPen.png | Bin 0 -> 569 bytes .../SignDocuments/src/assests/sign3.png | Bin 0 -> 804 bytes .../SignDocuments/src/assests/signLogo.png | Bin 0 -> 8047 bytes .../SignDocuments/src/assests/stamp2.png | Bin 0 -> 561 bytes microfrontends/SignDocuments/src/bootstrap.js | 7 + .../SignDocuments/src/css/LoginPage.css | 151 + .../SignDocuments/src/css/custom.css | 225 + .../SignDocuments/src/css/signature.css | 723 + microfrontends/SignDocuments/src/index.js | 1 + .../src/utils/ThemeColor/backColor.js | 7 + .../SignDocuments/src/utils/Utils.js | 280 + .../SignDocuments/src/utils/toDataUrl.js | 10 + .../SignDocuments/src/utils/useFileUpload.js | 68 + 69 files changed, 35235 insertions(+), 17 deletions(-) create mode 100644 microfrontends/SignDocuments/.gitignore create mode 100644 microfrontends/SignDocuments/README.md create mode 100644 microfrontends/SignDocuments/moduleFederation.config.js create mode 100644 microfrontends/SignDocuments/package-lock.json create mode 100644 microfrontends/SignDocuments/package.json create mode 100644 microfrontends/SignDocuments/public/favicon.ico create mode 100644 microfrontends/SignDocuments/public/index.html create mode 100644 microfrontends/SignDocuments/public/logo192.png create mode 100644 microfrontends/SignDocuments/public/logo512.png create mode 100644 microfrontends/SignDocuments/public/manifest.json create mode 100644 microfrontends/SignDocuments/public/robots.txt create mode 100644 microfrontends/SignDocuments/src/App.js create mode 100644 microfrontends/SignDocuments/src/Component/Certificate/Certificate.js create mode 100644 microfrontends/SignDocuments/src/Component/Certificate/certificate.css create mode 100644 microfrontends/SignDocuments/src/Component/DraftDocument.js create mode 100644 microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js create mode 100644 microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.css create mode 100644 microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.js create mode 100644 microfrontends/SignDocuments/src/Component/ManageSign.js create mode 100644 microfrontends/SignDocuments/src/Component/PdfRequestFiles.js create mode 100644 microfrontends/SignDocuments/src/Component/SignYourselfPdf.js create mode 100644 microfrontends/SignDocuments/src/Component/component/DragElement.js create mode 100644 microfrontends/SignDocuments/src/Component/component/HandleError.js create mode 100644 microfrontends/SignDocuments/src/Component/component/Nodata.js create mode 100644 microfrontends/SignDocuments/src/Component/component/defaultSignature.js create mode 100644 microfrontends/SignDocuments/src/Component/component/emailComponent.js create mode 100644 microfrontends/SignDocuments/src/Component/component/fieldsComponent.js create mode 100644 microfrontends/SignDocuments/src/Component/component/header.js create mode 100644 microfrontends/SignDocuments/src/Component/component/loader.js create mode 100644 microfrontends/SignDocuments/src/Component/component/modalComponent.js create mode 100644 microfrontends/SignDocuments/src/Component/component/prevNext.js create mode 100644 microfrontends/SignDocuments/src/Component/component/renderAllPdfPage.js create mode 100644 microfrontends/SignDocuments/src/Component/component/renderPdf.js create mode 100644 microfrontends/SignDocuments/src/Component/component/signPad.js create mode 100644 microfrontends/SignDocuments/src/Component/component/signedby.js create mode 100644 microfrontends/SignDocuments/src/Component/component/signerListPlace.js create mode 100644 microfrontends/SignDocuments/src/Component/login.js create mode 100644 microfrontends/SignDocuments/src/Component/placeHolderSign.js create mode 100644 microfrontends/SignDocuments/src/Component/recipientSignPdf.js create mode 100644 microfrontends/SignDocuments/src/Routes.js create mode 100644 microfrontends/SignDocuments/src/assests/blackPen.png create mode 100644 microfrontends/SignDocuments/src/assests/bluePen.png create mode 100644 microfrontends/SignDocuments/src/assests/certificate.png create mode 100644 microfrontends/SignDocuments/src/assests/checkBox.png create mode 100644 microfrontends/SignDocuments/src/assests/close.png create mode 100644 microfrontends/SignDocuments/src/assests/download2.png create mode 100644 microfrontends/SignDocuments/src/assests/draftDoc.png create mode 100644 microfrontends/SignDocuments/src/assests/draftDoc1.png create mode 100644 microfrontends/SignDocuments/src/assests/folder.png create mode 100644 microfrontends/SignDocuments/src/assests/loader2.gif create mode 100644 microfrontends/SignDocuments/src/assests/mailLogo.png create mode 100644 microfrontends/SignDocuments/src/assests/newCeleb.gif create mode 100644 microfrontends/SignDocuments/src/assests/pdf3.png create mode 100644 microfrontends/SignDocuments/src/assests/print.png create mode 100644 microfrontends/SignDocuments/src/assests/redPen.png create mode 100644 microfrontends/SignDocuments/src/assests/sign3.png create mode 100644 microfrontends/SignDocuments/src/assests/signLogo.png create mode 100644 microfrontends/SignDocuments/src/assests/stamp2.png create mode 100644 microfrontends/SignDocuments/src/bootstrap.js create mode 100644 microfrontends/SignDocuments/src/css/LoginPage.css create mode 100644 microfrontends/SignDocuments/src/css/custom.css create mode 100644 microfrontends/SignDocuments/src/css/signature.css create mode 100644 microfrontends/SignDocuments/src/index.js create mode 100644 microfrontends/SignDocuments/src/utils/ThemeColor/backColor.js create mode 100644 microfrontends/SignDocuments/src/utils/Utils.js create mode 100644 microfrontends/SignDocuments/src/utils/toDataUrl.js create mode 100644 microfrontends/SignDocuments/src/utils/useFileUpload.js diff --git a/apps/OpenSign/package-lock.json b/apps/OpenSign/package-lock.json index a61a4ea32..f39c8b835 100644 --- a/apps/OpenSign/package-lock.json +++ b/apps/OpenSign/package-lock.json @@ -51,7 +51,6 @@ "eslint": "^8.51.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.33.2", - "husky": "^8.0.3", "lint-staged": "^15.0.1", "postcss": "^8.4.31", "prettier": "^2.8.0", @@ -10479,21 +10478,6 @@ "node": ">=10.17.0" } }, - "node_modules/husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", - "dev": true, - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", diff --git a/apps/OpenSign/src/json/ReportJson.js b/apps/OpenSign/src/json/ReportJson.js index abdda66ca..39d78c608 100644 --- a/apps/OpenSign/src/json/ReportJson.js +++ b/apps/OpenSign/src/json/ReportJson.js @@ -37,7 +37,7 @@ export default function reportJson(id) { textColor: "white", btnIcon: "fa fa-plus", redirectUrl: - "remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9TaWduLU1pY3JvYXBwVjIvcmVtb3RlRW50cnkuanM=&moduleToLoad=AppRoutes&remoteName=signmicroapp/draftDocument" + "remoteUrl=aHR0cDovL2xvY2FsaG9zdDozMDAwL21mYnVpbGQvcmVtb3RlRW50cnkuanM=&moduleToLoad=AppRoutes&remoteName=signmicroapp/draftDocument" } ] }; diff --git a/microfrontends/SignDocuments/.gitignore b/microfrontends/SignDocuments/.gitignore new file mode 100644 index 000000000..4d29575de --- /dev/null +++ b/microfrontends/SignDocuments/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/microfrontends/SignDocuments/README.md b/microfrontends/SignDocuments/README.md new file mode 100644 index 000000000..58beeaccd --- /dev/null +++ b/microfrontends/SignDocuments/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in your browser. + +The page will reload when you make changes.\ +You may also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can't go back!** + +If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. + +You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `npm run build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/microfrontends/SignDocuments/moduleFederation.config.js b/microfrontends/SignDocuments/moduleFederation.config.js new file mode 100644 index 000000000..5bbcb045a --- /dev/null +++ b/microfrontends/SignDocuments/moduleFederation.config.js @@ -0,0 +1,29 @@ +const { dependencies } = require("./package.json"); + +module.exports = { + name: "signmicroapp", // change me + filename: "remoteEntry.js", + exposes: { + // key e.g"./AppRoutes" is path which will use as moduletoload in host app + // value e.g"./src/Routes" is path which will as a bind path to load + + "./AppRoutes": "./src/Routes", + }, + shared: { + ...dependencies, + react: { + singleton: true, + import: "react", // fallback is also react + shareScope: "default", + requiredVersion: dependencies.react, + }, + "react-dom": { + singleton: true, + requiredVersion: dependencies["react-dom"], + }, + "react-router-dom": { + singleton: true, + requiredVersion: dependencies["react-router-dom"], + }, + }, +}; diff --git a/microfrontends/SignDocuments/package-lock.json b/microfrontends/SignDocuments/package-lock.json new file mode 100644 index 000000000..30f707e44 --- /dev/null +++ b/microfrontends/SignDocuments/package-lock.json @@ -0,0 +1,21530 @@ +{ + "name": "signmicroapp", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "signmicroapp", + "version": "0.1.0", + "dependencies": { + "@radix-ui/themes": "^1.1.2", + "@react-pdf/renderer": "^3.1.9", + "@testing-library/jest-dom": "^5.17.0", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "axios": "^1.5.1", + "file-saver": "^2.0.5", + "gh-pages": "^6.0.0", + "mf-cra": "^0.0.5", + "parse": "^4.2.0", + "pdf-lib": "^1.17.1", + "print-js": "^1.6.0", + "radix-ui": "^1.0.1", + "react": "^18.2.0", + "react-bootstrap": "^2.9.0", + "react-dnd": "^16.0.1", + "react-dnd-html5-backend": "^16.0.1", + "react-dnd-multi-backend": "^8.0.3", + "react-dnd-touch-backend": "^16.0.1", + "react-dom": "^18.2.0", + "react-draggable": "^4.4.6", + "react-pdf": "^7.4.0", + "react-rnd": "^10.4.1", + "react-router-dom": "^6.16.0", + "react-scripts": "5.0.1", + "react-scrollbars-custom": "^4.1.1", + "react-signature-canvas": "^1.0.6", + "reactour": "^1.19.1", + "web-vitals": "^2.1.4" + } + }, + "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/@adobe/css-tools": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.1.tgz", + "integrity": "sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==" + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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/@babel/eslint-parser": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", + "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/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/@babel/eslint-parser/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/@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==", + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/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/@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==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/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/@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" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/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/@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==", + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/@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==", + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "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.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "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.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@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==", + "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.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "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.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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@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==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.0.tgz", + "integrity": "sha512-kYsT+f5ARWF6AdFmqoEEp+hpqxEB8vGmRWfw2aj78M2vTwS2uHW91EF58iFm1Z9U8Y/RrLu2XKJn46P9ca1b0w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "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-decorators": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", + "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", + "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-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-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "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-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==", + "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.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "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-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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "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-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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "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" + } + }, + "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==", + "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-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "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-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" + } + }, + "node_modules/@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==", + "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-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==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "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-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==", + "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.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@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-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==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "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-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==", + "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-0" + } + }, + "node_modules/@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==", + "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-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==", + "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" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "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-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "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-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==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "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" + } + }, + "node_modules/@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==", + "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-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==", + "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" + } + }, + "node_modules/@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==", + "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-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==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@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" + } + }, + "node_modules/@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==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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" + } + }, + "node_modules/@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==", + "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-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==", + "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" + } + }, + "node_modules/@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==", + "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" + } + }, + "node_modules/@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==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "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" + } + }, + "node_modules/@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==", + "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.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "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-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==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "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-react-constant-elements": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", + "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", + "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-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "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-react-jsx": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "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.22.5", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "dependencies": { + "@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" + } + }, + "node_modules/@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==", + "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" + } + }, + "node_modules/@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==", + "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.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.15.tgz", + "integrity": "sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/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/@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==", + "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.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==", + "dependencies": { + "@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" + } + }, + "node_modules/@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==", + "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.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "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-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==", + "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-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", + "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-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "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-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==", + "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-0" + } + }, + "node_modules/@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==", + "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-0" + } + }, + "node_modules/@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==", + "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" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", + "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/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/@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" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz", + "integrity": "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.0.tgz", + "integrity": "sha512-6P6VVa/NM/VlAYj5s2Aq/gdVg8FSENCg3wlZ6Qau9AcPaoF5LbN1nyGlR9DTRIw9PpxI94e+ReydsJHcjwAweg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-typescript": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==" + }, + "node_modules/@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==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.21.0.tgz", + "integrity": "sha512-TDD4UJzos3JJtM+tHX+w2Uc+KWj7GV+VKKFdMVd2Rx8sdA19hcc3P3AHFYd5LVOw+pYuSd5lICC3gm52B6Rwxw==", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3/node_modules/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==" + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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==" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "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==", + "peer": true, + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "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==", + "peer": true + }, + "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==", + "peer": true + }, + "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==", + "peer": true + }, + "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" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.0.tgz", + "integrity": "sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "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" + } + }, + "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/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" + } + }, + "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" + } + }, + "node_modules/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", + "dependencies": { + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "dependencies": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.2.tgz", + "integrity": "sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==", + "dependencies": { + "@floating-ui/dom": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.4.tgz", + "integrity": "sha512-qprfWkn82Iw821mcKofJ5Pk9wgioHicxcQMxx+5zt5GSKoqdWvgG5AxVmpmUUjzTLPVSH5auBrhI93Deayn/DA==" + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "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" + } + }, + "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==" + }, + "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": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/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" + } + }, + "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" + } + }, + "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" + } + }, + "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": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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==" + }, + "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" + } + }, + "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" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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" + } + }, + "node_modules/@jest/expect-utils/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/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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==" + }, + "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" + } + }, + "node_modules/@jest/reporters/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/@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" + } + }, + "node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/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/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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" + } + }, + "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" + } + }, + "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==" + }, + "node_modules/@jest/transform/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==" + }, + "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" + } + }, + "node_modules/@jest/transform/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/@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" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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==" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/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/@nicolo-ribaudo/eslint-scope-5-internals/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/@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" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/@pdf-lib/standard-fonts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz", + "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==", + "dependencies": { + "pako": "^1.0.6" + } + }, + "node_modules/@pdf-lib/upng": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz", + "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==", + "dependencies": { + "pako": "^1.0.10" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@radix-ui/colors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/colors/-/colors-2.1.0.tgz", + "integrity": "sha512-gcBnxjS2u2c6thQz/9K1+Pt2ZYcm5WKU4SLi0emYkRmYbVUw+37rlc5wgLtYOsSsRP9nxVtbJJYj6WVO7UUmZg==" + }, + "node_modules/@radix-ui/number": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", + "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-accessible-icon": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accessible-icon/-/react-accessible-icon-1.0.3.tgz", + "integrity": "sha512-duVGKeWPSUILr/MdlPxV+GeULTc2rS1aihGdQ3N2qCUPMgxYLxvAsHJM3mCVLF8d5eK+ympmB22mb1F3a5biNw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-visually-hidden": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.1.2.tgz", + "integrity": "sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collapsible": "1.0.3", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-alert-dialog": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.5.tgz", + "integrity": "sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dialog": "1.0.5", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-aspect-ratio": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.0.3.tgz", + "integrity": "sha512-fXR5kbMan9oQqMuacfzlGG/SQMcmMlZ4wrvpckv8SgUulD0MMpspxJrxg/Gp/ISV3JfV1AeSWTYK9GvxA4ySwA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.0.4.tgz", + "integrity": "sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz", + "integrity": "sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz", + "integrity": "sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context-menu": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.5.tgz", + "integrity": "sha512-R5XaDj06Xul1KGb+WP8qiOh7tKJNz2durpLBXAGZjSVtctcRFCuEvy2gtMwRJGePwQQE5nV77gs4FwRi8T+r2g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-menu": "2.0.6", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz", + "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.6.tgz", + "integrity": "sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-menu": "2.0.6", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", + "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-form": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-form/-/react-form-0.0.3.tgz", + "integrity": "sha512-kgE+Z/haV6fxE5WqIXj05KkaXa3OkZASoTDy25yX2EIp/x0c54rOH/vFr5nOZTg7n7T1z8bSyXmiVIFP9bbhPQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-label": "2.0.2", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-hover-card": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.0.7.tgz", + "integrity": "sha512-OcUN2FU0YpmajD/qkph3XzMcK/NmSk9hGWnjV68p6QiZMgILugusgQwnLSDs3oFSJYGKf3Y49zgFedhGh04k9A==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", + "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.6.tgz", + "integrity": "sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-navigation-menu": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.1.4.tgz", + "integrity": "sha512-Cc+seCS3PmWmjI51ufGG7zp1cAAIRqHVw7C9LOA2TZ+R4hG6rDvHcTqIsEEFLmZO3zNVH72jOOE7kKNy8W+RtA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.7.tgz", + "integrity": "sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", + "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", + "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-progress": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.0.3.tgz", + "integrity": "sha512-5G6Om/tYSxjSeEdrb1VfKkfZfn/1IlPWd731h2RfPuSbIfNUgfqAwbKfJCg/PP6nuUCTrYzalwHSpSinoWoCag==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-radio-group": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz", + "integrity": "sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.5.tgz", + "integrity": "sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.1", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz", + "integrity": "sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.1", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.2", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", + "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz", + "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-popper": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", + "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-portal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", + "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", + "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slider": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.1.2.tgz", + "integrity": "sha512-NKs15MJylfzVsCagVSWKhGGLNR1W9qWs+HtgbmjjVUB3B9+lb3PYoXxVju3kOrpf0VKyVCtZp+iTwVoqpa1Chw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.1", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.0.3.tgz", + "integrity": "sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.4.tgz", + "integrity": "sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toast": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.5.tgz", + "integrity": "sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz", + "integrity": "sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle-group": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz", + "integrity": "sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-toggle": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toolbar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz", + "integrity": "sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-separator": "1.0.3", + "@radix-ui/react-toggle-group": "1.0.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.0.7.tgz", + "integrity": "sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/themes": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/themes/-/themes-1.1.2.tgz", + "integrity": "sha512-VnNeanSxHQurSgwQe5Z3zNZP5SrwhRY+RW97FPZe7TOJGpa+rpDHLDR9vourSsEGxsgrtTXHJaoII1pyIXDi8A==", + "dependencies": { + "@radix-ui/colors": "^2.1.0", + "@radix-ui/primitive": "^1.0.1", + "@radix-ui/react-accessible-icon": "^1.0.3", + "@radix-ui/react-alert-dialog": "^1.0.4", + "@radix-ui/react-aspect-ratio": "^1.0.3", + "@radix-ui/react-avatar": "^1.0.3", + "@radix-ui/react-checkbox": "^1.0.4", + "@radix-ui/react-context-menu": "^2.1.4", + "@radix-ui/react-dialog": "^1.0.4", + "@radix-ui/react-direction": "^1.0.1", + "@radix-ui/react-dropdown-menu": "^2.0.5", + "@radix-ui/react-form": "^0.0.3", + "@radix-ui/react-hover-card": "^1.0.6", + "@radix-ui/react-popover": "^1.0.6", + "@radix-ui/react-portal": "^1.0.3", + "@radix-ui/react-radio-group": "^1.1.3", + "@radix-ui/react-scroll-area": "^1.0.4", + "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-separator": "^1.0.3", + "@radix-ui/react-slider": "^1.1.2", + "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-switch": "^1.0.3", + "@radix-ui/react-tabs": "^1.0.4", + "@radix-ui/react-tooltip": "^1.0.6", + "@radix-ui/react-visually-hidden": "^1.0.3", + "classnames": "^2.3.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.8.0.tgz", + "integrity": "sha512-Y54xs483rglN5DxbwfCPHxnkvZ+gZ0LbSYmR72LyWPGft8hN/lrl1VRS1EW2SMjnkEWlj+Km2mwvA3kEHDUA0A==", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/ssr/node_modules/@swc/helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-dnd/asap": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@react-dnd/asap/-/asap-5.0.2.tgz", + "integrity": "sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==" + }, + "node_modules/@react-dnd/invariant": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@react-dnd/invariant/-/invariant-4.0.2.tgz", + "integrity": "sha512-xKCTqAK/FFauOM9Ta2pswIyT3D8AQlfrYdOi/toTPEhqCuAs1v5tcJ3Y08Izh1cJ5Jchwy9SeAXmMg6zrKs2iw==" + }, + "node_modules/@react-dnd/shallowequal": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@react-dnd/shallowequal/-/shallowequal-4.0.2.tgz", + "integrity": "sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==" + }, + "node_modules/@react-pdf/fns": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@react-pdf/fns/-/fns-2.0.1.tgz", + "integrity": "sha512-/vgecczzFYBQFkgUupH+sxXhLWQtBwdwCgweyh25XOlR4NZuaMD/UVUDl4loFHhRQqDMQq37lkTcchh7zzW6ug==", + "dependencies": { + "@babel/runtime": "^7.20.13" + } + }, + "node_modules/@react-pdf/font": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-2.3.6.tgz", + "integrity": "sha512-JYV+KmVyG2tPdpCK0/iFiBy1V7VHz2fETttKCgTRsLAo+w8RpM0pUGSAYROSuRl7yqbhiKGw/A24PYWhBReiOQ==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/types": "^2.3.3", + "cross-fetch": "^3.1.5", + "fontkit": "^2.0.2", + "is-url": "^1.2.4" + } + }, + "node_modules/@react-pdf/image": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-2.2.1.tgz", + "integrity": "sha512-f0+cEP6pSBmk8eS/wP2tMsJcv2c7xjzca6cr1kwcapr1nzkPrh6fMdEeFl6kR2/HlJK/JoHo+xxlzRiQ8V2lrw==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/png-js": "^2.2.0", + "cross-fetch": "^3.1.5" + } + }, + "node_modules/@react-pdf/layout": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-3.6.2.tgz", + "integrity": "sha512-YD3/tDC6p5XPCXI04zH79bgX8LytjxEYfeCtsIzEFk0A2VvIHoRnRRDZ2OhZmO5g112ykyjY8vn9//ubTt+Ktg==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/fns": "2.0.1", + "@react-pdf/image": "^2.2.1", + "@react-pdf/pdfkit": "^3.0.2", + "@react-pdf/primitives": "^3.0.0", + "@react-pdf/stylesheet": "^4.1.7", + "@react-pdf/textkit": "^4.2.0", + "@react-pdf/types": "^2.3.3", + "@react-pdf/yoga": "^4.1.2", + "cross-fetch": "^3.1.5", + "emoji-regex": "^10.2.1", + "queue": "^6.0.1" + } + }, + "node_modules/@react-pdf/layout/node_modules/emoji-regex": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.2.1.tgz", + "integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==" + }, + "node_modules/@react-pdf/pdfkit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@react-pdf/pdfkit/-/pdfkit-3.0.2.tgz", + "integrity": "sha512-+m5rwNCwyEH6lmnZWpsQJvdqb6YaCCR0nMWrc/KKDwznuPMrGmGWyNxqCja+bQPORcHZyl6Cd/iFL0glyB3QGw==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/png-js": "^2.2.0", + "browserify-zlib": "^0.2.0", + "crypto-js": "^4.0.0", + "fontkit": "^2.0.2", + "vite-compatible-readable-stream": "^3.6.1" + } + }, + "node_modules/@react-pdf/png-js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-2.2.0.tgz", + "integrity": "sha512-csZU5lfNW73tq7s7zB/1rWXGro+Z9cQhxtsXwxS418TSszHUiM6PwddouiKJxdGhbVLjRIcuuFVa0aR5cDOC6w==", + "dependencies": { + "browserify-zlib": "^0.2.0" + } + }, + "node_modules/@react-pdf/primitives": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-3.0.1.tgz", + "integrity": "sha512-0HGcknrLNwyhxe+SZCBL29JY4M85mXKdvTZE9uhjNbADGgTc8wVnkc5+e4S/lDvugbVISXyuIhZnYwtK9eDnyQ==" + }, + "node_modules/@react-pdf/render": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-3.2.6.tgz", + "integrity": "sha512-nsd1sleWMzBdrYGv5BwChPgVwoTZilfdiadE5wQiblFqG1C7EYINadalnEl1tjldKAzofSPBLKJbnSGR5r2lIQ==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/fns": "2.0.1", + "@react-pdf/primitives": "^3.0.0", + "@react-pdf/textkit": "^4.2.0", + "@react-pdf/types": "^2.3.3", + "abs-svg-path": "^0.1.1", + "color-string": "^1.5.3", + "normalize-svg-path": "^1.1.0", + "parse-svg-path": "^0.1.2", + "svg-arc-to-cubic-bezier": "^3.2.0" + } + }, + "node_modules/@react-pdf/renderer": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-3.1.12.tgz", + "integrity": "sha512-y4H2ELH0okJP7+ig+uNjFAfuAanWiF3mxsKsE7ZBuhF4tabbMt9fX+pQ7qn4xrzEWX0vlso6s6ebkkeGdSGWzA==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/font": "^2.3.6", + "@react-pdf/layout": "^3.6.2", + "@react-pdf/pdfkit": "^3.0.2", + "@react-pdf/primitives": "^3.0.0", + "@react-pdf/render": "^3.2.6", + "@react-pdf/types": "^2.3.3", + "events": "^3.3.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "queue": "^6.0.1", + "scheduler": "^0.17.0" + }, + "peerDependencies": { + "react": "^16.8.6 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-pdf/renderer/node_modules/scheduler": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.17.0.tgz", + "integrity": "sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@react-pdf/stylesheet": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-4.1.7.tgz", + "integrity": "sha512-3n0Vg0XFszPyo0MpH75DkLRvsS4JOE0HzBH6XqFHDiquZDrC4mNgmMhZEbsOED+8xDGoCeVh8fLU3L6Tu0HWqg==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/fns": "2.0.1", + "@react-pdf/types": "^2.3.3", + "color-string": "^1.5.3", + "hsl-to-hex": "^1.0.0", + "media-engine": "^1.0.3", + "postcss-value-parser": "^4.1.0" + } + }, + "node_modules/@react-pdf/textkit": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-4.2.0.tgz", + "integrity": "sha512-R90pEOW6NdhUx4p99iROvKmwB06IRYdXMhh0QcmUeoPOLe64ZdMfs3LZliNUWgI5fCmq71J+nv868i/EakFPDg==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@react-pdf/fns": "2.0.1", + "hyphen": "^1.6.4", + "unicode-properties": "^1.4.1" + } + }, + "node_modules/@react-pdf/types": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@react-pdf/types/-/types-2.3.3.tgz", + "integrity": "sha512-I3BVu5vF0xxX6rvqZHt4gCjFAt6X+mak5bwYQyf6bm21IIMDXXBtgXqWEl1wosWizArox7fcN/XbEnysrf/8Dw==" + }, + "node_modules/@react-pdf/yoga": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@react-pdf/yoga/-/yoga-4.1.2.tgz", + "integrity": "sha512-OlMZkFrJDj4GyKZ70thiObwwPVZ52B7mlPyfzwa+sgwsioqHXg9nMWOO+7SQFNUbbOGagMUu0bCuTv+iXYZuaQ==", + "dependencies": { + "@babel/runtime": "^7.20.13" + } + }, + "node_modules/@remix-run/router": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.9.0.tgz", + "integrity": "sha512-bV63itrKBC0zdT27qYm6SDZHlkXwFL1xMBuhkn+X7l0+IIhNaH5wuuvZKp6eKhCD4KFhujhfhCT1YxXW6esUIA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@restart/hooks": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.11.tgz", + "integrity": "sha512-Ft/ncTULZN6ldGHiF/k5qt72O8JyRMOeg0tApvCni8LkoiEahO+z3TNxfXIVGy890YtWVDvJAl662dVJSJXvMw==", + "dependencies": { + "dequal": "^2.0.3" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@restart/ui": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/@restart/ui/-/ui-1.6.6.tgz", + "integrity": "sha512-eC3puKuWE1SRYbojWHXnvCNHGgf3uzHCb6JOhnF4OXPibOIPEkR1sqDSkL643ydigxwh+ruCa1CmYHlzk7ikKA==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@popperjs/core": "^2.11.6", + "@react-aria/ssr": "^3.5.0", + "@restart/hooks": "^0.4.9", + "@types/warning": "^3.0.0", + "dequal": "^2.0.3", + "dom-helpers": "^5.2.0", + "uncontrollable": "^8.0.1", + "warning": "^4.0.3" + }, + "peerDependencies": { + "react": ">=16.14.0", + "react-dom": ">=16.14.0" + } + }, + "node_modules/@restart/ui/node_modules/uncontrollable": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-8.0.4.tgz", + "integrity": "sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ==", + "peerDependencies": { + "react": ">=16.14.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/@rooks/use-mutation-observer": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/@rooks/use-mutation-observer/-/use-mutation-observer-4.11.2.tgz", + "integrity": "sha512-vpsdrZdr6TkB1zZJcHx+fR1YC/pHs2BaqcuYiEGjBVbwY5xcC49+h0hAUtQKHth3oJqXfIX/Ng8S7s5HFHdM/A==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.0.tgz", + "integrity": "sha512-EF3948ckf3f5uPgYbQ6GhyA56Dmv8yg0+ir+BroRjwdxyZJsekhZzawOecC2rOTPCz173t7ZcR1HHZu0dZgOCw==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "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==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@swc/helpers": { + "version": "0.4.36", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.36.tgz", + "integrity": "sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==", + "dependencies": { + "legacy-swc-helpers": "npm:@swc/helpers@=0.4.14", + "tslib": "^2.4.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", + "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", + "peer": true, + "dependencies": { + "@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": ">=14" + } + }, + "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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/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==", + "peer": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "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==", + "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/@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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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==", + "peer": true + }, + "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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/jest-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==" + }, + "node_modules/@testing-library/jest-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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.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/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==", + "dependencies": { + "@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" + } + }, + "node_modules/@testing-library/react/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/@testing-library/react/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==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/react/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/@testing-library/react/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/@testing-library/react/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/@testing-library/react/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/@testing-library/react/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/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "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==", + "engines": { + "node": ">= 6" + } + }, + "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" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.2.tgz", + "integrity": "sha512-PHKZuMN+K5qgKIWhBodXzQslTo5P+K/6LqeKXS6O/4liIDdZqaX5RXrCK++LAw+y/nptN48YmUMFiQHRSWYwtQ==" + }, + "node_modules/@types/babel__core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", + "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", + "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", + "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", + "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.11.tgz", + "integrity": "sha512-isGhjmBtLIxdHBDl2xGwUzEM8AOyOvWsADWq7rqirdi/ZQoHnLWErHvsThcEzTX8juDRiZtzp2Qkv5bgNh6mAg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.1.tgz", + "integrity": "sha512-iaQslNbARe8fctL5Lk+DsmgWOM83lM+7FzP0eQUJs1jd3kBE8NWqBTIT2S8SqQOJjxvt2eyIjpOuYeRXq2AdMw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.3.tgz", + "integrity": "sha512-iM/WfkwAhwmPff3wZuPLYiHX18HI24jU8k1ZSH7P8FHwxTjZ2P6CoX2wnF43oprR+YXJM6UUxATkNvyv/JHd+g==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.5.tgz", + "integrity": "sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", + "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==" + }, + "node_modules/@types/express": { + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz", + "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.37", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", + "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz", + "integrity": "sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-YIQtIg4PKr7ZyqNPZObpxfHsHEmuB8dXCxd6qVcGuQVDK2bpsF7bYNnBJ4Nn7giuACZg+WewExgrtAJ3XnA4Xw==", + "optional": true, + "peer": true, + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "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/http-errors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.12", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.12.tgz", + "integrity": "sha512-kQtujO08dVtQ2wXAuSFfk9ASy3sug4+ogFR8Kd8UgP8PEuc1/G/8yjYRmp//PcDNJEUKOza/MrQu15bouEUCiw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@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==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.5.tgz", + "integrity": "sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/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" + } + }, + "node_modules/@types/jest/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" + } + }, + "node_modules/@types/jest/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==" + }, + "node_modules/@types/jest/node_modules/@types/yargs": { + "version": "17.0.25", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.25.tgz", + "integrity": "sha512-gy7iPgwnzNvxgAEi2bXOHWCVOG6f7xsprVJH4MjlAWeBmJ7vh/Y1kwMtUrs64ztf24zVIRCpr3n/z6gm9QIkgg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "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": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=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": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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/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/@types/jest/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/@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" + } + }, + "node_modules/@types/jest/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/@types/jest/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/@types/jest/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/@types/jest/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/@types/jest/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/@types/jest/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/@types/jest/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/@types/jest/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/@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": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==" + }, + "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/mime": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", + "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==" + }, + "node_modules/@types/node": { + "version": "20.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.1.tgz", + "integrity": "sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "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==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.7", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.7.tgz", + "integrity": "sha512-FbtmBWCcSa2J4zL781Zf1p5YUBXQomPEcep9QZCfRfQgTxz3pJWiDFLebohZ9fFntX5ibzOkSsrJ0TEew8cAog==" + }, + "node_modules/@types/q": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.6.tgz", + "integrity": "sha512-IKjZ8RjTSwD4/YG+2gtj7BPFRB/lNbWKTiSj3M7U/TD2B7HfYCxvp2Zz6xA2WIY7pAuL1QOUPw8gQRbUrrq4fQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", + "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==" + }, + "node_modules/@types/react": { + "version": "18.2.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.23.tgz", + "integrity": "sha512-qHLW6n1q2+7KyBEYnrZpcsAmU/iiCh9WGCKgXvMxx89+TYdJWRjZohVIo9XTcoLhfX3+/hP0Pbulu3bCZQ9PSA==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.8", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.8.tgz", + "integrity": "sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.7", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.7.tgz", + "integrity": "sha512-ICCyBl5mvyqYp8Qeq9B5G/fyBSRC0zx3XM3sCC6KkcMsNeAHqXBKkmat4GqdJET5jtYUpZXrxI5flve5qhi2Eg==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/scheduler": { + "version": "0.16.4", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz", + "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==" + }, + "node_modules/@types/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==" + }, + "node_modules/@types/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", + "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-asaEIoc6J+DbBKXtO7p2shWUpKacZOoMBEGBgPG91P8xhO53ohzHWGCs4ScZo5pQMf5ukQzVT9fhX1WzpHihig==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", + "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.34", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.34.tgz", + "integrity": "sha512-R+n7qBFnm/6jinlteC9DBL5dGiDGjWAvjo4viUanpnc/dG1y7uDoacXPIQ/PQEg1fI912SMHIa014ZjRpvDw4g==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@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==" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz", + "integrity": "sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==" + }, + "node_modules/@types/warning": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.1.tgz", + "integrity": "sha512-ywJmriP+nvjBKNBEMaNZgj2irZHoxcKeYcyMLbqhYKbDVn8yCIULy2Ol/tvIb37O3IBeZj3RU4tXqQTtGwoAMg==" + }, + "node_modules/@types/ws": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.6.tgz", + "integrity": "sha512-8B5EO9jLVCy+B58PLHvLDuOD8DRVMgQzq8d55SjLCOn9kqGyqOvy27exVaTio1q1nX5zLu8/6N0n2ThSxOM6tg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", + "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "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" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "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" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "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" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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" + } + }, + "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": { + "@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 + } + } + }, + "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" + } + }, + "node_modules/@typescript-eslint/utils/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/@typescript-eslint/utils/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/@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" + } + }, + "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" + } + }, + "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==" + }, + "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==" + }, + "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": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "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==" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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==" + }, + "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": { + "@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" + } + }, + "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" + } + }, + "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" + } + }, + "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==" + }, + "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==" + }, + "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==", + "optional": true + }, + "node_modules/abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==" + }, + "node_modules/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==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "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==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "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==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "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/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" + } + }, + "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==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/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/ajv-formats/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/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" + } + }, + "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" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "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" + } + }, + "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" + } + }, + "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==" + }, + "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" + } + }, + "node_modules/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==", + "optional": true + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "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" + } + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/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==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "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": { + "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" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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" + } + }, + "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", + "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" + } + }, + "node_modules/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==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/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==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "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": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/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==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.2.tgz", + "integrity": "sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "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" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/babel-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/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" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/babel-loader/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/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" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "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.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/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==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/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/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==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.32.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "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==", + "peer": true, + "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" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "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" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "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==" + }, + "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/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "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/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" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/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==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/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/body-parser/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/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "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==" + }, + "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" + } + }, + "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" + } + }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "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==" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.0.tgz", + "integrity": "sha512-v+Jcv64L2LbfTC6OnRcaxtqJNJuQAVhZKSJfR/6hn7lhnChUXl4amwVviqN1k411BB+3rRoKMitELRn1CojeRA==", + "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.30001539", + "electron-to-chromium": "^1.4.530", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "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" + } + }, + "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==" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001541", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz", + "integrity": "sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw==", + "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/canvas": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.2.tgz", + "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.0", + "nan": "^2.17.0", + "simple-get": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "engines": { + "node": ">=4" + } + }, + "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/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==" + }, + "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" + } + }, + "node_modules/chokidar/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/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "optional": true, + "engines": { + "node": ">=10" + } + }, + "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.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "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==" + }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/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/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": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cnbuilder": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cnbuilder/-/cnbuilder-3.1.0.tgz", + "integrity": "sha512-9sxWwwprkPNTVQnx92WYPEWCmyZRqbf9VWUYABU4rl0mLL17VAV2MvvOApkMA6bQVXRLJ8jN//8Yp6drElpLWA==", + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/xobotyi" + } + }, + "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" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "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==" + }, + "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" + } + }, + "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==" + }, + "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" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "optional": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "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" + } + }, + "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/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "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/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/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/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/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/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/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==", + "optional": true + }, + "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" + } + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "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/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/core-js": { + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.2.tgz", + "integrity": "sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz", + "integrity": "sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==", + "dependencies": { + "browserslist": "^4.21.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.2.tgz", + "integrity": "sha512-Y2rxThOuNywTjnX/PgA5vWM6CZ9QB9sz9oGeCixV8MqXZO70z/5SHzf9EeBrEBK0PN36DnEBBu9O/aGWzKuMZQ==", + "hasInstallScript": true, + "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/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "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/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "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==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/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/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/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/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-minimizer-webpack-plugin/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/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "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-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "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==", + "peer": true, + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/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/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/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "node_modules/cssdb": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.7.2.tgz", + "integrity": "sha512-pQPYP7/kch4QlkTcLuUNiNL2v/E+O+VIdotT+ug62/+2B2/jkzs5fMM6RHCzGCZ9C82pODEMSIzRRUzJOrl78g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] + }, + "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/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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/csso/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/csso/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/csso/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/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "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.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "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==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/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/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==", + "optional": true, + "dependencies": { + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "node_modules/deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.1", + "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.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "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==", + "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/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/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "optional": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "optional": 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/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/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/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dnd-core": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-16.0.1.tgz", + "integrity": "sha512-HK294sl7tbw6F6IeuK16YSBUoorvHpY8RHO+9yFfaJyCDVb6n7PRcezrOEOa2SBCqiYpemh5Jx20ZcjKdFAVng==", + "dependencies": { + "@react-dnd/asap": "^5.0.1", + "@react-dnd/invariant": "^4.0.1", + "redux": "^4.2.0" + } + }, + "node_modules/dnd-multi-backend": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/dnd-multi-backend/-/dnd-multi-backend-8.0.3.tgz", + "integrity": "sha512-yFFARotr+OEJk787Fsj+V52pi6j7+Pt/CRp3IR2Ai3fnxA/z6J54T7+gxkXzXu4cvxTNE7NiBzzAaJ2f7JjFTw==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/LouisBrunner" + }, + "peerDependencies": { + "dnd-core": "^16.0.1" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "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==" + }, + "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-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "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": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "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/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/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==" + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.532", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.532.tgz", + "integrity": "sha512-piIR0QFdIGKmOJTSNg5AwxZRNWQSXlRYycqDB9Srstx4lip8KpcmRxVP6zuFWExWziHYZpJ0acX7TxqX95KBpg==" + }, + "node_modules/email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "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/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "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/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "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/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "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.6", + "get-intrinsic": "^1.2.1", + "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.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "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.11" + }, + "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-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==", + "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-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.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" + }, + "node_modules/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==", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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==", + "dependencies": { + "has": "^1.0.3" + } + }, + "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/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/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==" + }, + "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/escodegen/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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "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" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.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-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-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "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.8.0", + "has": "^1.0.3", + "is-core-module": "^2.13.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "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-import/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/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/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/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.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dependencies": { + "is-core-module": "^2.9.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-react/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/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "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" + } + }, + "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/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/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/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-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/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/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/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-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/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/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/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/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "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/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" + } + }, + "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/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" + } + }, + "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/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "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/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "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": "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/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/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/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/express/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/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "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-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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-glob/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/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-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "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/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-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/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/filelist/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/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": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "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/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/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/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "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-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/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "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/focus-lock": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.9.2.tgz", + "integrity": "sha512-YtHxjX7a0IC0ZACL5wsX8QdncXofWpGPNoVMuI/nZUrPGp6LmNI6+D5j0pPj+v8Kw5EpweA+T5yImK0rnWf7oQ==", + "dependencies": { + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/focus-outline-manager": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/focus-outline-manager/-/focus-outline-manager-1.0.2.tgz", + "integrity": "sha512-bHWEmjLsTjGP9gVs7P3Hyl+oY5NlMW8aTSPdTJ+X2GKt6glDctt9fUCLbRV+d/l8NDC40+FxMjp9WlTQXaQALw==" + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fontkit": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.2.tgz", + "integrity": "sha512-jc4k5Yr8iov8QfS6u8w2CnHWVmbOGtdBtOXMze5Y+QD966Rx6PEVWXSEGwXlsDlKtu1G12cJjcsybnqhSk/+LA==", + "dependencies": { + "@swc/helpers": "^0.4.2", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, + "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/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/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==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-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/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "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/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", + "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "optional": true, + "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==", + "optional": true, + "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==", + "optional": true + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "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.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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/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/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "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-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.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gh-pages": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.0.0.tgz", + "integrity": "sha512-FXZWJRsvP/fK2HJGY+Di6FRNHvqFF6gOIELaopDjXXgjeOYSNURcuYwEO/6bwuq6koP5Lnkvnr5GViXzuOB89g==", + "dependencies": { + "async": "^3.2.4", + "commander": "^11.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^11.1.1", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gh-pages/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/gh-pages/node_modules/commander": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/gh-pages/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/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": "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" + } + }, + "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/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/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/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/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/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/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "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": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.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.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "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-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-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "optional": true + }, + "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/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==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/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/hpack.js/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/hpack.js/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/hpack.js/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/hsl-to-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-to-hex/-/hsl-to-hex-1.0.0.tgz", + "integrity": "sha512-K6GVpucS5wFf44X0h2bLVRDsycgJmf9FF2elg+CrqD8GcFU8c6vYhgXn8NjUkFCwj+xDFb70qgLbTUm6sxwPmA==", + "dependencies": { + "hsl-to-rgb-for-reals": "^1.1.0" + } + }, + "node_modules/hsl-to-rgb-for-reals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/hsl-to-rgb-for-reals/-/hsl-to-rgb-for-reals-1.1.1.tgz", + "integrity": "sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==" + }, + "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==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "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-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "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": { + "webpack": "^5.20.0" + } + }, + "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-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/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==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "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==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "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/hyphen": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/hyphen/-/hyphen-1.6.6.tgz", + "integrity": "sha512-XtqmnT+b9n5MX+MsqluFAVTIenbtC25iskW0Z+jLd+awfhA+ZbWKWQMIvLJccGoa2bM1R6juWJ27cZxIFOmkWw==" + }, + "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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "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/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/idb-keyval": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.0.tgz", + "integrity": "sha512-uw+MIyQn2jl3+hroD7hF8J7PUviBU7BPKWw4f/ISf32D4LoGu98yHjrzWWJDASu9QNrX10tCJqk9YY0ClWm8Ng==", + "dependencies": { + "safari-14-idb-fix": "^3.0.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/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "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-fresh/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/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/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "engines": { + "node": ">= 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.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "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-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-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==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-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-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-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-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-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-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "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-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==", + "engines": { + "node": ">=0.10.0" + } + }, + "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" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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-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-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "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-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.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "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-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "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-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": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "engines": { + "node": ">=8" + } + }, + "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" + } + }, + "node_modules/istanbul-lib-instrument/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/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/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/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-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-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "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/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/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/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/jake/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/jake/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/jake/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/jake/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/jake/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": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", + "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/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-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==", + "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==" + }, + "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==", + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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/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-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/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" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dependencies": { + "@jest/schemas": "^28.1.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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "17.0.25", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.25.tgz", + "integrity": "sha512-gy7iPgwnzNvxgAEi2bXOHWCVOG6f7xsprVJH4MjlAWeBmJ7vh/Y1kwMtUrs64ztf24zVIRCpr3n/z6gm9QIkgg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watch-typeahead/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-watch-typeahead/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-watch-typeahead/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-watch-typeahead/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-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/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-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/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-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/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/jest-watch-typeahead/node_modules/jest-watcher/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/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/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-watch-typeahead/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/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "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/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/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "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": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "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/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-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": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "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/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==", + "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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "node_modules/legacy-swc-helpers": { + "name": "@swc/helpers", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", + "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "dependencies": { + "tslib": "^2.4.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/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "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/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/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.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.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.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "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/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/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/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==", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-cancellable-promise": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.3.1.tgz", + "integrity": "sha512-DWOzWdO3xhY5ESjVR+wVFy03rpt0ZccS4bunccNwngoX6rllKlMZm6S9ZnJ5nMuDDweqDMjtaO0g6tZeh+cCUA==", + "funding": { + "url": "https://github.com/wojtekmaj/make-cancellable-promise?sponsor=1" + } + }, + "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/make-dir/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/make-event-props": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.6.1.tgz", + "integrity": "sha512-JhvWq/iz1BvlmnPvLJjXv+xnMPJZuychrDC68V+yCGQJn5chcA8rLGKo5EP1XwIKVrigSXKLmbeXAGkf36wdCQ==", + "funding": { + "url": "https://github.com/wojtekmaj/make-event-props?sponsor=1" + } + }, + "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/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/media-engine": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/media-engine/-/media-engine-1.0.3.tgz", + "integrity": "sha512-aa5tG6sDoK+k70B9iEX1NeyfT8ObCKhNDs6lJVpwF6r8vhUfuKMslIcirq6HIUYuuUYLefcEQOn9bSBOvawtwg==" + }, + "node_modules/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-refs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.2.1.tgz", + "integrity": "sha512-pRPz39HQz2xzHdXAGvtJ9S8aEpNgpUjzb5yPC3ytozodmsHg+9nqgRs7/YOmn9fM/TLzntAC8AdGTidKxOq9TQ==", + "dependencies": { + "@types/react": "*" + }, + "funding": { + "url": "https://github.com/wojtekmaj/merge-refs?sponsor=1" + } + }, + "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/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mf-cra": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mf-cra/-/mf-cra-0.0.5.tgz", + "integrity": "sha512-a5sRFMIlDSZCwOfC7wFJc39lwMQxm+18dZ7S2wrKkKHfb5/v1jFNcO9Rj9xvs6yFJL75h44K8GnadTVvxw1Inw==", + "bin": { + "mf-cra": "bin/mf-cra.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">= 16", + "react-scripts": "^5.0.0" + } + }, + "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": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "optional": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/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/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/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/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "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": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "optional": true, + "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==", + "optional": true, + "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==", + "optional": true + }, + "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/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/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "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/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-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "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/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==", + "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==" + }, + "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==" + }, + "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==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.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-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==" + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "optional": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "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-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-svg-path": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", + "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", + "dependencies": { + "svg-arc-to-cubic-bezier": "^3.0.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "optional": true, + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "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/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-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "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==", + "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.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "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.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "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.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/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/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==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "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/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/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-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "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": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/parse/-/parse-4.2.0.tgz", + "integrity": "sha512-K8bWs0wM2qRhkSr6N16j8OvsF6Uallrynqng9e+tzR3RdKuB09vaJh48qrf9MbiJ1Ya4JZI7AfEHYF+ywEKs7Q==", + "dependencies": { + "@babel/runtime-corejs3": "7.21.0", + "idb-keyval": "6.2.0", + "react-native-crypto-js": "1.0.0", + "uuid": "9.0.0", + "ws": "8.13.0", + "xmlhttprequest": "1.8.0" + }, + "engines": { + "node": ">=14.21.0 <17 || >=18 <20" + }, + "optionalDependencies": { + "crypto-js": "4.1.1" + } + }, + "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/parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==" + }, + "node_modules/parse/node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/parse/node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "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/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-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": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "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/path2d-polyfill": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path2d-polyfill/-/path2d-polyfill-2.0.1.tgz", + "integrity": "sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pdf-lib": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz", + "integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==", + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + } + }, + "node_modules/pdf-lib/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/pdfjs-dist": { + "version": "3.11.174", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-3.11.174.tgz", + "integrity": "sha512-TdTZPf1trZ8/UFu5Cx/GXB7GZM30LT+wWUNfsi6Bq8ePLnb+woNKtDymI2mxZYBpMbonNFqKmiz684DIfnd8dA==", + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "canvas": "^2.11.2", + "path2d-polyfill": "^2.0.1" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "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": "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/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/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/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==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/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==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/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-up/node_modules/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", + "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", + "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.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "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.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "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-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-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/postcss-svgo/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/postcss-svgo/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/postcss-svgo/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/postcss-svgo/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/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/print-js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/print-js/-/print-js-1.6.0.tgz", + "integrity": "sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg==" + }, + "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/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "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-extra": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", + "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", + "dependencies": { + "react-is": "^16.3.2", + "warning": "^4.0.0" + }, + "peerDependencies": { + "react": ">=0.14.0" + } + }, + "node_modules/prop-types-extra/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/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/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==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/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==", + "engines": { + "node": ">= 0.10" + } + }, + "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/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "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/radix-ui": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/radix-ui/-/radix-ui-1.0.1.tgz", + "integrity": "sha512-qfGibbqtbOlxP3b+1JjbLUc8Q7+e9DL8gFycLtkBkoAQyUkKuHAEBfFUcyG5MaQHjqRuML+YLtt/R1/dUYQafQ==", + "dependencies": { + "@radix-ui/react-accessible-icon": "latest", + "@radix-ui/react-accordion": "latest", + "@radix-ui/react-alert-dialog": "latest", + "@radix-ui/react-aspect-ratio": "latest", + "@radix-ui/react-avatar": "latest", + "@radix-ui/react-checkbox": "latest", + "@radix-ui/react-collapsible": "latest", + "@radix-ui/react-context-menu": "latest", + "@radix-ui/react-dialog": "latest", + "@radix-ui/react-direction": "latest", + "@radix-ui/react-dropdown-menu": "latest", + "@radix-ui/react-hover-card": "latest", + "@radix-ui/react-label": "latest", + "@radix-ui/react-navigation-menu": "latest", + "@radix-ui/react-popover": "latest", + "@radix-ui/react-portal": "latest", + "@radix-ui/react-progress": "latest", + "@radix-ui/react-radio-group": "latest", + "@radix-ui/react-scroll-area": "latest", + "@radix-ui/react-select": "latest", + "@radix-ui/react-separator": "latest", + "@radix-ui/react-slider": "latest", + "@radix-ui/react-slot": "latest", + "@radix-ui/react-switch": "latest", + "@radix-ui/react-tabs": "latest", + "@radix-ui/react-toast": "latest", + "@radix-ui/react-toggle": "latest", + "@radix-ui/react-toggle-group": "latest", + "@radix-ui/react-toolbar": "latest", + "@radix-ui/react-tooltip": "latest", + "@radix-ui/react-visually-hidden": "latest" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "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/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/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/re-resizable": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/re-resizable/-/re-resizable-6.9.6.tgz", + "integrity": "sha512-0xYKS5+Z0zk+vICQlcZW+g54CcJTTmHluA7JUUgvERDxnKAnytylcyPsA+BSFi759s5hPlHmBRegFrwXs2FuBQ==", + "dependencies": { + "fast-memoize": "^2.5.1" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-app-polyfill/node_modules/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==" + }, + "node_modules/react-bootstrap": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.9.0.tgz", + "integrity": "sha512-dGh6fGjqR9MBzPOp2KbXJznt1Zy6SWepXYUdxMT18Zu/wJ73HCU8JNZe9dfzjmVssZYsJH9N3HHE4wAtQvNz7g==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@restart/hooks": "^0.4.9", + "@restart/ui": "^1.6.6", + "@types/react-transition-group": "^4.4.6", + "classnames": "^2.3.2", + "dom-helpers": "^5.2.1", + "invariant": "^2.2.4", + "prop-types": "^15.8.1", + "prop-types-extra": "^1.1.0", + "react-transition-group": "^4.4.5", + "uncontrollable": "^7.2.1", + "warning": "^4.0.3" + }, + "peerDependencies": { + "@types/react": ">=16.14.8", + "react": ">=16.14.0", + "react-dom": ">=16.14.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "dependencies": { + "@babel/runtime": "^7.12.13" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-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/react-dev-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/react-dev-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/react-dev-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/react-dev-utils/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/react-dev-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/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-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/react-dnd": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-16.0.1.tgz", + "integrity": "sha512-QeoM/i73HHu2XF9aKksIUuamHPDvRglEwdHL4jsp784BgUuWcg6mzfxT0QDdQz8Wj0qyRKx2eMg8iZtWvU4E2Q==", + "dependencies": { + "@react-dnd/invariant": "^4.0.1", + "@react-dnd/shallowequal": "^4.0.1", + "dnd-core": "^16.0.1", + "fast-deep-equal": "^3.1.3", + "hoist-non-react-statics": "^3.3.2" + }, + "peerDependencies": { + "@types/hoist-non-react-statics": ">= 3.3.1", + "@types/node": ">= 12", + "@types/react": ">= 16", + "react": ">= 16.14" + }, + "peerDependenciesMeta": { + "@types/hoist-non-react-statics": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-dnd-html5-backend": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-16.0.1.tgz", + "integrity": "sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw==", + "dependencies": { + "dnd-core": "^16.0.1" + } + }, + "node_modules/react-dnd-multi-backend": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/react-dnd-multi-backend/-/react-dnd-multi-backend-8.0.3.tgz", + "integrity": "sha512-IwH7Mf6R05KIFohX0hHMTluoAvuUD8SO15KCD+9fY0nJ4nc1FGCMCSyMZw8R1XNStKp+JnNg3ZMtiaf5DebSUg==", + "dependencies": { + "dnd-multi-backend": "^8.0.3", + "react-dnd-preview": "^8.0.3" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/LouisBrunner" + }, + "peerDependencies": { + "dnd-core": "^16.0.1", + "react": "^16.14.0 || ^17.0.2 || ^18.0.0", + "react-dnd": "^16.0.1", + "react-dom": "^16.14.0 || ^17.0.2 || ^18.0.0" + } + }, + "node_modules/react-dnd-preview": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/react-dnd-preview/-/react-dnd-preview-8.0.3.tgz", + "integrity": "sha512-s69Ro47QYDthDhj73iQ0VioMCjtlZ1AytKBDkQaHKm5DTjA8D2bIaFKCBQd330QEW0SIzqLJrZGCSlIY2xraJg==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/LouisBrunner" + }, + "peerDependencies": { + "react": "^16.14.0 || ^17.0.2 || ^18.0.0", + "react-dnd": "^16.0.1" + } + }, + "node_modules/react-dnd-touch-backend": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/react-dnd-touch-backend/-/react-dnd-touch-backend-16.0.1.tgz", + "integrity": "sha512-NonoCABzzjyWGZuDxSG77dbgMZ2Wad7eQiCd/ECtsR2/NBLTjGksPUx9UPezZ1nQ/L7iD130Tz3RUshL/ClKLA==", + "dependencies": { + "@react-dnd/invariant": "^4.0.1", + "dnd-core": "^16.0.1" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-draggable": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.6.tgz", + "integrity": "sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==", + "dependencies": { + "clsx": "^1.1.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": ">= 16.3.0", + "react-dom": ">= 16.3.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "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/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-native-crypto-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-native-crypto-js/-/react-native-crypto-js-1.0.0.tgz", + "integrity": "sha512-FNbLuG/HAdapQoybeZSoes1PWdOj0w242gb+e1R0hicf3Gyj/Mf8M9NaED2AnXVOX01b2FXomwUiw1xP1K+8sA==" + }, + "node_modules/react-pdf": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-7.4.0.tgz", + "integrity": "sha512-L2GIUc9eBLdb51DRqUe3zlkTmvOq7KQN5cKmgcrWdnWNwhYgrOGgpJQ3f56kG26G+B5GoasAHI6RjQrLfTjTnw==", + "dependencies": { + "clsx": "^2.0.0", + "make-cancellable-promise": "^1.3.1", + "make-event-props": "^1.6.0", + "merge-refs": "^1.2.1", + "pdfjs-dist": "3.11.174", + "prop-types": "^15.6.2", + "tiny-invariant": "^1.0.0", + "tiny-warning": "^1.0.0" + }, + "funding": { + "url": "https://github.com/wojtekmaj/react-pdf?sponsor=1" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-pdf/node_modules/clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-rnd": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/react-rnd/-/react-rnd-10.4.1.tgz", + "integrity": "sha512-0m887AjQZr6p2ADLNnipquqsDq4XJu/uqVqI3zuoGD19tRm6uB83HmZWydtkilNp5EWsOHbLGF4IjWMdd5du8Q==", + "dependencies": { + "re-resizable": "6.9.6", + "react-draggable": "4.4.5", + "tslib": "2.3.1" + }, + "peerDependencies": { + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + } + }, + "node_modules/react-rnd/node_modules/react-draggable": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz", + "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==", + "dependencies": { + "clsx": "^1.1.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": ">= 16.3.0", + "react-dom": ">= 16.3.0" + } + }, + "node_modules/react-rnd/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/react-router": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.16.0.tgz", + "integrity": "sha512-VT4Mmc4jj5YyjpOi5jOf0I+TYzGpvzERy4ckNSvSh2RArv8LLoCxlsZ2D+tc7zgjxcY34oTz2hZaeX5RVprKqA==", + "dependencies": { + "@remix-run/router": "1.9.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.16.0.tgz", + "integrity": "sha512-aTfBLv3mk/gaKLxgRDUPbPw+s4Y/O+ma3rEN1u8EgEpLpPe6gNjIsWt9rxushMHHMb7mSwxRGdGlGdvmFsyPIg==", + "dependencies": { + "@remix-run/router": "1.9.0", + "react-router": "6.16.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-scrollbars-custom": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/react-scrollbars-custom/-/react-scrollbars-custom-4.1.1.tgz", + "integrity": "sha512-FOI1EMrdN5qziwvFAuH4saOo0+ggxeTuKLPpy6nezNdLUnDW1vCHGq0VSSfTSRstDgfXgwff5TMP9NeJ8NiFOQ==", + "dependencies": { + "cnbuilder": "^3.1.0", + "react-draggable": "^4.4.5", + "zoom-level": "^2.5.0" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/xobotyi" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/react-signature-canvas": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/react-signature-canvas/-/react-signature-canvas-1.0.6.tgz", + "integrity": "sha512-NoMHomYu9HxFeLjUGbIeV9abPdWSROfFxFNDekGdwmmaIx+w5ziOEiU2C34X0Ao4GxFnwqyUy/BpYlA4lCD1CA==", + "dependencies": { + "signature_pad": "^2.3.2", + "trim-canvas": "^0.1.0" + }, + "peerDependencies": { + "prop-types": "^15.5.8", + "react": "0.14 - 18", + "react-dom": "0.14 - 18" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/reactour": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/reactour/-/reactour-1.19.1.tgz", + "integrity": "sha512-Y6MYZeNsnPQhUxV9U3dw6CU8qWjqOTlTTs64VsEHRXhrePV4+FZEASbiukf3TPC5PmabaF308VkT5hv9SVJNng==", + "dependencies": { + "@rooks/use-mutation-observer": "4.11.2", + "classnames": "2.3.1", + "focus-outline-manager": "^1.0.2", + "lodash.debounce": "4.0.8", + "lodash.pick": "4.4.0", + "prop-types": "15.7.2", + "react-focus-lock": "2.5.2", + "scroll-smooth": "1.1.1", + "scrollparent": "2.0.1" + }, + "peerDependencies": { + "react": "^16.3.0 || ^17.0.0-0 || ^18.0.0-0", + "react-dom": "^16.3.0 || ^17.0.0-0 || ^18.0.0-0", + "react-is": "^16.8 || ^17.0.0-0 || ^18.0.0-0", + "styled-components": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/reactour/node_modules/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + }, + "node_modules/reactour/node_modules/prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/reactour/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/reactour/node_modules/react-focus-lock": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.5.2.tgz", + "integrity": "sha512-WzpdOnEqjf+/A3EH9opMZWauag7gV0BxFl+EY4ElA4qFqYsUsBLnmo2sELbN5OC30S16GAWMy16B9DLPpdJKAQ==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^0.9.1", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.5", + "use-callback-ref": "^1.2.5", + "use-sidecar": "^1.0.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "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/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/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "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.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "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-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "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/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/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/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/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.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "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-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-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/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==" + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/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/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/restructure": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.0.tgz", + "integrity": "sha512-Xj8/MEIhhfj9X2rmD9iJ4Gga9EFqVlpMj3vfLnV2r/Mh5jRMryNV+6lWh9GdJtDBcBSPIqzRdfBQ3wDtNFv/uw==" + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "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/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/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/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/rollup-plugin-terser/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==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/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/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/safari-14-idb-fix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/safari-14-idb-fix/-/safari-14-idb-fix-3.0.0.tgz", + "integrity": "sha512-eBNFLob4PMq8JA1dGyFn6G97q3/WzNtFK4RnzT1fnLq+9RyrGknzYiM/9B12MnKAxuj1IXr7UKYtTNtjyKMBog==" + }, + "node_modules/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==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-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==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.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/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "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.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "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/scroll-smooth": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/scroll-smooth/-/scroll-smooth-1.1.1.tgz", + "integrity": "sha512-i9e/hJf0ODPEsy+AubE0zES6xdOuIvtebe5MvdSI1lB4t91k+O+8kV15CYfPN0yPH4j4hZUoKM3rVaPVcmiOoQ==" + }, + "node_modules/scrollparent": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/scrollparent/-/scrollparent-2.0.1.tgz", + "integrity": "sha512-HSdN78VMvFCSGCkh0oYX/tY4R3P1DW61f8+TeZZ4j2VLgfwvw0bpRSOv4PCVKisktIwbzHCfZsx+rLbbDBqIBA==" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/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/semver/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/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/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/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/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/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/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/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.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==", + "optional": true + }, + "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/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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==", + "peer": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "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-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/signature_pad": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-2.3.2.tgz", + "integrity": "sha512-peYXLxOsIY6MES2TrRLDiNg2T++8gGbpP2yaC+6Ohtxr+a2dzoaqWosWDY9sWqTAAk6E/TyQO+LJw9zQwyu5kA==" + }, + "node_modules/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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true + }, + "node_modules/simple-get": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "optional": true, + "dependencies": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "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/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "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/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "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.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "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-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "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/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/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/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==", + "optional": true, + "engines": { + "node": ">=0.10.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==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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/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-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "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-width/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/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/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "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": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/style-loader": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", + "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "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==", + "peer": true, + "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/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/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/svg-arc-to-cubic-bezier": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.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/tailwindcss": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "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==", + "optional": true, + "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/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "optional": true + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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.20.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.20.0.tgz", + "integrity": "sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ==", + "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.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "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/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/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==", + "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==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, + "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/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-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-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/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-canvas": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/trim-canvas/-/trim-canvas-0.1.2.tgz", + "integrity": "sha512-nd4Ga3iLFV94mdhW9JFMLpQbHUyCQuhFOD71PEAt1NjtMD5wbZctzhX8c3agHNybMR5zXD1XTGoIEWk995E6pQ==" + }, + "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==" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/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==", + "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/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/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/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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-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==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "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/uncontrollable": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", + "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", + "dependencies": { + "@babel/runtime": "^7.6.3", + "@types/react": ">=16.9.11", + "invariant": "^2.2.4", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": ">=15.0.0" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + }, + "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-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "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/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unicode-trie/node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "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/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/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "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/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/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==", + "engines": { + "node": ">= 0.4.0" + } + }, + "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-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/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==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite-compatible-readable-stream": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/vite-compatible-readable-stream/-/vite-compatible-readable-stream-3.6.1.tgz", + "integrity": "sha512-t20zYkrSf868+j/p31cRIGN28Phrjm3nRSLR2fyc2tiWi4cZGVdv68yNlwnIINTkMTmPoMiSlc0OadaO7DXZaQ==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "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==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "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/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "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==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@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.14.5", + "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.7", + "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-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/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/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/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/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/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/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/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/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/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/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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/webpack/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/webpack/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/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "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==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/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/whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==" + }, + "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==" + }, + "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==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "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-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-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/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/workbox-build/node_modules/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==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/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/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/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==" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/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/workbox-webpack-plugin/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/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.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": "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==", + "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": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "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/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==" + }, + "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/xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", + "engines": { + "node": ">=0.4.0" + } + }, + "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/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "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": "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/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/zoom-level": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/zoom-level/-/zoom-level-2.5.0.tgz", + "integrity": "sha512-7UlRWU4Q3uCMCeDVMOm7eBrIu145OqsIJ3p6zq58l8UsSYwKWxc6zEapC5YA9tIeh0oheb4cT9Kk2Wq353loFg==", + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/xobotyi" + } + } + } +} diff --git a/microfrontends/SignDocuments/package.json b/microfrontends/SignDocuments/package.json new file mode 100644 index 000000000..a420d32b2 --- /dev/null +++ b/microfrontends/SignDocuments/package.json @@ -0,0 +1,60 @@ +{ + "name": "signmicroapp", + "version": "0.1.0", + "private": true, + "dependencies": { + "@radix-ui/themes": "^1.1.2", + "@react-pdf/renderer": "^3.1.9", + "@testing-library/jest-dom": "^5.17.0", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "axios": "^1.5.1", + "file-saver": "^2.0.5", + "gh-pages": "^6.0.0", + "mf-cra": "^0.0.5", + "parse": "^4.2.0", + "pdf-lib": "^1.17.1", + "print-js": "^1.6.0", + "radix-ui": "^1.0.1", + "react": "^18.2.0", + "react-bootstrap": "^2.9.0", + "react-dnd": "^16.0.1", + "react-dnd-html5-backend": "^16.0.1", + "react-dnd-multi-backend": "^8.0.3", + "react-dnd-touch-backend": "^16.0.1", + "react-dom": "^18.2.0", + "react-draggable": "^4.4.6", + "react-pdf": "^7.4.0", + "react-rnd": "^10.4.1", + "react-router-dom": "^6.16.0", + "react-scripts": "5.0.1", + "react-scrollbars-custom": "^4.1.1", + "react-signature-canvas": "^1.0.6", + "reactour": "^1.19.1", + "web-vitals": "^2.1.4" + }, + "scripts": { + "start": "mf-cra start", + "build": "CI=false && mf-cra build && mv build ../../apps/OpenSign/public/mfbuild", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/microfrontends/SignDocuments/public/favicon.ico b/microfrontends/SignDocuments/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/public/index.html b/microfrontends/SignDocuments/public/index.html new file mode 100644 index 000000000..bf27a008e --- /dev/null +++ b/microfrontends/SignDocuments/public/index.html @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + OpenSign App + + + +
+ + + + diff --git a/microfrontends/SignDocuments/public/logo192.png b/microfrontends/SignDocuments/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/public/manifest.json b/microfrontends/SignDocuments/public/manifest.json new file mode 100644 index 000000000..080d6c77a --- /dev/null +++ b/microfrontends/SignDocuments/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/microfrontends/SignDocuments/public/robots.txt b/microfrontends/SignDocuments/public/robots.txt new file mode 100644 index 000000000..e9e57dc4d --- /dev/null +++ b/microfrontends/SignDocuments/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/microfrontends/SignDocuments/src/App.js b/microfrontends/SignDocuments/src/App.js new file mode 100644 index 000000000..93a37b40d --- /dev/null +++ b/microfrontends/SignDocuments/src/App.js @@ -0,0 +1,51 @@ +import React from "react"; +import { HashRouter } from "react-router-dom"; +import AppRoutes from "./Routes"; +import { HTML5Backend } from "react-dnd-html5-backend"; +import { TouchBackend } from "react-dnd-touch-backend"; +import { + DndProvider, + TouchTransition, + MouseTransition, + Preview +} from "react-dnd-multi-backend"; +import DragElement from "./Component/component/DragElement"; +export default function App() { + const HTML5toTouch = { + backends: [ + { + id: "html5", + backend: HTML5Backend, + transition: MouseTransition, + }, + { + id: "touch", + backend: TouchBackend, + options: { enableMouseEvents: true }, + preview: true, + transition: TouchTransition, + }, + ], + }; + const generatePreview = (props) => { + const { item, style } = props; + const newStyle = { + ...style, + }; + + return ( +
+ +
+ ); + }; + + return ( + + {generatePreview} + + + + + ); +} diff --git a/microfrontends/SignDocuments/src/Component/Certificate/Certificate.js b/microfrontends/SignDocuments/src/Component/Certificate/Certificate.js new file mode 100644 index 000000000..28d193793 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/Certificate/Certificate.js @@ -0,0 +1,280 @@ +import React, { useEffect, useState } from "react"; +import "./certificate.css"; + +import { Page, Text, View, Document, StyleSheet } from "@react-pdf/renderer"; + +function Certificate({ pdfData }) { + const [isMultiSigners, setIsMultiSigners] = useState(); + const [multiSigner, setMultiSigners] = useState([]); + const [isLoad, setIsLoad] = useState(false); + + useEffect(() => { + handleSignerData(); + }, []); + + const handleSignerData = () => { + const checkSigners = pdfData.filter((data) => data.Signers); + if (checkSigners && checkSigners.length > 0) { + setIsMultiSigners(true); + + const checkSignSigners = + pdfData[0].AuditTrail && + pdfData[0].AuditTrail.length > 0 && + pdfData[0].AuditTrail.filter((data) => data.Activity === "Signed"); + + setMultiSigners(checkSignSigners); + } else { + setIsMultiSigners(false); + } + setIsLoad(true); + }; + + const styles = StyleSheet.create({ + page: { + borderRadius: "5px", + padding: "10px", + backgroundColor: "white", + }, + section1: { + border: "1px solid rgb(177, 174, 174)", + padding: "20px", + }, + textStyle: { + fontWeight: "bold", + fontSize: "11px", + marginBottom: "10px", + }, + textStyle2: { + fontWeight: "600", + fontSize: "11px", + marginBottom: "10px", + color: "gray", + }, + }); + + const generatedDate = () => { + const newDate = new Date(); + const localExpireDate = newDate.toLocaleDateString("en-US", { + day: "numeric", + month: "long", + year: "numeric", + }); + + var currentOffset = newDate.getTimezoneOffset(); + + var ISTOffset = 330; // IST offset UTC +5:30 + + var ISTTime = new Date( + newDate.getTime() + (ISTOffset + currentOffset) * 60000 + ); + + // ISTTime now represents the time in IST coordinates + + var hoursIST = ISTTime.getHours(); + var minutesIST = ISTTime.getMinutes(); + + return ( + + Generated On {localExpireDate} {hoursIST}:{minutesIST} IST + + ); + }; + const changeCompletedDate = () => { + const completedOn = pdfData[0].updatedAt; + const newDate = new Date(completedOn); + const localExpireDate = newDate.toLocaleDateString("en-US", { + day: "numeric", + month: "long", + year: "numeric", + }); + + var currentOffset = newDate.getTimezoneOffset(); + + var ISTOffset = 330; // IST offset UTC +5:30 + + var ISTTime = new Date( + newDate.getTime() + (ISTOffset + currentOffset) * 60000 + ); + + // ISTTime now represents the time in IST coordinates + + var hoursIST = ISTTime.getHours(); + var minutesIST = ISTTime.getMinutes(); + + return ( + + {localExpireDate} {hoursIST}:{minutesIST} IST + + ); + }; + + const signerName = (data) => { + const getSignerName = pdfData[0].Signers.filter( + (sign) => sign.objectId === data.UserPtr.objectId + ); + + return ( + getSignerName[0] && + getSignerName.length > 0 && ( + <> + + Name :   + {getSignerName[0].Name} + + + Email :   + {getSignerName[0].Email} + + + ) + ); + }; + + return ( + isLoad && ( + + {/** Page defines a single page of content. */} + + + {generatedDate()} + + + {" "} + Certificate of Completion + + + + + + Summary + + + + + Document ID :   + {pdfData[0].objectId} + + + Document Name :   + {pdfData[0].Name} + + + Organization :   + __ + + + Completed on :  {changeCompletedDate()} + + {multiSigner && multiSigner.length > 0 && ( + + Signers :   + + {multiSigner.length} + + + )} + + {isMultiSigners ? ( + + + Recipients + + + + {multiSigner && multiSigner.map((data, ind) => { + return ( + + + {signerName(data)} + + + Accessed from :   + + {data.ipAddress} + + + + ); + })} + + + ) : ( + + + Recipients + + + Signers :  1 + + + Name :   + + {pdfData[0].ExtUserPtr.Name} + + + + Accessed from :   + + {pdfData[0].AuditTrail && pdfData[0].AuditTrail[0].ipAddress} + + + + + Signed on :  {changeCompletedDate()} + + + )} + + + + + + ) + ); +} + +export default Certificate; diff --git a/microfrontends/SignDocuments/src/Component/Certificate/certificate.css b/microfrontends/SignDocuments/src/Component/Certificate/certificate.css new file mode 100644 index 000000000..6d491ca7b --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/Certificate/certificate.css @@ -0,0 +1,9 @@ +.containerBox { + border-radius: 5px; + padding: 10px; +} + +.certificateBox { + border: 1px solid rgb(177, 174, 174); + padding: 20px; +} \ No newline at end of file diff --git a/microfrontends/SignDocuments/src/Component/DraftDocument.js b/microfrontends/SignDocuments/src/Component/DraftDocument.js new file mode 100644 index 000000000..f6c5c09a4 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/DraftDocument.js @@ -0,0 +1,137 @@ +import React, { useEffect, useState } from "react"; +import axios from "axios"; +import { useNavigate } from "react-router-dom"; +import Loader from "./component/loader"; +import { getHostUrl } from "../utils/Utils"; +function DraftDocument() { + const navigate = useNavigate(); + const [pdfDetails, setPdfDetails] = useState([]); + const [isLoading, setIsLoading] = useState({ + isLoad: true, + message: "This might take some time", + }); + + const rowLevel = + localStorage.getItem("rowlevel") && + JSON.parse(localStorage.getItem("rowlevel")); + const signObjId = + rowLevel && rowLevel?.id + ? rowLevel.id + : rowLevel?.objectId && rowLevel.objectId; + useEffect(() => { + if (signObjId) { + getDocumentDetails(); + } + }, []); + + //get document details + const getDocumentDetails = async () => { + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document?where={"objectId":"${signObjId}"}&include=ExtUserPtr,Signers`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + // console.log("res", res); + if (res[0] && res.length > 0) { + setPdfDetails(res); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } else { + alert("No data found!"); + } + }) + .catch((err) => { + console.log("axois err ", err); + }); + }; + + //check document type and render on signyour self and placeholder route + const handleDraftDoc = () => { + const data = pdfDetails[0]; + const checkSignerExist = + pdfDetails[0] && pdfDetails[0].Signers && pdfDetails[0].Signers; + const isPlaceholder = + pdfDetails[0].Placeholders && pdfDetails[0].Placeholders; + const isDecline = data.IsDeclined && data.IsDeclined; + const signUrl = data.SignedUrl && data.SignedUrl; + const expireDate = pdfDetails[0] && pdfDetails[0].ExpiryDate.iso && pdfDetails[0].ExpiryDate.iso; + const expireUpdateDate = new Date(expireDate).getTime(); + const currDate = new Date().getTime(); + const hostUrl = getHostUrl(); + + //checking document is completed and signer exist then navigate to pdfRequestFiles file + if (data.IsCompleted && checkSignerExist) { + // window.location.hash = `/pdfRequestFiles`; + + navigate(`${hostUrl}pdfRequestFiles`); + } + //checking document is completed and signer does not exist then navigate to recipientSignPdf file + else if (data.IsCompleted && !checkSignerExist) { + // window.location.hash = `/recipientSignPdf/${data.objectId}/${data.ExtUserPtr.Phone}`; + navigate( + `${hostUrl}recipientSignPdf/${data.objectId}/${data.ExtUserPtr.Phone}` + ); + } + //checking document is declined by someone then navigate to pdfRequestFiles file + else if (isDecline) { + // window.location.hash = `/pdfRequestFiles`; + navigate(`${hostUrl}pdfRequestFiles`); + } + //checking document has expired and signers exist and placeholder does not set yet then navigate to pdfRequestFiles file + //draft type request sign document + else if ( + currDate > expireUpdateDate && + checkSignerExist && + !isPlaceholder + ) { + // window.location.hash = `/placeHolderSign`; + navigate(`${hostUrl}placeHolderSign`); + } + //checking document has expired and signers does not exist and document not signed yet then navigate to pdfRequestFiles file + //draft type signyouselfdocument + else if ( + currDate > expireUpdateDate && + !checkSignerExist && + !isPlaceholder && + !signUrl + ) { + // window.location.hash = `/signaturePdf`; + navigate(`${hostUrl}signaturePdf`); + } + //checking document has expired and signers exist and document then navigate to pdfRequestFiles file + else if (currDate > expireUpdateDate) { + // window.location.hash = `/pdfRequestFiles`; + navigate(`${hostUrl}pdfRequestFiles`); + } + //checking document has expired not been expired yet and signers exist and placeholder does not set yet then navigate to pdfRequestFiles file + //draft type request sign document + else if (!signUrl && checkSignerExist) { + navigate(`${hostUrl}placeHolderSign`); + // window.location.hash = `/placeHolderSign`; + } else { + // window.location.hash = `/signaturePdf/`; + navigate(`${hostUrl}signaturePdf/`); + } + }; + + return ( +
+ {isLoading.isLoad ? : handleDraftDoc()} +
+ ); +} + +export default DraftDocument; diff --git a/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js b/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js new file mode 100644 index 000000000..20e0ce2c3 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js @@ -0,0 +1,608 @@ +import React, { useState, useEffect, useRef } from "react"; +import folder from "../../../assests/folder.png"; +import "../LegaDrive.css"; +import draftDoc from "../../../assests/draftDoc1.png"; +import pdfLogo from "../../../assests/pdf3.png"; +import axios from "axios"; +import * as ContextMenu from "@radix-ui/react-context-menu"; +import { saveAs } from "file-saver"; +import { getHostUrl } from "../../../utils/Utils"; +import { useNavigate } from "react-router-dom"; +import Table from "react-bootstrap/Table"; +import * as HoverCard from "@radix-ui/react-hover-card"; + +function PdfFileComponent({ + pdfData, + setFolderName, + setDocId, + setIsLoading, + setPdfData, + isList, +}) { + const [rename, setRename] = useState(""); + const [renameValue, setRenameValue] = useState(""); + const inputRef = useRef(null); + + const navigate = useNavigate(); + + //to focus input box on press rename to change doc name + useEffect(() => { + if (rename && inputRef.current) { + // console.log("ref", inputRef.current) + setTimeout(() => { + inputRef.current.focus(); + }, 10); + } + }, [rename]); + + //function to handle folder component + const handleOnclikFolder = (data) => { + const folderData = { + name: data.Name, + objectId: data.objectId, + }; + setFolderName((prev) => [...prev, folderData]); + const loadObj = { + isLoad: true, + message: "This might take some time", + }; + + setIsLoading(loadObj); + setDocId(data.objectId); + }; + //function for change doc name and update doc name in _document class + const handledRenameDoc = async (data) => { + setRename(""); + const trimmedValue = renameValue.trim(); + + if (trimmedValue.length > 0) { + const updateName = { + Name: renameValue, + }; + const docId = data.objectId; + + const docData = pdfData; + + const updatedData = docData.map((item) => { + if (item.objectId === docId) { + // If the item's ID matches the target ID, update the name + return { ...item, Name: renameValue }; + } + // If the item's ID doesn't match, keep it unchanged + return item; + }); + + setPdfData(updatedData); + await axios + .put( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document/${docId}`, + updateName, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((result) => { + // const res = result.data; + // console.log("res", res); + }) + .catch((err) => { + console.log("error updating field is decline ", err); + }); + } + }; + + //function for navigate user to microapp-signature component + const checkPdfStatus = async (data) => { + // console.log("document", data); + const hostUrl = getHostUrl(); + const expireDate = data.ExpiryDate.iso; + const expireUpdateDate = new Date(expireDate).getTime(); + const currDate = new Date().getTime(); + const signerExist = data.Signers && data.Signers; + const signUrl = data.SignedUrl && data.SignedUrl; + const isDecline = data.IsDeclined && data.IsDeclined; + const isPlaceholder = data.Placeholders && data.Placeholders; + //checking and navigate to signyouself page + const checkPlaceHolder = data.Placeholders; + //checking if document has completed + if (data.IsCompleted && signerExist) { + navigate(`${hostUrl}pdfRequestFiles/${data.objectId}`); + + // window.location.hash = `/pdfRequestFiles/${data.objectId}`; + } else if (data.IsCompleted && !signerExist) { + navigate( + `${hostUrl}recipientSignPdf/${data.objectId}/${data.ExtUserPtr.Phone}` + ); + // window.location.hash = `/recipientSignPdf/${data.objectId}/${data.ExtUserPtr.Phone}`; + } + //checking if document has declined by someone + else if (isDecline) { + navigate(`${hostUrl}pdfRequestFiles/${data.objectId}`); + // window.location.hash = `/pdfRequestFiles/${data.objectId}`; + } else if (currDate > expireUpdateDate && signerExist && !isPlaceholder) { + // window.location.hash = `/placeHolderSign/${data.objectId}`; + navigate(`${hostUrl}placeHolderSign/${data.objectId}`); + } else if ( + currDate > expireUpdateDate && + !signerExist && + !isPlaceholder && + !signUrl + ) { + navigate(`${hostUrl}signaturePdf/${data.objectId}`); + // window.location.hash = `/signaturePdf/${data.objectId}`; + } + //checking if document has expired + else if (currDate > expireUpdateDate) { + navigate(`${hostUrl}pdfRequestFiles/${data.objectId}`); + // window.location.hash = `/pdfRequestFiles/${data.objectId}`; + } //checking if document is draft signers type and signers placeholder does not placed yet + else if (!signUrl && signerExist) { + // window.location.hash = `/placeHolderSign/${data.objectId}`; + navigate(`${hostUrl}placeHolderSign/${data.objectId}`); + } + //checking if document is request type and signers placeholder exist and does not completed yet + //then user can check progress of document and sign also + else if ( + checkPlaceHolder && + checkPlaceHolder.length > 0 && + !data.IsCompleted + ) { + navigate(`${hostUrl}pdfRequestFiles/${data.objectId}`); + // window.location.hash = `/pdfRequestFiles/${data.objectId}`; + } + //checking document is draft and signyourself type then user can sign document + else { + navigate(`${hostUrl}signaturePdf/${data.objectId}`); + // navigate(`/signaturePdf/${data.objectId}`); + // window.location.hash = `/signaturePdf/${data.objectId}`; + } + }; + + //component to handle type of document and render according to type + const handleFolderData = (data, ind, listType) => { + // console.log("data", data); + let createddate, + status, + isDecline, + signerExist, + isExpire, + isComplete, + signUrl, + isPlaceholder; + if (data.Type !== "Folder") { + const expireDate = data.ExpiryDate && data.ExpiryDate.iso; + const createdDate = data.createdAt && data.createdAt; + createddate = new Date(createdDate).toLocaleDateString(); + isComplete = data.IsCompleted && data.IsCompleted ? true : false; + isDecline = data.IsDeclined && data.IsDeclined; + isPlaceholder = data.Placeholders && data.Placeholders; + signerExist = data.Signers && data.Signers; + signUrl = data.SignedUrl && data.SignedUrl; + const expireUpdateDate = new Date(expireDate).getTime(); + const currDate = new Date().getTime(); + + if (currDate > expireUpdateDate) { + isExpire = true; + } else { + isExpire = false; + } + if (isComplete) { + status = "Completed"; + } else if (isDecline) { + status = "Declined"; + } else if (isExpire && !isPlaceholder && signerExist) { + // status = "Expired"; + status = "Draft"; + } else if (isExpire && !isPlaceholder && !signerExist && !signUrl) { + // status = "Expired"; + status = "Draft"; + } else if (isExpire) { + status = "Expired"; + } else if (!signUrl) { + status = "Draft"; + } else { + status = "InComplete"; + } + } + + const handleDraftDoc = (data) => { + window.location.hash = `/mf/remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9MZWdhR2VuaWUtTWljcm9hcHBWMi9yZW1vdGVFbnRyeS5qcw==&moduleToLoad=AppRoutes&remoteName=legageniemicroapp/legagenie?${data.objectId}`; + }; + + const handleMenuItemClick = (selectType, data) => { + // console.log("data",data) + if (selectType === "Download") { + // console.log("download") + const pdfName = data && data.Name; + const pdfUrl = data && data.SignedUrl ? data.SignedUrl : data.URL; + saveAs(pdfUrl, `${pdfName}_signed_by_opensign.qik.ai.pdf`); + } else if (selectType === "Rename") { + // console.log("rename") + setRenameValue(data.Name); + setRename(data.objectId); + } + }; + const handleEnterPress = (e, data) => { + if (e.key === "Enter") { + handledRenameDoc(data); + } + }; + + return listType === "table" ? ( + data.Type === "Folder" ? ( + handleOnclikFolder(data)}> + + + + + {data.Name} + + + _ + Folder + _ + _ + + ) : data.Type === "AIDoc" ? ( + handleDraftDoc(data)}> + + + + + {data.Name} + + + {createddate} + LegaGenie Draft + _ + _ + + ) : ( + checkPdfStatus(data)}> + + + + + {data.Name} + + + {createddate} + Pdf + {status} + + { + e.stopPropagation(); + handleMenuItemClick("Download", data); + }} + className="fa fa-download" + aria-hidden="true" + style={{ color: "#ed280e", marginRight: "8px" }} + > + + + ) + ) : listType === "list" && data.Type === "Folder" ? ( +
+ + +
+ no img handleOnclikFolder(data)} + src={folder} + width={100} + height={103} + /> + {rename === data.objectId ? ( + { + inputRef.current.setSelectionRange(0, 0); + const input = inputRef.current; + if (input) { + input.select(); + } + }} + autoFocus={true} + type="text" + // onFocus={()=>console.log("focus")} + onBlur={() => handledRenameDoc(data)} + onKeyDown={(e) => handleEnterPress(e, data)} + ref={inputRef} + defaultValue={renameValue} + // value={renameValue} + onChange={(e) => setRenameValue(e.target.value)} + style={{ + width: "100px", + border: "1.5px solid black", + borderRadius: "2px", + fontSize: "10px", + }} + /> + ) : ( + {data.Name} + )} +
+
+ + + + {/* handleMenuItemClick("Download", data)} + onSelect={(e) => console.log("event", e)} + className="ContextMenuItem" + > + Download + */} + + handleMenuItemClick("Rename", data)} + className="ContextMenuItem" + > + Rename + + + +
+
+ ) : data.Type === "AIDoc" ? ( +
+ + +
+ no img handleDraftDoc(data)} + src={draftDoc} + width={100} + height={103} + /> + {rename === data.objectId ? ( + { + inputRef.current.setSelectionRange(0, 0); + const input = inputRef.current; + if (input) { + input.select(); + } + }} + autoFocus={true} + type="text" + // onFocus={()=>console.log("focus")} + onBlur={() => handledRenameDoc(data)} + onKeyDown={(e) => handleEnterPress(e, data)} + ref={inputRef} + defaultValue={renameValue} + // value={renameValue} + onChange={(e) => setRenameValue(e.target.value)} + style={{ + width: "100px", + border: "1.5px solid black", + borderRadius: "2px", + fontSize: "10px", + }} + /> + ) : ( + {data.Name} + )} +
+
+ + + + {/* handleMenuItemClick("Download", data)} + onSelect={(e) => console.log("event", e)} + className="ContextMenuItem" + > + Download + */} + + handleMenuItemClick("Rename", data)} + className="ContextMenuItem" + > + Rename + + + +
+
+ ) : ( + + +
+ +
+ + PDF checkPdfStatus(data)} + /> + {rename === data.objectId ? ( + { + inputRef.current.setSelectionRange(0, 0); + const input = inputRef.current; + if (input) { + input.select(); + } + }} + onBlur={() => handledRenameDoc(data)} + onKeyDown={(e) => handleEnterPress(e, data)} + ref={inputRef} + defaultValue={renameValue} + // value={renameValue} + onChange={(e) => setRenameValue(e.target.value)} + style={{ + width: "100px", + border: "1.5px solid black", + borderRadius: "2px", + fontSize: "10px", + }} + /> + ) : ( + {data.Name} + )} + + {status === "Completed" ? ( +
+ +
+ ) : status === "Declined" ? ( +
+ +
+ ) : status === "Expired" ? ( +
+ +
+ ) : status === "Draft" ? ( +
+ +
+ ) : ( + status === "InComplete" && ( +
+ +
+ ) + )} +
+ + + + handleMenuItemClick("Download", data)} + onSelect={(e) => console.log("event", e)} + className="ContextMenuItem" + > + Download + + + handleMenuItemClick("Rename", data)} + className="ContextMenuItem" + > + Rename + + + +
+
+
+ + + Title: + + {" "} + {data.Name} + +
+ Status: + {status} +
+ Created Date: + {createddate} +
+ {signerExist && ( + <> + Signers: + {signerExist.map((data, key) => { + return ( + + {data.Name}, + + ); + })} + + )} + +
+
+
+ ); + }; + //component to handle type of document and render according to type + + return isList ? ( +
+ + + + + + + + + + + + {pdfData.map((data, ind) => { + return ( + + {handleFolderData(data, ind, "table")} + + ); + })} + +
NameCreated DateTypeStatusAction
+
+ ) : ( +
+ {pdfData.map((data, ind) => { + return ( +
+ {handleFolderData(data, ind, "list")} +
+ ); + })} +
+ ); +} + +export default PdfFileComponent; diff --git a/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.css b/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.css new file mode 100644 index 000000000..e86310a9a --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.css @@ -0,0 +1,530 @@ +@import '@radix-ui/colors/black-alpha.css'; +@import '@radix-ui/colors/mauve.css'; +@import '@radix-ui/colors/violet.css'; + + + +.ContextMenuContent, +.ContextMenuSubContent { + min-width: 150px; + background-color: white; + border-radius: 6px; + overflow: hidden; + padding: 5px; + box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2); +} + +.ContextMenuItem, +.ContextMenuCheckboxItem, +.ContextMenuRadioItem, +.ContextMenuSubTrigger { + font-size: 13px; + line-height: 1; + color: var(--violet-11); + border-radius: 3px; + display: flex; + align-items: center; + height: 25px; + padding: 0 5px; + position: relative; + padding-left: 25px; + user-select: none; + outline: none; +} + +.ContextMenuSubTrigger[data-state='open'] { + background-color: gray; + color: var(--violet-11); +} + +.ContextMenuItem[data-disabled], +.ContextMenuCheckboxItem[data-disabled], +.ContextMenuRadioItem[data-disabled], +.ContextMenuSubTrigger[data-disabled] { + color: var(--mauve-8); + pointer-events: 'none'; +} + +.ContextMenuItem[data-highlighted], +.ContextMenuCheckboxItem[data-highlighted], +.ContextMenuRadioItem[data-highlighted], +.ContextMenuSubTrigger[data-highlighted] { + background-color: #dad9db; + color: var(--violet-11); +} + +.ContextMenuLabel { + padding-left: 25px; + font-size: 12px; + line-height: 25px; + color: var(--mauve-11); +} + + +.ContextMenuItemIndicator { + position: absolute; + left: 0; + width: 25px; + display: inline-flex; + align-items: center; + justify-content: center; +} + +.RightSlot { + margin-left: auto; + padding-left: 20px; + color: var(--mauve-11); +} + +[data-highlighted]>.RightSlot { + color: white; +} + +[data-disabled] .RightSlot { + color: var(--mauve-8); +} + + +.dropdown-menu { + + min-width: 10rem; + +} + + +.dropdown-item { + display: block; + width: 100%; + padding: 0.3rem 1.2rem; + clear: both; + font-weight: 400; + color: #393a39; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + + +.dropdown-item:hover { + background-color: #dad9db; + color: var(--violet-11); + +} + +.itemColor { + font-size: 13px !important; +} + + + +.folderComponent { + margin: 30px; + height: 100%; +} + +.folderComponent::-webkit-scrollbar { + display: none; + /* for Chrome, Safari, and Opera */ +} + +.modal { + margin-top: 50px; +} + +.folderBox { + /* box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; + margin: 10px ; + padding: 5px 0px 5px 40px; */ + /* overflow: scroll; + display: flex; + justify-content: space-between; + width: 200px; */ + margin: 10px; + /* box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px; */ + + + +} + +.folderContainer { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center +} + +/* .folderBox:hover{ + box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; + font-weight: bold; + } */ +.pdfName { + font-size: 10px; + font-weight: 600; +} + +.viewbotton { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + padding: 8px 20px; + color: white; + font-weight: 600; + font-size: 14px; + border: none; + border-radius: 2px; + margin-left: 10px; +} + +.viewbotton:focus { + border: none; + outline: none; +} + +.folderRender { + display: flex; + flex-direction: column; + + justify-content: center; + align-items: center; + cursor: pointer; + position: relative; + width: 100px; + height: 100px; + margin: 20px; + display: inline-block; + +} + +.pdfContainer { + display: flex; + flex-direction: row; + flex-wrap: wrap; + margin-top: 20px; + align-items: center; + + justify-content: space-around +} + +.pdfContainer .box:last-child { + margin-left: 0; + /* Override the margin on the last box */ + margin-right: auto; + /* Align it to the start */ +} + +.icon-container { + position: relative; + width: 100px; + height: 100px; + margin: 10px; + display: inline-block; + + cursor: pointer +} + +.hrStyle { + margin-top: 0rem !important; + margin-bottom: 0rem !important; + border: 0; + border-top: 1px solid rgba(0, 0, 0, .1); +} + +.pdf-icon { + width: 100%; + height: 100%; +} + +.status-badge { + position: absolute; + top: 0; + right: 0; + background-color: #fff; + + width: 24px; + height: 24px; + display: flex; + justify-content: center; + align-items: center; + border-radius: 50%; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + +} + +.status-badge i { + font-size: 12px; +} + +/* Status-specific colors */ +.completed { + background-color: #4CAF50; + color: #fff; +} + +.in-progress { + background-color: #FFC107; + color: #fff; +} + +.declined { + background-color: #F44336; + color: #fff; +} + +.expired { + background-color: #9E9E9E; + color: #fff; +} + +.draft { + background-color: #079cdc; + color: #fff; +} + +.add { + background-color: #05bbdb; + color: #fff; + padding: 8px 15px; + text-align: center; + display: flex; + margin: 5px; +} + +.sort { + padding: 8px 15px; + margin: 5px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + +} + +.sort:hover { + box-shadow: 0 2px 4px rgba(168, 204, 206, 0.1); + background-color: var(--mauve-3); + border-radius: 2px; +} + +/* Hover effect */ +.info-box { + position: absolute; + + bottom: 100%; + left: 0; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 4px; + padding: 5px; + width: 180px; + display: none; + z-index: 10; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + text-align: center; + +} + +.icon-container:hover .info-box { + display: block; + +} + +.folderRender:hover .info-box { + display: block; +} + +.info-box:hover { + z-index: 999; +} + + + +.addFolderInput { + padding: 10px; + + border-radius: 4px; + /* width: 440px; */ + font-size: 15px; + + border: 0.5px solid rgb(198, 195, 195); +} + +.tooltip-inner { + background-color: #fff; + border: 1px solid black; + font-weight: 600; + opacity: 1 !important; + color: rgb(0, 0, 0); + border-radius: 3px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + font-size: 12px; +} + +.fileName { + display: inline-block; + width: 100px; + white-space: nowrap; + overflow: hidden !important; + text-overflow: ellipsis; + font-size: 11px; + text-align: center; + font-weight: 480; +} + +.foldName { + display: inline-block; + width: 100px; + white-space: nowrap; + overflow: hidden !important; + text-overflow: ellipsis; + font-size: 11px; + text-align: center; + font-weight: 480; +} + +.statusSpan { + + font-size: 12px; + font-weight: 500; +} + + +a { + all: unset; +} + +.HoverCardContent { + border-radius: 6px; + padding: 5px 10px; + width: 170px; + background-color: white; + box-shadow: hsl(206 22% 7% / 35%) 0px 10px 38px -10px, hsl(206 22% 7% / 20%) 0px 10px 20px -15px; + animation-duration: 400ms; + animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); + will-change: transform, opacity; + text-align: center; + align-items: center; +} + +.HoverCardContent[data-side='top'] { + animation-name: slideDownAndFade; +} + +.HoverCardContent[data-side='right'] { + animation-name: slideLeftAndFade; +} + +.HoverCardContent[data-side='bottom'] { + animation-name: slideUpAndFade; +} + +.HoverCardContent[data-side='left'] { + animation-name: slideRightAndFade; +} + +.HoverCardArrow { + fill: white; +} + + + +@keyframes slideUpAndFade { + 0% { + opacity: 0; + transform: translateY(2px); + } + + 100% { + opacity: 1; + transform: translateY(0); + } +} + +@keyframes slideRightAndFade { + 0% { + opacity: 0; + transform: translateX(-2px); + } + + 100% { + opacity: 1; + transform: translateX(0); + } +} + +@keyframes slideDownAndFade { + 0% { + opacity: 0; + transform: translateY(-2px); + } + + 100% { + opacity: 1; + transform: translateY(0); + } +} + +@keyframes slideLeftAndFade { + 0% { + opacity: 0; + transform: translateX(2px); + } + + 100% { + opacity: 1; + transform: translateX(0); + } +} + +.dropMenuBD { + display: flex; + flex-direction: row; + align-items: center; + + +} + +.dropMenuSS { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + display: none; +} + + .folderPath{ + overflow-x: auto; + white-space: nowrap; + + cursor: pointer; + user-select: none; + } + .folderPath::-webkit-scrollbar { + display: none; + /* for Chrome, Safari, and Opera */ +} + +@media (min-width: 310px) and (max-width:550px) { + + .pdfContainer { + justify-content: space-around; + } + .sort { +padding: 2px; + } + .folderComponent{ + margin: 10px; + } + +} + +@media screen and (max-width:309px) { + + .pdfContainer { + justify-content: center; + } + .sort { + padding: 2px; + } + .folderComponent{ + margin: 10px; + } +} \ No newline at end of file diff --git a/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.js b/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.js new file mode 100644 index 000000000..d27df51b0 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.js @@ -0,0 +1,722 @@ +import React, { useEffect, useState, useRef } from "react"; +import axios from "axios"; +import "./LegaDrive.css"; +import loader from "../../assests/loader2.gif"; +import PdfFileComponent from "./FolderDrive/legaDriveComponent"; +import Modal from "react-bootstrap/Modal"; +import ModalHeader from "react-bootstrap/esm/ModalHeader"; +import { themeColor, iconColor } from "../../utils/ThemeColor/backColor"; + +function PdfFile() { + const scrollRef = useRef(null); + const [isList, setIsList] = useState(false); + const [selectedSort, setSelectedSort] = useState("Date"); + const [sortingOrder, setSortingOrder] = useState("Decending"); + const [pdfData, setPdfData] = useState([]); + const [isFolder, setIsFolder] = useState(false); + const [newFolderName, setNewFolderName] = useState(); + // const [parentFolderName, setParentFolderName] = useState(); + // const [parentFolder, setParentFolder] = useState([]); + const [error, setError] = useState(); + const [folderLoader, setIsFolderLoader] = useState(false); + const [isShowSort, setIsShowSort] = useState(false); + const [isLoading, setIsLoading] = useState({ + isLoad: true, + message: "This might take some time", + }); + const [docId, setDocId] = useState(); + const [handleError, setHandleError] = useState(); + + const [folderName, setFolderName] = useState([]); + + const senderUser = + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ) && + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ); + const jsonSender = JSON.parse(senderUser); + + useEffect(() => { + if (docId) { + getPdfFolderDocumentList(); + } else { + getPdfDocumentList(); + } + }, [docId]); + + //function for get all pdf document list + const getPdfDocumentList = async () => { + const load = { + isLoad: true, + message: "This might take some time", + }; + setIsLoading(load); + //?where={"Type":"Folder" }&include=ExtUserPtr,Signers + //?where={"$or":[{"Type":{"$exists":true}},{"Folder":{"$exists":false}}]}&include=ExtUserPtr,Signers + // "CreatedBy":{"__type":"Pointer","className":"_User","objectId":"${jsonSender.objectId}"} + // where={"Folder":{"$exists":false} }&include=ExtUserPtr,Signers`, + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document?where={"Folder":{"$exists":false},"$or":[{"CreatedBy":{"$exists":false}},{"CreatedBy":{"__type":"Pointer","className":"_User","objectId":"${ + jsonSender.objectId + }"}}]}&include=ExtUserPtr,Signers`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + // console.log("result", res); + if (res[0] && res.length > 0) { + setPdfData(res); + } + + const data = [ + { + name: "OpenSignDriveâ„¢", + objectId: "", + }, + ]; + setFolderName(data); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + }) + .catch((err) => { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + }); + }; + //function for get parent folder document list + const getPdfFolderDocumentList = async () => { + const load = { + isLoad: true, + message: "This might take some time", + }; + setIsLoading(load); + //{"$inQuery":{"where":{"objectId":"${docId}"},"className":"${appName}_Document"}} + //"CreatedBy":{"__type":"Pointer","className":"_User","objectId":"${jsonSender.objectId}"} + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document?where={"Folder":{"__type":"Pointer","className":"${localStorage.getItem( + "_appName" + )}_Document","objectId":"${docId}"},"$or":[{"CreatedBy":{"$exists":false}},{"CreatedBy":{"__type":"Pointer","className":"_User","objectId":"${ + jsonSender.objectId + }"}}]}&include=ExtUserPtr,Signers,Folder`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + + if (res[0] && res.length > 0) { + setPdfData(res); + } else { + setPdfData([]); + } + + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + }) + .catch((err) => { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + }); + }; + + //function for get all pdf document list + const getParentFolder = async () => { + setIsFolder(true); + }; + //function for handle folder name path + const handleRoute = (data) => { + let loadObj = { + isLoad: true, + message: "This might take some time", + }; + if (data.name === "LegaDriveâ„¢") { + setIsLoading(loadObj); + if (docId) { + setDocId(); + } else { + setTimeout(() => { + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + }, 1000); + } + } else if (data.name === folderName[folderName.length - 1].name) { + setIsLoading(loadObj); + setTimeout(() => { + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + }, 1000); + } else { + // console.log("go here1",data.objectId) + const findIndex = folderName.findIndex( + (fold) => fold.objectId === data.objectId + ); + const newFolder = folderName.slice(0, findIndex + 1); + + setFolderName(newFolder); + const getLastId = newFolder[newFolder.length - 1]; + + setDocId(getLastId.objectId); + setIsLoading(loadObj); + } + }; + + //function for add new folder name + const handleFolderName = (e) => { + setError(); + const value = e.target.value; + setNewFolderName(value); + }; + //function for add folder + const handleAddFolder = async () => { + if (newFolderName) { + setIsFolderLoader(true); + + const getParentObjId = folderName[folderName.length - 1]; + const isParentId = getParentObjId && getParentObjId.objectId; + let data; + if (isParentId) { + data = { + Name: newFolderName, + Type: "Folder", + Folder: { + __type: "Pointer", + className: `${localStorage.getItem("_appName")}_Document`, + objectId: isParentId, + }, + }; + } else { + data = { + Name: newFolderName, + Type: "Folder", + }; + } + + // console.log("data", data); + await axios + .post( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document`, + data, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + + .then((Listdata) => { + // console.log("Listdata ", Listdata); + const json = Listdata.data; + // console.log("json ", json); + if (json) { + setNewFolderName(); + + setIsFolderLoader(false); + setIsFolder(false); + if (docId) { + getPdfFolderDocumentList(); + } else { + getPdfDocumentList(); + } + } + }) + .catch((err) => { + console.log("axois err ", err); + alert("something went wrong"); + }); + } else { + setError("Please fill out this field"); + } + }; + + const sortingApp = (appInfo, type, order) => { + if (type === "Name") { + if (order === "Accending") { + return appInfo.sort((a, b) => (a.Name > b.Name ? 1 : -1)); + } else if (order === "Decending") { + return appInfo.sort((a, b) => (a.Name > b.Name ? -1 : 1)); + } + } else if (type === "Date") { + if (order === "Accending") { + return appInfo.sort((a, b) => (a.createdAt > b.createdAt ? 1 : -1)); + } else if (order === "Decending") { + return appInfo.sort((a, b) => (a.createdAt > b.createdAt ? -1 : 1)); + } + } + }; + + const sortApps = () => { + const selectedSortType = selectedSort; + const sortOrder = sortingOrder; + + let sortingData = pdfData; + if (selectedSortType === "Name") { + sortingApp(sortingData, "Name", sortOrder); + } else if (selectedSortType === "Date") { + sortingApp(sortingData, "Date", sortOrder); + } + + setPdfData(sortingData); + }; + + //function for handle auto scroll on folder path + const handleMouseEnter = (e) => { + let side = ""; + const container = scrollRef.current; + const containerRect = container.getBoundingClientRect(); + const cursorX = e.clientX; + const containerX = containerRect.left; + const containerWidth = containerRect.width; + + // Define a threshold (e.g., 10 pixels) for the start and end points + const threshold = 10; + + if (cursorX - containerX <= threshold) { + side = "start"; + } else if (containerX + containerWidth - cursorX <= threshold) { + side = "end"; + } else { + side = ""; + } + + const scrollSpeed = 10; + let scrollAmount = 0; + + const scroll = () => { + if (side === "start" && container.scrollLeft > 0) { + container.scrollLeft -= scrollAmount; + requestAnimationFrame(scroll); + } else if ( + side === "end" && + container.scrollLeft < container.scrollWidth - container.clientWidth + ) { + container.scrollLeft += scrollAmount; + requestAnimationFrame(scroll); + } + }; + + container.addEventListener("mousemove", (e) => { + const rect = container.getBoundingClientRect(); + const x = e.clientX - rect.left; + const containerWidth = rect.width; + + // Calculate the scroll amount based on the cursor's position + scrollAmount = (x / containerWidth) * scrollSpeed; + }); + + scroll(); + }; + + //handle to close drop down menu onclick screen + useEffect(() => { + const closeMenuOnOutsideClick = (e) => { + if (isShowSort && !e.target.closest("#menu-container")) { + setIsShowSort(false); + } + }; + + document.addEventListener("click", closeMenuOnOutsideClick); + + return () => { + // Cleanup the event listener when the component unmounts + document.removeEventListener("click", closeMenuOnOutsideClick); + }; + }, [isShowSort]); + + return ( +
+
+ + + Add New Folder + {!folderLoader && ( + { + setNewFolderName(""); + setIsFolder(false); + }} + > + X + + )} + + + + {folderLoader ? ( +
+ loader img + + Loading... + +
+ ) : ( +
+ + + handleFolderName(e)} + // className="addFolderInput" + /> + {error} + +
+ + + +
+
+ )} +
+
+ + {isLoading.isLoad ? ( +
+ loader img + + {isLoading.message} + +
+ ) : handleError ? ( +
+ + {handleError} + +
+ ) : ( + <> +
+
handleMouseEnter(e)} + ref={scrollRef} + style={{ + width: "100%", + }} + className="folderPath" + > + {folderName.map((data, id) => { + return ( + handleRoute(data)} + style={{ + color: "#a64b4e", + fontWeight: "400", + cursor: "pointer", + }} + > + {data.name} + + > + + + ); + })} +
+
+ + +
+ {isList ? ( +
setIsList(!isList)}> + setIsList(!isList)} + className="fa fa-th-large" + style={{ fontSize: "24px", color: `${iconColor()}` }} + aria-hidden="true" + > +
+ ) : ( +
setIsList(!isList)}> + +
+ )} +
+ +
getParentFolder()}> + +
+
+
+ + {pdfData && pdfData.length === 0 ? ( +
+ No Data Found! +
+ ) : ( + + )} + + )} +
+
+ ); +} + +export default PdfFile; diff --git a/microfrontends/SignDocuments/src/Component/ManageSign.js b/microfrontends/SignDocuments/src/Component/ManageSign.js new file mode 100644 index 000000000..050ecb021 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/ManageSign.js @@ -0,0 +1,704 @@ +import React, { useState, useRef, useEffect } from "react"; +import SignatureCanvas from "react-signature-canvas"; +import redPen from "../assests/redPen.png"; +import bluePen from "../assests/bluePen.png"; +import blackPen from "../assests/blackPen.png"; +import "../css/custom.css"; +import "../css/signature.css"; +import axios from "axios"; +import { toDataUrl } from "../utils/toDataUrl"; + +// console.log("appName ", appName) +const ManageSign = () => { + let appName; + const [penColor, setPenColor] = useState("blue"); + const [initialPen, setInitialPen] = useState("blue"); + const [image, setImage] = useState(); + const [signName, setSignName] = useState(""); + const [signature, setSignature] = useState(""); + const [warning, setWarning] = useState(false); + const [nameWarning, setNameWarning] = useState(false); + const [isvalue, setIsValue] = useState(false); + const allColor = [bluePen, redPen, blackPen]; + const [isLoader, setIsLoader] = useState(true); + const [isSuccess, setIsSuccess] = useState(false); + const [Initials, setInitials] = useState(""); + const [isInitials, setIsInitials] = useState(false); + const [id, setId] = useState(""); + const canvasRef = useRef(null); + const imageRef = useRef(null); + const initailsRef = useRef(null); + useEffect(() => { + getLocalStorageValue(); + }, []); + + //function for get localstorage value first and than call another function. + const getLocalStorageValue = () => { + let User = JSON.parse( + localStorage.getItem( + "Parse/" + localStorage.getItem("parseAppId") + "/currentUser" + ) + ); + appName = + localStorage.getItem("_appName") && localStorage.getItem("_appName"); + if (User) { + fetchUserSign(User); + } + }; + + const fetchUserSign = async (User) => { + const userId = { + __type: "Pointer", + className: "_User", + objectId: User.objectId, + }; + const strObj = JSON.stringify(userId); + const url = + localStorage.getItem("baseUrl") + + `classes/${appName}_Signature?where={"UserId":${strObj}}&limit=1`; + + const headers = { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + // "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }; + const res = await axios + .get(url, { headers: headers }) + .then((res) => { + if (res.data.results.length > 0) { + setId(res.data.results[0].objectId); + setSignName(res.data.results[0].SignatureName); + // console.log(res.data.results[0].ImageURL); + setImage(res.data.results[0].ImageURL); + if (res.data.results[0] && res.data.results[0].Initials) { + setInitials(res.data.results[0].Initials); + setIsInitials(true); + } + } + setIsLoader(false); + return res; + }) + .catch((error) => { + console.log(error); + alert(`${error.message}`); + }); + return res; + }; + const handleSignatureChange = () => { + if (imageRef.current) { + imageRef.current.value = ""; + } + setImage(""); + setSignature(canvasRef.current.toDataURL()); + setIsValue(true); + }; + const handleClear = () => { + if (canvasRef.current) { + canvasRef.current.clear(); + } + if (imageRef.current) { + imageRef.current.value = ""; + } + setImage(""); + setSignature(""); + setIsValue(false); + }; + + const handleClearInitials = () => { + if (initailsRef.current) { + initailsRef.current.clear(); + } + setInitials(""); + setIsValue(true); + setIsInitials(false); + }; + + // const handleReset = () => { + // if (canvasRef.current) { + // canvasRef.current.clear(); + // } + // if (imageRef.current) { + // imageRef.current.value = ""; + // } + // setImage(""); + // setSignature(""); + // setIsValue(false); + // setSignName(""); + // }; + const onImageChange = async (event) => { + if (canvasRef.current) { + canvasRef.current.clear(); + } + setSignature(""); + if (event.target.files && event.target.files[0]) { + const file = event.target.files[0]; + const base64Img = await toDataUrl(file); + setImage(base64Img); + setIsValue(true); + } + }; + const handleSubmit = async (e) => { + e.preventDefault(); + const isUrl = image.includes("https"); + + if (!signName) { + setNameWarning(true); + // setTimeout(() => setNameWarning(false), 1000); + } else if (!isvalue) { + setWarning(true); + setTimeout(() => setWarning(false), 1000); + } else { + setIsLoader(true); + const replaceSpace = signName.replace(/ /g, "_"); + let file; + if (signature) { + file = base64StringtoFile(signature, `${replaceSpace}.png`); + } else { + if (!isUrl) { + file = base64StringtoFile(image, `${replaceSpace}.png`); + } + } + console.log("isUrl ", isUrl); + let imgUrl; + if (!isUrl) { + imgUrl = await uploadFile(file); + } else { + imgUrl = { data: { imageUrl: image } }; + } + let initialsUrl = ""; + if (Initials) { + const initialsImg = base64StringtoFile(Initials, `${replaceSpace}.png`); + initialsUrl = await uploadFile(initialsImg); + } + if (imgUrl.data && imgUrl.data.imageUrl) { + await saveEntry({ + name: signName, + url: imgUrl.data.imageUrl, + initialsUrl: initialsUrl, + }); + } + } + }; + function base64StringtoFile(base64String, filename) { + var arr = base64String.split(","), + mime = arr[0].match(/:(.*?);/)[1], + bstr = atob(arr[1]), + n = bstr.length, + u8arr = new Uint8Array(n); + while (n--) { + u8arr[n] = bstr.charCodeAt(n); + } + return new File([u8arr], filename, { type: mime }); + } + + const uploadFile = async (file) => { + let parseBaseUrl = localStorage.getItem("baseUrl"); + parseBaseUrl = parseBaseUrl.slice(0, -4); + const url = parseBaseUrl + `file_upload`; + const formData = new FormData(); + formData.append("file", file); + const config = { + headers: { + "content-type": "multipart/form-data", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + }, + onUploadProgress: function (progressEvent) { + let percentCompleted = Math.round( + (progressEvent.loaded * 100) / progressEvent.total + ); + // setpercentage(percentCompleted); + }, + }; + const response = await axios + .post(url, formData, config) + .then((res) => { + if (res.data.status === "Error") { + alert(res.data.message); + } + return res; + }) + .catch((error) => { + console.log(error); + setIsLoader(false); + alert(`${error.message}`); + }); + return response; + }; + + const saveEntry = async (obj) => { + if (id) { + const User = JSON.parse( + localStorage.getItem( + "Parse/" + localStorage.getItem("parseAppId") + "/currentUser" + ) + ); + const url = + localStorage.getItem("baseUrl") + + `classes/${localStorage.getItem("_appName")}_Signature/${id}`; + const body = { + Initials: obj.initialsUrl ? obj.initialsUrl.data.imageUrl : "", + ImageURL: obj.url, + SignatureName: obj.name, + UserId: { + __type: "Pointer", + className: "_User", + objectId: User.objectId, + }, + }; + const headers = { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + // "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }; + const res = await axios + .put(url, body, { headers: headers }) + .then((res) => { + // handleReset(); + setIsLoader(false); + setIsSuccess(true); + return res; + }) + .catch((error) => { + console.log(error); + setIsLoader(false); + alert(`${error.message}`); + }); + return res; + } else { + const User = JSON.parse( + localStorage.getItem( + "Parse/" + localStorage.getItem("parseAppId") + "/currentUser" + ) + ); + const url = + localStorage.getItem("baseUrl") + + `classes/${localStorage.getItem("_appName")}_Signature`; + const body = { + Initials: obj.initialsUrl ? obj.initialsUrl.data.imageUrl : "", + ImageURL: obj.url, + SignatureName: obj.name, + UserId: { + __type: "Pointer", + className: "_User", + objectId: User.objectId, + }, + }; + const headers = { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + // "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }; + const res = await axios + .post(url, body, { headers: headers }) + .then((res) => { + // handleReset(); + setIsLoader(false); + setIsSuccess(true); + return res; + }) + .catch((error) => { + console.log(error); + setIsLoader(false); + alert(`${error.message}`); + }); + return res; + } + }; + const handleSignatureBtn = () => { + if (imageRef.current) { + imageRef.current.value = ""; + } + setImage(""); + }; + const handleUploadBtn = () => { + imageRef.current.click(); + }; + const handleInitialsChange = () => { + setInitials(initailsRef.current.toDataURL()); + setIsValue(true); + }; + return ( +
+ {isSuccess && ( +
setIsSuccess(false)} + > + Signature saved successfully! +
+ )} + +
+
+
+ Manage Signature +
+
+ + setNameWarning(false)} + onChange={(e) => setSignName(e.target.value)} + /> + + +
+
+
+
+
+
+ <> + handleSignatureBtn()} + className="signature" + > + Signature + + + + handleUploadBtn()} + className="imgupload" + > + Upload Image + + +
+
+
+
+ {image ? ( +
+ preview image +
+ ) : ( + + handleSignatureChange(canvasRef.current.toDataURL()) + } + dotSize={1} + /> + )} +
+
+ {!image && ( +
+ {allColor.map((data, key) => { + return ( + black img { + if (key == 0) { + setPenColor("blue"); + } else if (key == 1) { + setPenColor("red"); + } else if (key == 2) { + setPenColor("black"); + } + }} + key={key} + src={data} + width={20} + height={20} + /> + ); + })} +
+ )} +
+
+
handleClear()} + > + Clear +
+
+
+
+ {warning && ( +
+ {" "} + Please upload signature/Image +
+ )} +
+
+
+
+
+ handleSignatureBtn()} + className="signature" + > + Initials + +
+
+ {isInitials ? ( +
+ preview image +
+ ) : ( + + handleInitialsChange(initailsRef.current.toDataURL()) + } + dotSize={1} + /> + )} +
+
+ {!isInitials && ( +
+ {allColor.map((data, key) => { + return ( + { + if (key == 0) { + setInitialPen("blue"); + } else if (key == 1) { + setInitialPen("red"); + } else if (key == 2) { + setInitialPen("black"); + } + }} + key={key} + src={data} + width={20} + height={20} + /> + ); + })} +
+ )} +
+
+
handleClearInitials()} + > + Clear +
+
+
+
+ {/* {!warning && ( +
+ {" "} + Please upload signature/Image +
+ )} */} +
+
+
+ +
+
+ {isLoader && ( +
+
+
+ )} +
+
+ ); +}; + +export default ManageSign; diff --git a/microfrontends/SignDocuments/src/Component/PdfRequestFiles.js b/microfrontends/SignDocuments/src/Component/PdfRequestFiles.js new file mode 100644 index 000000000..f99299197 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/PdfRequestFiles.js @@ -0,0 +1,1173 @@ +import React, { useState, useRef, useEffect } from "react"; +import { themeColor } from "../utils/ThemeColor/backColor"; + +import { PDFDocument, rgb } from "pdf-lib"; +import "../css/signature.css"; +import axios from "axios"; +import ModalHeader from "react-bootstrap/esm/ModalHeader"; +import Modal from "react-bootstrap/Modal"; +import loader from "../assests/loader2.gif"; +import { DndProvider } from "react-dnd"; +import { HTML5Backend } from "react-dnd-html5-backend"; +import { useParams } from "react-router-dom"; +import SignPad from "./component/signPad"; +import RenderAllPdfPage from "./component/renderAllPdfPage"; +import { + contactBook, + contractUsers, + getBase64FromIMG, + getBase64FromUrl, +} from "../utils/Utils"; +import Loader from "./component/loader"; +import HandleError from "./component/HandleError"; +import Nodata from "./component/Nodata"; +import Header from "./component/header"; +import RenderPdf from "./component/renderPdf"; + +function PdfRequestFiles() { + + const { docId } = useParams(); + const [pdfDetails, setPdfDetails] = useState([]); + const [signedSigners, setSignedSigners] = useState([]); + const [unsignedSigners, setUnSignedSigners] = useState([]); + const [isSignPad, setIsSignPad] = useState(false); + const [pdfUrl, setPdfUrl] = useState(); + const [allPages, setAllPages] = useState(null); + const numPages = 1; + const [pageNumber, setPageNumber] = useState(1); + const [image, setImage] = useState(null); + const [isImageSelect, setIsImageSelect] = useState(false); + const [signature, setSignature] = useState(); + const [isStamp, setIsStamp] = useState(false); + const [signKey, setSignKey] = useState(); + const [imgWH, setImgWH] = useState({}); + const imageRef = useRef(null); + const [handleError, setHandleError] = useState(); + const [isLoading, setIsLoading] = useState({ + isLoad: true, + message: "This might take some time", + }); + const [defaultSignImg, setDefaultSignImg] = useState(); + const [isDocId, setIsDocId] = useState(false); + const [pdfNewWidth, setPdfNewWidth] = useState(); + const [pdfOriginalWidth, setPdfOriginalWidth] = useState(); + const [signerPos, setSignerPos] = useState([]); + const [noData, setNoData] = useState(false); + const [signerObjectId, setSignerObjectId] = useState(); + const [isUiLoading, setIsUiLoading] = useState(false); + const [isDecline, setIsDecline] = useState({ isDeclined: false }); + const [currentSigner, setCurrentSigner] = useState(false); + const [isCompleted, setIsCompleted] = useState({ + isCertificate: false, + isModal: false, + }); + const [isSigned, setIsSigned] = useState(false); + const [isExpired, setIsExpired] = useState(false); + + const rowLevel = + localStorage.getItem("rowlevel") && + JSON.parse(localStorage.getItem("rowlevel")); + + const objectId = + rowLevel && rowLevel.id + ? rowLevel.id + : rowLevel?.objectId && rowLevel.objectId; + const documentId = docId ? docId : objectId && objectId; + + const senderUser = + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ) && + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ); + const jsonSender = JSON.parse(senderUser); + + useEffect(() => { + const clientWidth = window.innerWidth; + const value = docId ? 80 : 30; + const pdfWidth = clientWidth - 160 - 200 - value; + //160 is width of left side, 200 is width of right side component and 50 is space of middle compoent + //pdf from left and right component + setPdfNewWidth(pdfWidth); + if (documentId) { + getDocumentDetails(); + } + }, []); + + //function for get document details for perticular signer with signer'object id + const getDocumentDetails = async () => { + const contractUsersRes = await contractUsers(jsonSender.objectId); + + if (contractUsersRes && contractUsersRes[0]) { + const objId = contractUsersRes[0].objectId; + + setSignerObjectId(objId); + } else if (contractUsersRes === "Error: Something went wrong!") { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + } else if (contractUsersRes.length === 0) { + const contractContactBook = await contactBook(jsonSender.objectId); + if (contractContactBook && contractContactBook[0]) { + const objId = contractUsersRes[0].objectId; + + setSignerObjectId(objId); + } + } + + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document?where={"objectId":"${documentId}"}&include=ExtUserPtr,Signers,UserPtr`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + // console.log("res", res); + if (res[0] && res.length > 0) { + const isCompleted = res[0].IsCompleted && res[0].IsCompleted; + const expireDate = res[0].ExpiryDate.iso; + const declined = res[0].IsDeclined && res[0].IsDeclined; + const expireUpdateDate = new Date(expireDate).getTime(); + const currDate = new Date().getTime(); + if (res[0].SignedUrl) { + setPdfUrl(res[0].SignedUrl); + } else { + setPdfUrl(res[0].URL); + } + if (isCompleted) { + setIsSigned(true); + const data = { + isCertificate: true, + isModal: true, + }; + setIsCompleted(data); + } else if (declined) { + const currentDecline = { + currnt: "another", + isDeclined: true, + }; + setIsDecline(currentDecline); + } else if (currDate > expireUpdateDate) { + setIsExpired(true); + } + + if (res.length > 0) { + const checkDocIdExist = + json.results[0].AuditTrail && + json.results[0].AuditTrail.length > 0 && + json.results[0].AuditTrail.filter( + (data) => data.Activity === "Signed" + ); + + let signers = []; + let unSignedSigner = []; + + //check document is signed or not + if (checkDocIdExist && checkDocIdExist.length > 0) { + setIsDocId(true); + const signerRes = res[0].Signers; + //comparison auditTrail user details with signers user details + for (let i = 0; i < signerRes.length; i++) { + const signerId = signerRes[i].objectId; + // console.log("getSigner", getSigner); + let isSigned = false; + for (let j = 0; j < checkDocIdExist.length; j++) { + const signedExist = + checkDocIdExist[j] && checkDocIdExist[j].UserPtr.objectId; + //checking signerObjId and auditTrail User objId + // if match then add signed data in signer array and break loop + + if (signerId === signedExist) { + // console.log("signedExist", signedExist); + signers.push({ ...signerRes[i], ...signerRes[i] }); + isSigned = true; + break; + } + // if does not match then add unsigned data in unSignedSigner array + } + if (!isSigned) { + unSignedSigner.push({ ...signerRes[i], ...signerRes[i] }); + } + + // console.log("check Signers status",signers,unSignedSigner) + } + setSignedSigners(signers); + setUnSignedSigners(unSignedSigner); + + setSignerPos(res[0].Placeholders); + } else { + let unsigned = []; + // console.log("else condition"); + for (let i = 0; i < res.length; i++) { + unsigned.push(res[i].Signers); + } + setUnSignedSigners(unsigned[0]); + setSignerPos(res[0].Placeholders); + } + + setPdfDetails(res); + + setIsUiLoading(false); + } else { + alert("No data found!"); + } + } else { + // alert("No data found!"); + setNoData(true); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + setIsUiLoading(false); + } + }) + .catch((err) => { + console.log("err", err); + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + }); + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Signature?where={"UserId": {"__type": "Pointer","className": "_User", "objectId":"${ + jsonSender.objectId + }"}}`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + + if (res[0] && res.length > 0) { + setDefaultSignImg(res[0].ImageURL); + } + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + }) + .catch((err) => { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + }); + }; + + // console.log("signer", signerPos, unsignedSigners, isCompleted); + //function for embed signature or image url in pdf + async function embedImages() { + const checkUser = signerPos.filter( + (data) => data.signerObjId === signerObjectId + ); + + if (checkUser && checkUser.length > 0) { + let checkSignUrl = []; + const checkSign = checkUser[0].placeHolder.filter( + (data, ind) => data.pos + ); + for (let i = 0; i < checkSign.length; i++) { + const posData = checkSign[i].pos.filter((pos) => !pos.SignUrl); + + if (posData && posData.length > 0) { + checkSignUrl.push(posData); + } + } + + if (checkSignUrl && checkSignUrl.length > 0) { + alert("Please complete your signature!"); + } else { + setIsUiLoading(true); + + const url = pdfUrl; + + const pngUrl = checkUser[0].placeHolder; + + // Load a PDFDocument from the existing PDF bytes + const existingPdfBytes = await fetch(url).then((res) => + res.arrayBuffer() + ); + + const pdfDoc = await PDFDocument.load(existingPdfBytes, { + ignoreEncryption: true, + }); + let pdfBase64; + + //checking if signature is only one then send image url in jpeg formate to server + if (pngUrl.length === 1 && pngUrl[0].pos.length === 1) { + // console.log("else condition"); + if (isDocId) { + pdfBase64 = await getBase64FromUrl(url); + } else { + for (let i = 0; i < allPages; i++) { + const font = await pdfDoc.embedFont("Helvetica"); + + const fontSize = 10; + const textContent = + documentId && `OpenSignâ„¢ DocumentId: ${documentId}`; + // console.log("textcontent", documentId); + const pages = pdfDoc.getPages(); + const page = pages[i]; + + page.drawText(textContent, { + x: 10, + y: page.getHeight() - 10, + size: fontSize, + font, + color: rgb(0.5, 0.5, 0.5), + }); + } + pdfBase64 = await pdfDoc.saveAsBase64({ + useObjectStreams: false, + }); + } + + for (let i = 0; i < pngUrl.length; i++) { + const imgUrlList = pngUrl[i].pos; + const pageNo = pngUrl[i].pageNumber; + imgUrlList.map(async (data) => { + //cheking signUrl is defau;t signature url of custom url + let ImgUrl = data.SignUrl; + const checkUrl = ImgUrl.includes("https:"); + + //if default signature url then convert it in base 64 + if (checkUrl) { + ImgUrl = await getBase64FromIMG(ImgUrl + "?get"); + } + //function for called convert png signatre to jpeg in base 64 + const convertPNGtoJPEG = (base64Data) => { + return new Promise((resolve, reject) => { + const canvas = document.createElement("canvas"); + const img = new Image(); + img.src = base64Data; + + img.onload = () => { + canvas.width = img.width; + canvas.height = img.height; + + const ctx = canvas.getContext("2d"); + ctx.drawImage(img, 0, 0); + + // Convert to JPEG by using the canvas.toDataURL() method + const jpegBase64Data = canvas.toDataURL("image/jpeg"); + + resolve(jpegBase64Data); + }; + + img.onerror = (error) => { + reject(error); + }; + }); + }; + + convertPNGtoJPEG(ImgUrl) + .then((jpegBase64Data) => { + const removeBase64Fromjpeg = "data:image/jpeg;base64,"; + const newImgUrl = jpegBase64Data.replace( + removeBase64Fromjpeg, + "" + ); + + //function for call to embed signature in pdf and get digital signature pdf + signPdfFun( + newImgUrl, + documentId, + data, + pdfBase64, + pageNo, + pngUrl + ); + }) + .catch((error) => { + console.error("Error:", error); + }); + }); + } + } + //else if signature is more than one then embed all sign with the use of pdf-lib + else if (pngUrl.length > 0 && pngUrl[0].pos.length > 0) { + for (let i = 0; i < allPages; i++) { + const font = await pdfDoc.embedFont("Helvetica"); + + const fontSize = 10; + const textContent = + documentId && `OpenSignâ„¢ DocumentId: ${documentId} `; + + const pages = pdfDoc.getPages(); + const page = pages[i]; + + page.drawText(textContent, { + x: 10, + y: page.getHeight() - 10, + size: fontSize, + font, + color: rgb(0.5, 0.5, 0.5), + }); + } + + for (let i = 0; i < pngUrl.length; i++) { + const pageNo = pngUrl[i].pageNumber; + + const imgUrlList = pngUrl[i].pos; + const pages = pdfDoc.getPages(); + const page = pages[pageNo - 1]; + + const images = await Promise.all( + imgUrlList.map(async (url) => { + let signUrl = url.SignUrl; + + const checkUrl = url.SignUrl.includes("https:"); + if (checkUrl) { + signUrl = signUrl + "?get"; + } + const res = await fetch(signUrl); + + return res.arrayBuffer(); + }) + ); + images.forEach(async (imgData, id) => { + let img; + if ( + imgUrlList[id].ImageType && + imgUrlList[id].ImageType === "image/jpeg" + ) { + img = await pdfDoc.embedJpg(imgData); + } else if ( + imgUrlList[id].ImageType && + imgUrlList[id].ImageType === "image/png" + ) { + img = await pdfDoc.embedPng(imgData); + } else { + img = await pdfDoc.embedPng(imgData); + } + + const imgHeight = imgUrlList[id].Height + ? imgUrlList[id].Height + : 60; + const imgWidth = imgUrlList[id].Width + ? imgUrlList[id].Width + : 150; + + page.drawImage(img, { + x: imgUrlList[id].xPosition, + y: page.getHeight() - imgUrlList[id].yPosition - imgHeight, + width: imgWidth, + height: imgHeight, + }); + }); + } + const pdfBytes = await pdfDoc.saveAsBase64({ + useObjectStreams: false, + }); + + signPdfFun(pdfBytes, documentId, pngUrl); + } + + setIsSignPad(false); + } + } else { + console.log("something went wrong!"); + alert("something went wrong!"); + } + } + + //function for call cloud function signPdf and generate digital signature + const signPdfFun = async ( + base64Url, + documentId, + xyPosData, + pdfBase64Url, + pageNo, + signerData + ) => { + let signgleSign; + + if ( + signerData && + signerData.length === 1 && + signerData[0].pos.length === 1 + ) { + const height = xyPosData.Height ? xyPosData.Height : 60; + const bottomY = xyPosData.isDrag + ? xyPosData.yBottom - height + : xyPosData.yBottom - height + xyPosData.firstYPos; + signgleSign = { + pdfFile: pdfBase64Url, + docId: documentId, + sign: { + Base64: base64Url, + Left: xyPosData.resizeXPos + ? xyPosData.resizeXPos + : xyPosData.xPosition, + Bottom: bottomY, + Width: xyPosData.Width ? xyPosData.Width : 150, + Height: height, + Page: pageNo, + }, + }; + } else if ( + xyPosData && + xyPosData.length > 0 && + xyPosData[0].pos.length > 0 + ) { + signgleSign = { + pdfFile: base64Url, + docId: documentId, + }; + } + + await axios + .post( + `${localStorage.getItem("baseUrl")}functions/signPdf`, + signgleSign, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + sessionToken: localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + + if (json.result.data) { + setPdfUrl(json.result.data); + setIsSigned(true); + setSignedSigners([]); + setUnSignedSigners([]); + getDocumentDetails(); + } + }) + .catch((err) => { + // this.setState({ loading: false }); + console.log("axois err ", err); + alert("something went wrong"); + }); + }; + //function for get pdf page details + const pageDetails = async (pdf) => { + pdf.getPage(1).then((pdfPage) => { + const pageWidth = pdfPage.view[2]; + + setPdfOriginalWidth(pageWidth); + }); + }; + + //function for change page + function changePage(offset) { + setPageNumber((prevPageNumber) => prevPageNumber + offset); + } + + const getFirstLetter = (name) => { + const firstLetter = name.charAt(0); + return firstLetter; + }; + //function for image upload or update + const onImageChange = (event) => { + if (event.target.files && event.target.files[0]) { + // setIsSignPad(false); + + const imageType = event.target.files[0].type; + + const reader = new FileReader(); + reader.readAsDataURL(event.target.files[0]); + + reader.onloadend = function (e) { + let width, height; + const image = new Image(); + + image.src = e.target.result; + image.onload = function () { + width = image.width; + height = image.height; + const aspectRatio = 460 / 184; + const imgR = width / height; + + if (imgR > aspectRatio) { + width = 460; + height = 460 / imgR; + } else { + width = 184 * imgR; + height = 184; + } + setImgWH({ width: width, height: height }); + imageRef.current.style.width = `${width}px`; + imageRef.current.style.height = `${height}px`; + }; + + image.src = reader.result; + + setImage({ src: image.src, imgType: imageType }); + }; + } + }; + //function for upload stamp image + const onSaveImage = () => { + const currentSigner = signerPos.filter( + (data) => data.signerObjId === signerObjectId + ); + + const i = currentSigner[0].placeHolder.findIndex((object) => { + return object.pageNumber === pageNumber; + }); + const updateFilter = currentSigner[0].placeHolder[i].pos.filter( + (data) => + data.key === signKey && data.Width && data.Height && data.SignUrl + ); + + if (updateFilter.length > 0) { + let newWidth, nweHeight; + const aspectRatio = imgWH.width / imgWH.height; + const getXYdata = currentSigner[0].placeHolder[i].pos; + if (aspectRatio === 1) { + newWidth = aspectRatio * 100; + nweHeight = aspectRatio * 100; + } else if (aspectRatio < 2) { + newWidth = aspectRatio * 100; + nweHeight = 100; + } else if (aspectRatio > 2 && aspectRatio < 4) { + newWidth = aspectRatio * 70; + nweHeight = 70; + } else if (aspectRatio > 4) { + newWidth = aspectRatio * 40; + nweHeight = 40; + } else if (aspectRatio > 5) { + newWidth = aspectRatio * 10; + nweHeight = 10; + } + const getPosData = getXYdata; + const addSign = getPosData.map((url, ind) => { + if (url.key === signKey) { + return { + ...url, + Width: newWidth, + Height: nweHeight, + SignUrl: image.src, + ImageType: image.imgType, + }; + } + return url; + }); + + const newUpdateUrl = currentSigner[0].placeHolder.map((obj, ind) => { + if (ind === i) { + return { ...obj, pos: addSign }; + } + return obj; + }); + currentSigner[0].placeHolder.splice(i, 1, newUpdateUrl[0]); + const indexofSigner = signerPos.findIndex((object) => { + return object.signerObjId === signerObjectId; + }); + signerPos.splice(indexofSigner, 1, currentSigner[0]); + } else { + const getXYdata = currentSigner[0].placeHolder[i].pos; + + const getPosData = getXYdata; + + const aspectRatio = imgWH.width / imgWH.height; + + let newWidth, nweHeight; + if (aspectRatio === 1) { + newWidth = aspectRatio * 100; + nweHeight = aspectRatio * 100; + } else if (aspectRatio < 2) { + newWidth = aspectRatio * 100; + nweHeight = 100; + } else if (aspectRatio > 2 && aspectRatio < 4) { + newWidth = aspectRatio * 70; + nweHeight = 70; + } else if (aspectRatio > 4) { + newWidth = aspectRatio * 40; + nweHeight = 40; + } else if (aspectRatio > 5) { + newWidth = aspectRatio * 10; + nweHeight = 10; + } + + const addSign = getPosData.map((url, ind) => { + if (url.key === signKey) { + return { + ...url, + Width: newWidth, + Height: nweHeight, + SignUrl: image.src, + ImageType: image.imgType, + }; + } + return url; + }); + + const newUpdateUrl = currentSigner[0].placeHolder.map((obj, ind) => { + if (ind === i) { + return { ...obj, pos: addSign }; + } + return obj; + }); + + currentSigner[0].placeHolder.splice(i, 1, newUpdateUrl[0]); + const indexofSigner = signerPos.findIndex((object) => { + return object.signerObjId === signerObjectId; + }); + signerPos.splice(indexofSigner, 1, currentSigner[0]); + } + }; + + //function for save button to save signature or image url + const onSaveSign = (isDefaultSign) => { + const signatureImg = isDefaultSign ? defaultSignImg : signature; + setIsSignPad(false); + setIsImageSelect(false); + setImage(); + + const currentSigner = signerPos.filter( + (data) => data.signerObjId === signerObjectId + ); + + const i = currentSigner[0].placeHolder.findIndex((object) => { + return object.pageNumber === pageNumber; + }); + + let updateFilter; + + updateFilter = currentSigner[0].placeHolder[i].pos.filter( + (data) => data.key === signKey && data.SignUrl + ); + + if (updateFilter.length > 0) { + updateFilter[0].SignUrl = signatureImg; + } else { + const getXYdata = currentSigner[0].placeHolder[i].pos; + const getPosData = getXYdata; + const addSign = getPosData.map((url, ind) => { + if (url.key === signKey) { + return { ...url, SignUrl: signatureImg }; + } + return url; + }); + + const newUpdateUrl = currentSigner[0].placeHolder.map((obj, ind) => { + if (obj.pageNumber === pageNumber) { + return { ...obj, pos: addSign }; + } + return obj; + }); + + // currentSigner[0].placeHolder.splice(i, 1, newUpdateUrl[0]); + // console.log("currentSigner sign", currentSigner); + const newUpdatePos = currentSigner.map((obj, ind) => { + if (obj.signerObjId === signerObjectId) { + return { ...obj, placeHolder: newUpdateUrl }; + } + return obj; + }); + let signerupdate = []; + signerupdate = signerPos.filter( + (data) => data.signerObjId !== signerObjectId + ); + signerupdate.push(newUpdatePos[0]); + setSignerPos(signerupdate); + } + }; + + const checkSignerBackColor = (obj) => { + const data = signerPos.filter((data) => data.signerObjId === obj.objectId); + return data && data.length > 0 && data[0].blockColor; + }; + + //function for set decline true on press decline button + const declineDoc = async () => { + const data = { + IsDeclined: true, + }; + setIsUiLoading(true); + + await axios + .put( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document/${documentId}`, + data, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((result) => { + const res = result.data; + if (res) { + const currentDecline = { + currnt: "YouDeclined", + isDeclined: true, + }; + setIsDecline(currentDecline); + setIsUiLoading(false); + } + }) + .catch((err) => { + console.log("error updating field is decline ", err); + }); + }; + + // console.log("unsigned", unsignedSigners, signerObjectId,isExpired); + + return ( + + {isLoading.isLoad ? ( + + ) : handleError ? ( + + ) : noData ? ( + + ) : ( +
+ {isUiLoading && ( +
+ no img + + This might take some time + +
+ )} + +
+ {/* this component used to render all pdf pages in left side */} + + + {/* pdf render view */} +
500 && "20px", + marginRight: pdfOriginalWidth > 500 && "20px", + }} + > + + + Document Expired! + + + +

+ This Document is no longer available. +

+
+
+ {/* this modal is used for show decline alert */} + + + Document Declined Alert! + + + + {isDecline.currnt === "Sure" ? ( +

+ Are you sure want to decline this document ? +

+ ) : isDecline.currnt === "YouDeclined" ? ( +

You have declined this document!

+ ) : ( + isDecline.currnt === "another" && ( +

+ You cannot sign this document as it has been declined by + one or more person(s). +

+ ) + )} +
+ + {isDecline.currnt === "Sure" && ( + <> + + + + )} + +
+ {/* this modal is used show this document is already sign */} + + + + Sign Documents + + + +

+ This document has been signed by all Sigers. +

+
+ + + + +
+ {/* this component is used for signature pad modal */} + + {/* pdf header which contain funish back button */} +
+ + +
+
+
+ {signedSigners.length > 0 && ( + <> +
+ Signed By +
+
+ {signedSigners.map((obj, ind) => { + return ( +
+
+ + {" "} + {getFirstLetter(obj.Name)} + +
+
+ {obj.Name} + {obj.Email} +
+
+ ); + })} +
+ + )} + + {unsignedSigners.length > 0 && ( + <> +
0 && "20px", + }} + > + Yet To Sign +
+
+ {unsignedSigners.map((obj, ind) => { + return ( +
+
+ + {" "} + {getFirstLetter(obj.Name)} + +
+
+ {obj.Name} + {obj.Email} +
+
+
+ ); + })} +
+ + )} +
+
+
+
+ )} +
+ ); +} + +export default PdfRequestFiles; diff --git a/microfrontends/SignDocuments/src/Component/SignYourselfPdf.js b/microfrontends/SignDocuments/src/Component/SignYourselfPdf.js new file mode 100644 index 000000000..8a25152e8 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/SignYourselfPdf.js @@ -0,0 +1,1229 @@ +import React, { useState, useRef, useEffect } from "react"; + +import { PDFDocument, rgb } from "pdf-lib"; +import "../css/./signature.css"; +import sign from "../assests/sign3.png"; +import stamp from "../assests/stamp2.png"; +import { themeColor } from "../utils/ThemeColor/backColor"; +import axios from "axios"; +import Loader from "./component/loader"; +import RenderAllPdfPage from "./component/renderAllPdfPage"; +import { DndProvider } from "react-dnd"; +import { HTML5Backend } from "react-dnd-html5-backend"; +import { useDrag, useDrop } from "react-dnd"; +import SignPad from "./component/signPad"; +import EmailComponent from "./component/emailComponent"; +import FieldsComponent from "./component/fieldsComponent"; +import Modal from "react-bootstrap/Modal"; +import ModalHeader from "react-bootstrap/esm/ModalHeader"; +import { getBase64FromIMG } from "../utils/Utils"; +import { useParams } from "react-router-dom"; +import Tour from "reactour"; +import { onSaveImage, onSaveSign } from "../utils/Utils"; +import Signedby from "./component/signedby"; +import HandleError from "./component/HandleError"; +import Nodata from "./component/Nodata"; +import Header from "./component/header"; +import RenderPdf from "./component/renderPdf"; +import { contractUsers, contactBook } from "../utils/Utils"; +//For signYourself inProgress section signer can add sign and complete doc sign. +function SignYourSelf() { + // pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`; + + const [pdfDetails, setPdfDetails] = useState([]); + const [isSignPad, setIsSignPad] = useState(false); + const [allPages, setAllPages] = useState(null); + const [pdfUrl, setPdfUrl] = useState(); + const [xyPostion, setXyPostion] = useState([]); + const [defaultSignImg, setDefaultSignImg] = useState(); + const numPages = 1; + const [pageNumber, setPageNumber] = useState(1); + const [image, setImage] = useState(null); + const [isImageSelect, setIsImageSelect] = useState(false); + const [signature, setSignature] = useState(); + const [isStamp, setIsStamp] = useState(false); + const [isEmail, setIsEmail] = useState(false); + const [signBtnPosition, setSignBtnPosition] = useState([]); + const [xySignature, setXYSignature] = useState({}); + const signRef = useRef(null); + const dragRef = useRef(null); + const [dragKey, setDragKey] = useState(); + const [signKey, setSignKey] = useState(); + const [imgWH, setImgWH] = useState({}); + const [isCeleb, setIsCeleb] = useState(false); + const [pdfNewWidth, setPdfNewWidth] = useState(); + const [pdfOriginalWidth, setPdfOriginalWidth] = useState(); + const [successEmail, setSuccessEmail] = useState(false); + const imageRef = useRef(null); + const [documentStatus, setDocumentStatus] = useState({ isCompleted: false }); + const [isLoading, setIsLoading] = useState({ + isLoad: true, + message: "This might take some time", + }); + const [handleError, setHandleError] = useState(); + const [isDragging, setIsDragging] = useState(false); + const [signTour, setSignTour] = useState(true); + const { docId } = useParams(); + const [checkTourStatus, setCheckTourStatus] = useState(false); + const [signerUserId, setSignerUserId] = useState(); + const [tourStatus, setTourStatus] = useState([]); + const [noData, setNoData] = useState(false); + const [contractName, setContractName] = useState(""); + const [showAlreadySignDoc, setShowAlreadySignDoc] = useState({ + status: false, + }); + + const nodeRef = useRef(null); + const [{ isOver }, drop] = useDrop({ + accept: "BOX", + drop: (item, monitor) => addPositionOfSignature(item, monitor), + collect: (monitor) => ({ + isOver: !!monitor.isOver(), + }), + }); + + const pdfRef = useRef(); + + const [{ isDragSign }, dragSignature] = useDrag({ + type: "BOX", + + item: { + type: "BOX", + id: 1, + text: "drag me", + }, + collect: (monitor) => ({ + isDragSign: !!monitor.isDragging(), + }), + }); + + const [{ isDragStamp }, dragStamp] = useDrag({ + type: "BOX", + + item: { + type: "BOX", + id: 2, + text: "drag me", + }, + collect: (monitor) => ({ + isDragStamp: !!monitor.isDragging(), + }), + }); + const [{ isDragSignatureSS }, dragSignatureSS] = useDrag({ + type: "BOX", + + item: { + type: "BOX", + id: 3, + text: "drag me", + }, + collect: (monitor) => ({ + isDragSignatureSS: !!monitor.isDragging(), + }), + }); + + const [{ isDragStampSS }, dragStampSS] = useDrag({ + type: "BOX", + + item: { + type: "BOX", + id: 4, + text: "drag me", + }, + collect: (monitor) => ({ + isDragStampSS: !!monitor.isDragging(), + }), + }); + + const index = xyPostion.findIndex((object) => { + return object.pageNumber === pageNumber; + }); + // rowlevel={JSON.parse(localStorage.getItem("rowlevel"))} + const rowLevel = + localStorage.getItem("rowlevel") && + JSON.parse(localStorage.getItem("rowlevel")); + + const signObjId = + rowLevel && rowLevel?.id + ? rowLevel.id + : rowLevel?.objectId && rowLevel.objectId; + + const documentId = docId ? docId : signObjId && signObjId; + const senderUser = + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ) && + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ); + const jsonSender = JSON.parse(senderUser); + + useEffect(() => { + const clientWidth = window.innerWidth; + const value = docId ? 80 : 80; + const pdfWidth = clientWidth - 160 - 200 - value; + //160 is width of left side, 200 is width of right side component and 50 is space of middle compoent + //pdf from left and right component + setPdfNewWidth(pdfWidth); + if (documentId) { + getDocumentDetails(); + } + }, []); + + //function for get document details for perticular signer with signer'object id + const getDocumentDetails = async () => { + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document?where={"objectId":"${documentId}"}&include=ExtUserPtr,Signers`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + + if (res[0] && res.length > 0) { + setPdfDetails(res); + const isCompleted = res[0].IsCompleted && res[0].IsCompleted; + if (isCompleted) { + const docStatus = { + isCompleted: isCompleted, + }; + + setDocumentStatus(docStatus); + const alreadySign = { + status: true, + mssg: "You have successfully signed the document!", + }; + setShowAlreadySignDoc(alreadySign); + setPdfUrl(res[0].SignedUrl); + } + } else { + setNoData(true); + + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + }) + .catch((err) => { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + }); + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Signature?where={"UserId": {"__type": "Pointer","className": "_User", "objectId":"${ + jsonSender.objectId + }"}}`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + + if (res[0] && res.length > 0) { + setDefaultSignImg(res[0].ImageURL); + } + }) + .catch((err) => { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + }); + const contractUsersRes = await contractUsers(jsonSender.objectId); + + if (contractUsersRes && contractUsersRes[0]) { + setContractName("_Users"); + setSignerUserId(contractUsersRes[0].objectId); + const tourstatuss = + contractUsersRes[0].TourStatus && contractUsersRes[0].TourStatus; + + if (tourstatuss && tourstatuss.length > 0) { + setTourStatus(tourstatuss); + const checkTourRecipients = tourstatuss.filter( + (data) => data.signyourself + ); + if (checkTourRecipients && checkTourRecipients.length > 0) { + setCheckTourStatus(checkTourRecipients[0].signyourself); + } + } + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } else if (contractUsersRes === "Error: Something went wrong!") { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + } else if (contractUsersRes.length === 0) { + const contractContactBook = await contactBook(jsonSender.objectId); + if (contractContactBook && contractContactBook[0]) { + setContractName("_Contactbook"); + + setSignerUserId(contractContactBook[0].objectId); + const tourstatuss = + contractContactBook[0].TourStatus && + contractContactBook[0].TourStatus; + + if (tourstatuss && tourstatuss.length > 0) { + setTourStatus(tourstatuss); + const checkTourRecipients = tourstatuss.filter( + (data) => data.signyourself + ); + if (checkTourRecipients && checkTourRecipients.length > 0) { + setCheckTourStatus(checkTourRecipients[0].signyourself); + } + } + } + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + + // await axios + // .get( + // `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + // "_appName" + // )}_Contactbook?where={"UserId": {"__type": "Pointer","className": "_User", "objectId":"${ + // jsonSender.objectId + // }"}}`, + // { + // headers: { + // "Content-Type": "application/json", + // "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + // "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + // }, + // } + // ) + // .then((Listdata) => { + // const json = Listdata.data; + // const res = json.results; + + // if (res[0]) { + // setSignerUserId(res[0].objectId); + // const tourstatuss = res[0].TourStatus && res[0].TourStatus; + + // if (tourstatuss && tourstatuss.length > 0) { + // setTourStatus(tourstatuss); + // const checkTourRecipients = tourstatuss.filter( + // (data) => data.signyourself + // ); + // if (checkTourRecipients && checkTourRecipients.length > 0) { + // setCheckTourStatus(checkTourRecipients[0].signyourself); + // } + // } + // } + // const loadObj = { + // isLoad: false, + // }; + // setIsLoading(loadObj); + // }) + // .catch((err) => { + // const loadObj = { + // isLoad: false, + // }; + // setHandleError("Error: Something went wrong!"); + // setIsLoading(loadObj); + // }); + }; + + //function for setting position after drop signature button over pdf + const addPositionOfSignature = (item, monitor) => { + const key = Math.floor(1000 + Math.random() * 9000); + let dropData = []; + let filterDropPos = xyPostion.filter( + (data) => data.pageNumber === pageNumber + ); + if (item === "onclick") { + const dropObj = { + xPosition: window.innerWidth / 2 - 100, + yPosition: window.innerHeight / 2 - 60, + isDrag: false, + key: key, + isStamp: monitor, + + yBottom: window.innerHeight / 2 - 60, + }; + + dropData.push(dropObj); + + if (monitor) { + setIsStamp(true); + } else { + setIsStamp(false); + } + } else { + const offset = monitor.getClientOffset(); + //adding and updating drop position in array when user drop signature button in div + const containerRect = document + .getElementById("container") + .getBoundingClientRect(); + + const x = offset.x - containerRect.left; + const y = offset.y - containerRect.top; + const ybottom = containerRect.bottom - offset.y; + + const dropObj = { + xPosition: signBtnPosition[0] ? x - signBtnPosition[0].xPos : x, + yPosition: signBtnPosition[0] ? y - signBtnPosition[0].yPos : y, + isDrag: false, + key: key, + isStamp: isDragStamp || isDragStampSS ? true : false, + firstXPos: signBtnPosition[0] && signBtnPosition[0].xPos, + firstYPos: signBtnPosition[0] && signBtnPosition[0].yPos, + yBottom: ybottom, + }; + + dropData.push(dropObj); + + if (isDragStamp || isDragStampSS) { + setIsStamp(true); + } else { + setIsStamp(false); + } + } + if (filterDropPos.length > 0) { + const index = xyPostion.findIndex((object) => { + return object.pageNumber === pageNumber; + }); + const updateData = filterDropPos[0].pos; + + // if (updateData.length > dropData.length) { + const newSignPos = updateData.concat(dropData); + let xyPos = { + pageNumber: pageNumber, + pos: newSignPos, + }; + xyPostion.splice(index, 1, xyPos); + setIsSignPad(true); + setSignKey(key); + // } + } else { + const xyPos = { + pageNumber: pageNumber, + pos: dropData, + }; + setXyPostion((prev) => [...prev, xyPos]); + setIsSignPad(true); + setSignKey(key); + } + + // setXyPostion((prev) => [...prev, xyPos]); + }; + + //function for send placeholder's co-ordinate(x,y) position embed signature url or stamp url + async function embedImages() { + let checkSignUrl = []; + + for (let i = 0; i < xyPostion.length; i++) { + const posData = xyPostion[i].pos.filter((pos) => !pos.SignUrl); + + if (posData && posData.length > 0) { + checkSignUrl.push(posData); + } + } + + if (checkSignUrl && checkSignUrl.length > 0) { + alert("Please complete your signature!"); + } else { + setIsCeleb(true); + setTimeout(() => { + setIsCeleb(false); + }, 3000); + const loadObj = { + isLoad: true, + message: "This might take some time", + }; + setIsLoading(loadObj); + const url = pdfDetails[0] && pdfDetails[0].URL; + + const existingPdfBytes = await fetch(url).then((res) => + res.arrayBuffer() + ); + + // Load a PDFDocument from the existing PDF bytes + const pdfDoc = await PDFDocument.load(existingPdfBytes, { + ignoreEncryption: true, + }); + const pngUrl = xyPostion; + //checking if signature is only one then send image url in jpeg formate to server + if (xyPostion.length === 1 && xyPostion[0].pos.length === 1) { + //embed document's object id to all pages in pdf document + for (let i = 0; i < allPages; i++) { + const font = await pdfDoc.embedFont("Helvetica"); + + const fontSize = 10; + const textContent = + documentId && `OpenSignâ„¢ DocumentId: ${documentId}`; + + const pages = pdfDoc.getPages(); + const page = pages[i]; + + page.drawText(textContent, { + x: 10, + y: page.getHeight() - 10, + size: fontSize, + font, + color: rgb(0.5, 0.5, 0.5), + }); + } + const pdfBase64 = await pdfDoc.saveAsBase64({ + useObjectStreams: false, + }); + for (let i = 0; i < xyPostion.length; i++) { + const imgUrlList = xyPostion[i].pos; + const pageNo = xyPostion[i].pageNumber; + + imgUrlList.map(async (data) => { + let ImgUrl = data.SignUrl; + //cheking signUrl is defau;t signature url of custom url + const checkUrl = ImgUrl.includes("https:"); + + //if default signature url then convert it in base 64 + if (checkUrl) { + ImgUrl = await getBase64FromIMG(ImgUrl + "?get"); + } + + //function for convert signature png base64 url to jpeg base64 + const convertPNGtoJPEG = (base64Data) => { + return new Promise((resolve, reject) => { + const canvas = document.createElement("canvas"); + const img = new Image(); + img.src = base64Data; + + img.onload = () => { + canvas.width = img.width; + canvas.height = img.height; + + const ctx = canvas.getContext("2d"); + ctx.drawImage(img, 0, 0); + + // Convert to JPEG by using the canvas.toDataURL() method + const jpegBase64Data = canvas.toDataURL("image/jpeg"); + + resolve(jpegBase64Data); + }; + + img.onerror = (error) => { + reject(error); + }; + }); + }; + + convertPNGtoJPEG(ImgUrl) + .then((jpegBase64Data) => { + const removeBase64Fromjpeg = "data:image/jpeg;base64,"; + const newImgUrl = jpegBase64Data.replace( + removeBase64Fromjpeg, + "" + ); + + //function for call to embed signature in pdf and get digital signature pdf + signPdfFun(newImgUrl, documentId, data, pdfBase64, pageNo); + }) + .catch((error) => { + console.error("Error:", error); + }); + }); + } + } + //else if signature is more than one then embed all sign with the use of pdf-lib + else if (xyPostion.length > 0 && xyPostion[0].pos.length > 0) { + for (let i = 0; i < allPages; i++) { + const font = await pdfDoc.embedFont("Helvetica"); + + const fontSize = 10; + const textContent = + documentId && `OpenSignâ„¢ DocumentId: ${documentId} `; + + const pages = pdfDoc.getPages(); + const page = pages[i]; + + page.drawText(textContent, { + x: 10, + y: page.getHeight() - 10, + size: fontSize, + font, + color: rgb(0.5, 0.5, 0.5), + }); + } + for (let i = 0; i < pngUrl.length; i++) { + const pageNo = pngUrl[i].pageNumber; + + const imgUrlList = pngUrl[i].pos; + const pages = pdfDoc.getPages(); + const page = pages[pageNo - 1]; + + const images = await Promise.all( + imgUrlList.map(async (url) => { + let signUrl = url.SignUrl; + + const checkUrl = url.SignUrl.includes("https:"); + if (checkUrl) { + signUrl = signUrl + "?get"; + } + const res = await fetch(signUrl); + + return res.arrayBuffer(); + }) + ); + images.forEach(async (imgData, id) => { + let img; + if ( + imgUrlList[id].ImageType && + imgUrlList[id].ImageType === "image/jpeg" + ) { + img = await pdfDoc.embedJpg(imgData); + } else if ( + imgUrlList[id].ImageType && + imgUrlList[id].ImageType === "image/png" + ) { + img = await pdfDoc.embedPng(imgData); + } else { + img = await pdfDoc.embedPng(imgData); + } + + const imgHeight = imgUrlList[id].Height + ? imgUrlList[id].Height + : 60; + const imgWidth = imgUrlList[id].Width ? imgUrlList[id].Width : 150; + const isMobile = window.innerWidth < 712; + const newWidth = window.innerWidth; + const scale = isMobile ? pdfOriginalWidth / newWidth : 1; + page.drawImage(img, { + x: isMobile + ? imgUrlList[id].xPosition * scale + 50 + : imgUrlList[id].xPosition, + y: + page.getHeight() - imgUrlList[id].yPosition * scale - imgHeight, + width: imgWidth, + height: imgHeight, + }); + }); + } + const pdfBytes = await pdfDoc.saveAsBase64({ useObjectStreams: false }); + // console.log("pdfbyte", pdfBytes); + signPdfFun(pdfBytes, documentId); + } + setIsSignPad(false); + setIsEmail(true); + setXyPostion([]); + setSignBtnPosition([]); + } + } + + //function for get digital signature + const signPdfFun = async ( + base64Url, + documentId, + xyPosData, + pdfBase64Url, + pageNo + ) => { + let singleSign; + const isMobile = window.innerWidth < 712; + const newWidth = window.innerWidth; + const scale = isMobile ? pdfOriginalWidth / newWidth : 1; + + if (xyPostion.length === 1 && xyPostion[0].pos.length === 1) { + const height = xyPosData.Height ? xyPosData.Height : 60; + const bottomY = xyPosData.isDrag + ? xyPosData.yBottom * scale - height + : xyPosData.firstYPos + ? xyPosData.yBottom * scale - height + xyPosData.firstYPos + : xyPosData.yBottom * scale - height; + + singleSign = { + pdfFile: pdfBase64Url, + docId: documentId, + sign: { + Base64: base64Url, + Left: isMobile + ? xyPosData.xPosition * scale + 80 + : xyPosData.xPosition, + Bottom: bottomY, + Width: xyPosData.Width ? xyPosData.Width : 150, + Height: height, + Page: pageNo, + }, + }; + } else if (xyPostion.length > 0 && xyPostion[0].pos.length > 0) { + singleSign = { + pdfFile: base64Url, + docId: documentId, + }; + } + // console.log("data",singleSign) + await axios + .post(`${localStorage.getItem("baseUrl")}functions/signPdf`, singleSign, { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + sessionToken: localStorage.getItem("accesstoken"), + // sessiontoken, + }, + }) + .then((Listdata) => { + const json = Listdata.data; + // console.log("json ", json); + setPdfUrl(json.result.data); + if (json.result.data) { + const docStatus = { + isCompleted: true, + }; + + setDocumentStatus(docStatus); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + }) + .catch((err) => { + // this.setState({ loading: false }); + console.log("axois err ", err); + }); + }; + + //function for save x and y position and show signature tab on that position + const handleTabDrag = (key, e) => { + // console.log("key", key); + setDragKey(key); + setIsDragging(true); + }; + + //function for set and update x and y postion after drag and drop signature tab + const handleStop = (event, dragElement) => { + if (isDragging && dragElement) { + event.preventDefault(); + const containerRect = document + .getElementById("container") + .getBoundingClientRect(); + + const ybottom = containerRect.height - dragElement.y; + + if (dragKey >= 0) { + const filterDropPos = xyPostion.filter( + (data) => data.pageNumber === pageNumber + ); + + if (filterDropPos.length > 0) { + const getXYdata = xyPostion[index].pos; + const getPosData = getXYdata; + const addSign = getPosData.map((url, ind) => { + if (url.key === dragKey) { + return { + ...url, + xPosition: dragElement.x, + yPosition: dragElement.y, + isDrag: true, + yBottom: ybottom, + }; + } + return url; + }); + + const newUpdateUrl = xyPostion.map((obj, ind) => { + if (ind === index) { + return { ...obj, pos: addSign }; + } + return obj; + }); + setXyPostion(newUpdateUrl); + } + } + } + setTimeout(() => { + setIsDragging(false); + }, 200); + }; + + //function for get pdf page details + const pageDetails = async (pdf) => { + pdf.getPage(1).then((pdfPage) => { + const pageWidth = pdfPage.view[2]; + + setPdfOriginalWidth(pageWidth); + }); + }; + + //function for change page numver of pdf + function changePage(offset) { + setSignBtnPosition([]); + setPageNumber((prevPageNumber) => prevPageNumber + offset); + } + + //function for image upload or update + const onImageChange = (event) => { + if (event.target.files && event.target.files[0]) { + // setIsSignPad(false); + + const imageType = event.target.files[0].type; + + const reader = new FileReader(); + reader.readAsDataURL(event.target.files[0]); + + reader.onloadend = function (e) { + let width, height; + const image = new Image(); + + image.src = e.target.result; + image.onload = function () { + width = image.width; + height = image.height; + const aspectRatio = 460 / 184; + const imgR = width / height; + + if (imgR > aspectRatio) { + width = 460; + height = 460 / imgR; + } else { + width = 184 * imgR; + height = 184; + } + setImgWH({ width: width, height: height }); + imageRef.current.style.width = `${width}px`; + imageRef.current.style.height = `${height}px`; + }; + + image.src = reader.result; + + setImage({ src: image.src, imgType: imageType }); + }; + + //const imgUrl = URL.createObjectURL(event.target.files[0]); + + // const imgData = { width: newWidth, height: newHeight, src: imgUrl }; + } + }; + + //function for save button to save signature or image url + const saveSign = (isDefaultSign) => { + // console.log("isDefault sign", isDefaultSign); + const signatureImg = isDefaultSign ? defaultSignImg : signature; + setIsSignPad(false); + + setIsImageSelect(false); + + setImage(); + const getUpdatePosition = onSaveSign( + xyPostion, + index, + signKey, + signatureImg + ); + + setXyPostion(getUpdatePosition); + }; + + //function for capture position on hover signature button + const handleDivClick = (e) => { + const divRect = e.currentTarget.getBoundingClientRect(); + const mouseX = e.clientX - divRect.left; + const mouseY = e.clientY - divRect.top; + + const xyPosition = { + xPos: mouseX, + yPos: mouseY, + }; + + setXYSignature(xyPosition); + }; + + //function for capture position of x and y on hover signature button last position + const handleMouseLeave = (e) => { + setSignBtnPosition([xySignature]); + }; + + //function for resize image and update width and height + const handleImageResize = (ref, key, direction, position) => { + const updateFilter = xyPostion[index].pos.filter( + (data, ind) => data.key === key && data.Width && data.Height + ); + + if (updateFilter.length > 0) { + const getXYdata = xyPostion[index].pos; + + // const updateWidth = getXYdata[key].Width; + // const updateHeight = getXYdata[key].Height; + const getPosData = getXYdata; + const addSign = getPosData.map((url, ind) => { + if (url.key === key) { + return { + ...url, + Width: ref.offsetWidth, + Height: ref.offsetHeight, + xPosition: position.x, + }; + } + return url; + }); + + const newUpdateUrl = xyPostion.map((obj, ind) => { + if (ind === index) { + return { ...obj, pos: addSign }; + } + return obj; + }); + + setXyPostion(newUpdateUrl); + } else { + const getXYdata = xyPostion[index].pos; + + const getPosData = getXYdata; + + const addSign = getPosData.map((url, ind) => { + if (url.key === key) { + return { + ...url, + Width: ref.offsetWidth, + Height: ref.offsetHeight, + }; + } + return url; + }); + + const newUpdateUrl = xyPostion.map((obj, ind) => { + if (ind === index) { + return { ...obj, pos: addSign }; + } + return obj; + }); + setXyPostion(newUpdateUrl); + } + }; + const handleAllDelete = () => { + setXyPostion([]); + }; + + //function for delete signature block + const handleDeleteSign = (key) => { + const updateResizeData = []; + + let filterData = xyPostion[index].pos.filter((data) => data.key !== key); + + // //delete and update block position + if (filterData.length > 0) { + updateResizeData.push(filterData); + const newUpdatePos = xyPostion.map((obj, ind) => { + if (ind === index) { + return { ...obj, pos: updateResizeData[0] }; + } + return obj; + }); + + setXyPostion(newUpdatePos); + } else { + // setXyPostion([]); + + const getRemainPage = xyPostion.filter( + (data) => data.pageNumber !== pageNumber + ); + // console.log("remainPage",getRemainPage) + if (getRemainPage && getRemainPage.length > 0) { + setXyPostion(getRemainPage); + } else { + setXyPostion([]); + } + } + }; + + //function for upload stamp or image + const saveImage = () => { + const getImage = onSaveImage(xyPostion, index, signKey, imgWH, image); + setXyPostion(getImage); + }; + + //function for add default signature url in local array + const addDefaultSignature = () => { + let xyDefaultPos = []; + for (let i = 0; i < xyPostion.length; i++) { + const getXYdata = xyPostion[i].pos; + const getPageNo = xyPostion[i].pageNumber; + const getPosData = getXYdata; + + const addSign = getPosData.map((url, ind) => { + if (url) { + return { ...url, SignUrl: defaultSignImg }; + } + return url; + }); + + const newXypos = { + pageNumber: getPageNo, + pos: addSign, + }; + xyDefaultPos.push(newXypos); + } + + setXyPostion(xyDefaultPos); + setShowAlreadySignDoc({ status: false }); + }; + const tourConfig = [ + { + // updateDelay: 1500, + selector: '[data-tut="reactourFirst"]', + content: `Drag the signature or stamp placeholder onto the PDF to choose your desired signing location.`, + position: "top", + style: { fontSize: "13px" }, + }, + { + selector: '[data-tut="reactourSecond"]', + content: `Drag and drop anywhere in this area. You can resize and move it later.`, + position: "top", + style: { fontSize: "13px" }, + }, + ]; + + //function for update TourStatus + const closeTour = async () => { + setSignTour(false); + + let updatedTourStatus = []; + if (tourStatus.length > 0) { + updatedTourStatus = [...tourStatus]; + const signyourselfIndex = tourStatus.findIndex( + (obj) => obj["signyourself"] === false || obj["signyourself"] === true + ); + if (signyourselfIndex !== -1) { + updatedTourStatus[signyourselfIndex] = { signyourself: true }; + } else { + updatedTourStatus.push({ signyourself: true }); + } + } else { + updatedTourStatus = [{ signyourself: true }]; + } + await axios + .put( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}${contractName}/${signerUserId}`, + { + TourStatus: updatedTourStatus, + }, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + sessionToken: localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + // const json = Listdata.data; + // const res = json.results; + // console.log("res", json); + }) + .catch((err) => { + console.log("axois err ", err); + }); + }; + + return ( + + {isLoading.isLoad ? ( + + ) : handleError ? ( + + ) : noData ? ( + + ) : ( +
+ {/* this component used for UI interaction and show their functionality */} + {!checkTourStatus && ( + + )} + + {/* this component used to render all pdf pages in left side */} + + + + {/* pdf render view */} +
500 && "20px", + marginRight: pdfOriginalWidth > 500 && "20px", + }} + > + {/* this modal is used show this document is already sign */} + + + + Sign Documents + + + +

{showAlreadySignDoc.mssg}

+
+ + + + {showAlreadySignDoc.sure && ( + + )} + +
+ {/* this is modal of signature pad */} + + {/* render email component to send email after finish signature on document */} + + {/* pdf header which contain funish back button */} +
+ + {/* className="hidePdf" */} +
+ +
+
+ + {/*if document is not completed then render signature and stamp button in the right side */} + {/*else document is completed then render signed by signer name in the right side */} + {!documentStatus.isCompleted ? ( +
+ +
+ ) : ( +
+ +
+ )} +
+ )} +
+ ); +} + +export default SignYourSelf; diff --git a/microfrontends/SignDocuments/src/Component/component/DragElement.js b/microfrontends/SignDocuments/src/Component/component/DragElement.js new file mode 100644 index 000000000..89568b3ca --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/DragElement.js @@ -0,0 +1,58 @@ +import React from "react"; +import stamp from "../../assests/stamp2.png"; +import sign from "../../assests/sign3.png"; +import { themeColor } from "../../utils/ThemeColor/backColor"; + +function DragElement({ type, id }) { + const selectedId = id; + + return ( +
+ {selectedId === 3 ? ( +
+ sign img + + Signature + +
+ ) : ( +
+ stamp img + Stamp +
+ )} +
+ ); +} + +export default DragElement; diff --git a/microfrontends/SignDocuments/src/Component/component/HandleError.js b/microfrontends/SignDocuments/src/Component/component/HandleError.js new file mode 100644 index 000000000..c2908bff5 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/HandleError.js @@ -0,0 +1,18 @@ +import React from "react"; + +function HandleError({ handleError }) { + return ( +
+ {handleError} +
+ ); +} + +export default HandleError; diff --git a/microfrontends/SignDocuments/src/Component/component/Nodata.js b/microfrontends/SignDocuments/src/Component/component/Nodata.js new file mode 100644 index 000000000..03fc3c7cc --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/Nodata.js @@ -0,0 +1,18 @@ +import React from "react"; + +function Nodata() { + return ( +
+ No Data Found! +
+ ); +} + +export default Nodata; diff --git a/microfrontends/SignDocuments/src/Component/component/defaultSignature.js b/microfrontends/SignDocuments/src/Component/component/defaultSignature.js new file mode 100644 index 000000000..6a1906ba4 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/defaultSignature.js @@ -0,0 +1,122 @@ +import React, { useEffect } from "react"; +import axios from "axios"; + +function DefaultSignature({ + themeColor, + defaultSignImg, + setShowAlreadySignDoc, + setDefaultSignImg, + userObjectId, + setIsLoading, + xyPostion, +}) { + useEffect(() => { + getDefaultSignature(userObjectId); + }, []); + + //function for fetch default sigature added bu users + const getDefaultSignature = async (userObjectId) => { + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Signature?where={"UserId": {"__type": "Pointer","className": "_User", "objectId":"${userObjectId}"}}`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + + if (res[0] && res.length > 0) { + setDefaultSignImg(res[0].ImageURL); + } + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + }) + .catch((err) => { + // this.setState({ loading: false }); + console.log("axois err ", err); + }); + }; + + const confirmToaddDefaultSign = () => { + if (xyPostion.length > 0) { + const alreadySign = { + status: true, + mssg: "Are you sure you want to sign at requested locations?", + sure: true, + }; + setShowAlreadySignDoc(alreadySign); + } else { + alert("please select position!"); + } + }; + + return ( +
+
+ Signature +
+
+ {defaultSignImg ? ( + <> +

Your Signature

+
+ default img +
+ + + ) : ( +
+ You didn't add your default signature yet! +
+ )} +
+
+ ); +} + +export default DefaultSignature; diff --git a/microfrontends/SignDocuments/src/Component/component/emailComponent.js b/microfrontends/SignDocuments/src/Component/component/emailComponent.js new file mode 100644 index 000000000..7ae35f5cb --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/emailComponent.js @@ -0,0 +1,385 @@ +import React, { useState } from "react"; +import { saveAs } from "file-saver"; +import celebration from "../../assests/newCeleb.gif"; +import close from "../../assests/close.png"; +import Modal from "react-bootstrap/Modal"; +import ModalHeader from "react-bootstrap/esm/ModalHeader"; +import axios from "axios"; +import { getBase64FromUrl } from "../../utils/Utils"; +import { themeColor } from "../../utils/ThemeColor/backColor"; +import printModule from "print-js"; +import loader from "../../assests/loader2.gif"; + +function EmailComponent({ + isEmail, + pdfUrl, + isCeleb, + setIsEmail, + setSuccessEmail, + signObjId, + pdfName, + sender, +}) { + const [emailCount, setEmailCount] = useState([]); + const [emailValue, setEmailValue] = useState(); + const [isLoading, setIsLoading] = useState(false); + //function for send email + const sendEmail = async () => { + setIsLoading(true); + let sendMail, recipent; + for (let i = 0; i < emailCount.length; i++) { + // await axios + // .get( + // `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem("_appName")}_Contactbook?where={"Email":"${emailCount[i]}"}`, + // { + // headers: { + // "Content-Type": "application/json", + // "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + // sessionToken: localStorage.getItem("accesstoken"), + // }, + // } + // ) + // .then((Listdata) => { + // const json = Listdata.data; + // if (json.results[0]) { + // recipent = json.results[0]; + // } + // }) + // .catch((err) => { + // console.log("axois err ", err); + // }); + try { + console.log("recipients", recipent); + const imgPng = + "https://qikinnovation.ams3.digitaloceanspaces.com/logo.png"; + // "https://qikinnovation.ams3.digitaloceanspaces.com/mailLogo_2023-08-18T12%3A51%3A31.573Z.png"; + + let url = `${localStorage.getItem("baseUrl")}functions/sendmailv3/`; + const headers = { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + sessionToken: localStorage.getItem("accesstoken"), + }; + // const serverUrl = localStorage.getItem("baseUrl"); + // const newServer = serverUrl.replaceAll("/", "%2F"); + + // const serverParams = `${newServer}&${localStorage.getItem( + // "parseAppId" + // )}&${localStorage.getItem("_appName")}`; + // let pdfUrlWeb = `
${pdfName}`; + const themeBGcolor = themeColor(); + let params = { + pdfName: pdfName, + url: pdfUrl, + recipient: emailCount[i], + subject: `${sender.name} has signed the doc - ${pdfName}`, + from: sender.email, + html: + "

Document Copy

A copy of the document " + + pdfName + + " Standard is attached to this email. Kindly download the document from the attachment.

This is an automated email from Open Sign. For any queries regarding this email, please contact the sender " + + sender.email + + " directly. If you think this email is inappropriate or spam, you may file a complaint with Open Sign here.

", + //"html":"

Digital Signature Request

" + recipent.Name + " has requested you to review and sign" +pdfName+"

Sender" + recipent.Email + "

This is an automated email from Open Sign. For any queries regarding this email, please contact the sender " + recipent.Email + " directly.If you think this email is inappropriate or spam, you may file a complaint with Open Sign here.

" + }; + sendMail = await axios.post(url, params, { headers: headers }); + } catch (error) { + console.log("error", error); + setIsLoading(false); + alert("Something went wrong!"); + } + } + + if (sendMail.data.result.status === "success") { + setIsEmail(false); + setSuccessEmail(true); + setTimeout(() => { + setSuccessEmail(false); + }, 3000); + setIsLoading(false); + } else if (sendMail.data.result.status === "error") { + setIsLoading(false); + alert("Something went wrong!"); + } else { + setIsLoading(false); + alert("Something went wrong!"); + } + }; + //function for remove email + const removeChip = (index) => { + const updateEmailCount = emailCount.filter((data, key) => key !== index); + setEmailCount(updateEmailCount); + }; + //function for get email value + const handleEmailValue = (e) => { + const value = e.target.value; + setEmailValue(value); + }; + + //function for save email in array after press enter + const handleEnterPress = (e) => { + if (e.key === "Enter" && emailValue) { + setEmailCount((prev) => [...prev, emailValue]); + setEmailValue(""); + } else if (e === "add" && emailValue) { + setEmailCount((prev) => [...prev, emailValue]); + setEmailValue(""); + } + }; + + // function for print signed pdf + const handleToPrint = async (event) => { + event.preventDefault(); + + const base64 = await getBase64FromUrl(pdfUrl); + printModule({ printable: base64, type: "pdf", base64: true }); + + // window.print('https://nxgcreator.s3.ap-south-1.amazonaws.com/exported_file_32_2023-08-22T04%3A59%3A13.432Z.pdf',); + }; + + //handle download signed pdf + const handleDownloadPdf = () => { + saveAs(pdfUrl, `${pdfName}_signed_by_opensign.qik.ai.pdf`); + }; + + return ( +
+ {/* isEmail */} + + {isLoading && ( +
+ no img + + This might take some time + +
+ )} + + + Email Documents + +
+
+ + + +
+
+ + + {isCeleb && ( +
+ print img +
+ )} +

+ Recipients added here will get a copy of the signed document. +

+ {emailCount.length > 0 ? ( + <> +
+
+ {emailCount.map((data, ind) => { + return ( +
+ + {data} + + + print img removeChip(ind)} + src={close} + width={10} + height={10} + style={{ fontWeight: "600" }} + /> +
+ ); + })} +
+ {emailCount.length <= 9 && ( + + )} +
+ + ) : ( +
+ +
+ )} + { + if (emailValue) { + handleEnterPress("add"); + } + }} + > + + + +
+ Note: + + {" "} + You can only send to ten recipients at a time. + +
+
+ + + + + +
+
+ ); +} + +export default EmailComponent; diff --git a/microfrontends/SignDocuments/src/Component/component/fieldsComponent.js b/microfrontends/SignDocuments/src/Component/component/fieldsComponent.js new file mode 100644 index 000000000..a7700de78 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/fieldsComponent.js @@ -0,0 +1,366 @@ +import React, { useState } from "react"; +import * as Select from "@radix-ui/react-select"; +import classnames from "classnames"; +function FieldsComponent({ + pdfUrl, + sign, + stamp, + dragSignature, + signRef, + handleDivClick, + handleMouseLeave, + isDragSign, + themeColor, + dragStamp, + dragRef, + isDragStamp, + dragSignatureSS, + dragStampSS, + isDragSignatureSS, + isSignYourself, + addPositionOfSignature, + signerPos, + signersdata, + isSelectListId, + setSignerObjId, + setIsSelectId, + setContractName, + isSigners, +}) { + const signStyle = pdfUrl ? "disableSign" : "signatureBtn"; + + const isMobile = window.innerWidth < 712; + const [isShowSort, setIsShowSort] = useState(false); + const [selectedEmail, setSelectedEmail] = useState(""); + const SelectItem = React.forwardRef( + ({ children, className, ...props }, forwardedRef) => { + return ( + + {children} + + + ); + } + ); +console.log("sign",isSignYourself) + return ( + <> +
+
+ Fields +
+ +
+ {pdfUrl ? ( + <> + + + + ) : ( + <> +
{ + dragSignature(element); + if (element) { + signRef.current = element; + // const height = signRef && signRef.current.offsetHeight; + // const width = signRef && signRef.current.offsetWidth; + } + }} + className={signStyle} + onMouseMove={handleDivClick} + onMouseDown={handleMouseLeave} + style={{ + opacity: isDragSign ? 0.5 : 1, + boxShadow: + "0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18)", + }} + > + + Signature + + sign img +
+
{ + dragStamp(element); + dragRef.current = element; + if (isDragStamp) { + // setIsStamp(true); + } + }} + className={!pdfUrl ? signStyle : "disableSign"} + disabled={pdfUrl && true} + onMouseMove={handleDivClick} + onMouseDown={handleMouseLeave} + style={{ + opacity: isDragStamp ? 0.5 : 1, + boxShadow: + "0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18)", + }} + > + + Stamp + + + stamp img +
+ + )} +
+
+ {isMobile && isSignYourself && ( + + )} + + ); +} + +export default FieldsComponent; diff --git a/microfrontends/SignDocuments/src/Component/component/header.js b/microfrontends/SignDocuments/src/Component/component/header.js new file mode 100644 index 000000000..640038b03 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/header.js @@ -0,0 +1,660 @@ +import React from "react"; +import PrevNext from "./prevNext"; +import { PDFDownloadLink } from "@react-pdf/renderer"; +import Certificate from "../Certificate/Certificate"; +import printModule from "print-js"; +import { getBase64FromUrl } from "../../utils/Utils"; +import { saveAs } from "file-saver"; +import "../../css/signature.css"; +import * as DropdownMenu from "@radix-ui/react-dropdown-menu"; +import { useNavigate } from "react-router-dom"; +import { themeColor } from "../../utils/ThemeColor/backColor"; + +function Header({ + isPdfRequestFiles, + isPlaceholder, + recipient, + setIsDecline, + pageNumber, + isAlreadySign, + allPages, + changePage, + pdfUrl, + documentStatus, + embedImages, + pdfDetails, + signerPos, + signersdata, + isMailSend, + alertSendEmail, + isSigned, + isCompleted, + isShowHeader, + decline, + currentSigner, +}) { + const isMobile = window.innerWidth < 712; + const navigate = useNavigate(); + + //for go to previous page + function previousPage() { + changePage(-1); + } + //for go to next page + function nextPage() { + changePage(1); + } + //function for show decline alert + const handleDeclinePdfAlert = async () => { + const currentDecline = { + currnt: "Sure", + isDeclined: true, + }; + setIsDecline(currentDecline); + }; + + //function for print digital sign pdf + const handleToPrint = async (event) => { + event.preventDefault(); + + const pdf = await getBase64FromUrl(pdfUrl); + + printModule({ printable: pdf, type: "pdf", base64: true }); + }; + + //handle download signed pdf + const handleDownloadPdf = () => { + const pdfName = pdfDetails[0] && pdfDetails[0].Name; + + saveAs(pdfUrl, `${pdfName}_signed_by_opensign.qik.ai.pdf`); + }; + + return ( +
+
+ + + {recipient ? ( + pdfUrl || isAlreadySign.mssg ? ( +
+ {pdfDetails[0] && pdfDetails.length > 0 && ( + // + } + fileName={`completion certificate-${ + pdfDetails[0] && pdfDetails[0].Name + }.pdf`} + > + {({ blob, url, loading, error }) => + loading ? ( + "Loading document..." + ) : ( + + ) + } + + )} + + + +
+ ) : ( +
+ + + +
+ ) + ) : pdfUrl || (documentStatus && documentStatus.isCompleted) ? ( +
+ } + fileName={`completion certificate-${ + pdfDetails[0] && pdfDetails[0].Name + }.pdf`} + > + {({ blob, url, loading, error }) => + loading ? ( + "Loading document..." + ) : ( + + ) + } + + + +
+ ) : isPlaceholder ? ( + <> + {!isMailSend && + signersdata.Signers && + signersdata.Signers.length !== signerPos.length && ( +
+ {signerPos.length === 0 ? ( + + Add all {signersdata.Signers.length - signerPos.length}{" "} + recipients signature + + ) : ( + + Add {signersdata.Signers.length - signerPos.length} more + recipients signature + + )} +
+ )} + +
+ + + +
+ + ) : isPdfRequestFiles ? ( + isSigned ? ( +
+ {isCompleted.isCertificate && ( + } + fileName={`completion certificate-${ + pdfDetails[0] && pdfDetails[0].Name + }.pdf`} + > + {({ blob, url, loading, error }) => + loading ? ( + "Loading document..." + ) : ( + + ) + } + + )} + + + +
+ ) : ( +
+ + {currentSigner && ( + <> + + + + )} +
+ ) + ) : ( +
+ + + +
+ )} +
+ {isMobile && isShowHeader && ( + + )} +
+ ); +} + +export default Header; diff --git a/microfrontends/SignDocuments/src/Component/component/loader.js b/microfrontends/SignDocuments/src/Component/component/loader.js new file mode 100644 index 000000000..f158dd453 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/loader.js @@ -0,0 +1,28 @@ +import React from 'react' +import loader from "../../assests/loader2.gif"; + + +function Loader({isLoading}) { + return ( +
+ no img + + {isLoading.message} + +
+ ) +} + +export default Loader diff --git a/microfrontends/SignDocuments/src/Component/component/modalComponent.js b/microfrontends/SignDocuments/src/Component/component/modalComponent.js new file mode 100644 index 000000000..bf071624c --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/modalComponent.js @@ -0,0 +1,28 @@ +import React from "react"; +import Modal from "react-bootstrap/Modal"; +import ModalHeader from "react-bootstrap/esm/ModalHeader"; + +function ModalComponent({ isShow, type }) { + return ( + + + {type === "pdfFail" ? ( + Failed to load pdf! + ) : ( + Document Expired! + )} + + + + {type === "pdfFail" ? ( +

Something went wrong failed to load pdf file!

+ ) : ( +

This Document is no longer available.

+ )} + +
+
+ ); +} + +export default ModalComponent; diff --git a/microfrontends/SignDocuments/src/Component/component/prevNext.js b/microfrontends/SignDocuments/src/Component/component/prevNext.js new file mode 100644 index 000000000..42017ccaa --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/prevNext.js @@ -0,0 +1,58 @@ +import React from "react"; + +function PrevNext({ pageNumber, allPages, changePage }) { + //for go to previous page + function previousPage() { + changePage(-1); + } + //for go to next page + function nextPage() { + changePage(1); + } + + return ( +
+
+ + + {pageNumber || (allPages ? 1 : "--")} of {allPages || "--"} + + +
+
+ ); +} + +export default PrevNext; diff --git a/microfrontends/SignDocuments/src/Component/component/renderAllPdfPage.js b/microfrontends/SignDocuments/src/Component/component/renderAllPdfPage.js new file mode 100644 index 000000000..ffac41108 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/renderAllPdfPage.js @@ -0,0 +1,96 @@ +import React from "react"; +import RSC from "react-scrollbars-custom"; +import { Document, Page, pdfjs } from "react-pdf"; +import { themeColor } from "../../utils/ThemeColor/backColor"; + +function RenderAllPdfPage({ + pdfUrl, + signPdfUrl, + allPages, + setAllPages, + setPageNumber, + setSignBtnPosition, +}) { + pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`; + + //set all number of pages after load pdf + function onDocumentLoad({ numPages }) { + setAllPages(numPages); + } + + return ( +
+
+
+
+ Pages +
+ + +
+ + + {Array.from(new Array(allPages), (el, index) => ( +
{ + setPageNumber(index + 1); + if (setSignBtnPosition) { + setSignBtnPosition([]); + } + }} + > + +
+ ))} +
+
+
+
+
+ + +
+
+ ); +} + +export default RenderAllPdfPage; diff --git a/microfrontends/SignDocuments/src/Component/component/renderPdf.js b/microfrontends/SignDocuments/src/Component/component/renderPdf.js new file mode 100644 index 000000000..d5781b15a --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/renderPdf.js @@ -0,0 +1,1267 @@ +import React from "react"; +import RSC from "react-scrollbars-custom"; +import Toast from "react-bootstrap/Toast"; +import { Rnd } from "react-rnd"; +import { themeColor } from "../../utils/ThemeColor/backColor"; +import { Document, Page, pdfjs } from "react-pdf"; + +// import Draggable from "react-draggable"; + +pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`; + +function RenderPdf({ + pageNumber, + pdfOriginalWidth, + pdfNewWidth, + drop, + signerPos, + successEmail, + nodeRef, + handleTabDrag, + handleStop, + handleImageResize, + isDragging, + setIsSignPad, + setIsStamp, + handleDeleteSign, + setSignKey, + pdfDetails, + xyPostion, + pdfRef, + pdfUrl, + numPages, + pageDetails, + recipient, + isAlreadySign, + pdfRequest, + setCurrentSigner, + signerObjectId, + signedSigners, + setPdfLoadFail, + setIsDragging, + placeholder, +}) { + const isMobile = window.innerWidth < 712; + + const checkSignedSignes = (data) => { + // console.log("data",data) + const checkSign = signedSigners.filter( + (sign) => sign.objectId === data.signerObjId + ); + if (data.signerObjId === signerObjectId) { + setCurrentSigner(true); + } + + return ( + checkSign.length === 0 && + data.placeHolder.map((placeData, key) => { + return ( + + {placeData.pageNumber === pageNumber && + placeData.pos.map((pos, index) => { + return pos && pos.SignUrl ? ( + + { + setIsSignPad(true); + setSignKey(pos.key); + }} + > +
+ no img { + setIsSignPad(true); + setSignKey(pos.key); + }} + src={pos.SignUrl} + style={{ + width: "100%", + height: "100%", + objectFit: "contain", + }} + /> +
+
+
+ ) : ( + { + if (data.signerObjId === signerObjectId) { + setIsSignPad(true); + setSignKey(pos.key); + setIsStamp(pos.isStamp); + } + }} + style={{ + padding: "0px", + cursor: "all-scroll", + zIndex: 1, + position: "absolute", + borderStyle: "dashed", + width: "200px", + height: "30px", + borderColor: themeColor(), + background: data.blockColor, + textAlign: "center", + justifyContent: "center", + borderWidth: "0.2px", + }} + default={{ + x: pos.xPosition, + y: pos.yPosition, + }} + size={{ + width: pos.Width ? pos.Width : 150, + height: pos.Height ? pos.Height : 60, + }} + lockAspectRatio={pos.Width ? pos.Width / pos.Height : 2.5} + > +
+ {pos.isStamp ? "stamp" : "signature"} +
+
+ ); + })} +
+ ); + }) + ); + }; + + return ( + <> + {isMobile ? ( + // pdfNewWidth ? pdfNewWidth : pdfOriginalWidth, + // height: window.innerHeight - 110 + "px", + // marginTop: "50px", + // }} + // noScrollY={false} + // noScrollX={pdfNewWidth < pdfOriginalWidth ? false : true} + // > +
+
+ + + Email sent successful! + + +
+ {recipient + ? !pdfUrl && + !isAlreadySign.mssg && + xyPostion.length > 0 && + xyPostion.map((data, ind) => { + return ( + + {data.pageNumber === pageNumber && + data.pos.map((pos) => { + return pos && pos.SignUrl ? ( + { + setIsSignPad(true); + setSignKey(pos.key); + }} + > +
+ no img { + setIsSignPad(true); + setSignKey(pos.key); + }} + src={pos.SignUrl} + style={{ + width: "100%", + height: "100%", + objectFit: "contain", + }} + /> +
+
+ ) : ( + { + setIsSignPad(true); + setSignKey(pos.key); + setIsStamp(pos.isStamp); + }} + > +
+ {pos.isStamp ? "stamp" : "signature"} +
+
+ ); + })} +
+ ); + }) + : pdfRequest + ? signerPos.map((data, key) => { + return ( + + {checkSignedSignes(data)} + + ); + }) + : placeholder + ? signerPos.map((data, ind) => { + return ( + + {data.placeHolder.map((placeData, index) => { + return ( + + {placeData.pageNumber === pageNumber && + placeData.pos.map((pos) => { + return ( + + handleTabDrag(pos.key, data.signerObjId) + } + size={{ + width: pos.Width ? pos.Width : 150, + height: pos.Height ? pos.Height : 60, + }} + lockAspectRatio={ + pos.Width ? pos.Width / pos.Height : 2.5 + } + resizeHandleStyles={{ + bottom: { display: "none" }, + right: { display: "none" }, + bottomRight: { display: "block" }, + }} + onDragStop={handleStop} + default={{ + x: pos.xPosition, + y: pos.yPosition, + }} + onResize={( + e, + direction, + ref, + delta, + position + ) => { + handleImageResize( + ref, + pos.key, + data.signerObjId, + position + ); + }} + > +
{ + e.stopPropagation(); + handleDeleteSign( + pos.key, + data.signerObjId + ); + }} + // onClick={(e) => { + // e.stopPropagation(); + // handleDeleteSign( + // pos.key, + // data.signerObjId + // ); + // }} + style={{ + position: "absolute", + right: 0, + display: "inline-block", + background: themeColor(), + cursor: "pointer", + padding: "0px 10px", + zIndex: 10, + }} + > + x +
+
+ {pos.isStamp ? "stamp" : "signature"} +
+
+ ); + })} +
+ ); + })} +
+ ); + }) + : xyPostion.map((data, ind) => { + return ( + + {data.pageNumber === pageNumber && + data.pos.map((pos) => { + return pos && pos.SignUrl ? ( + handleTabDrag(pos.key)} + onDragStop={handleStop} + onResize={(e, direction, ref, delta, position) => { + handleImageResize( + ref, + pos.key, + direction, + position + ); + }} + > + {" "} +
{ + if (!isDragging) { + setTimeout(() => { + e.stopPropagation(); + setIsSignPad(true); + setSignKey(pos.key); + setIsStamp(pos.isStamp); + }, 500); + } + }} + > +
{ + e.stopPropagation(); + handleDeleteSign(pos.key); + setIsStamp(false); + }} + // onClick={(e) => { + // e.stopPropagation(); + // handleDeleteSign(pos.key); + // setIsStamp(false); + // }} + style={{ + position: "absolute", + right: 0, + display: "inline-block", + background: themeColor(), + cursor: "pointer", + padding: "0px 10px", + }} + > + x +
+
+ signimg { + setSignKey(pos.key); + setIsSignPad(true); + setIsStamp(pos.isStamp); + }} + src={pos.SignUrl} + style={{ + width: "100%", + height: "100%", + objectFit: "contain", + }} + /> +
+
+
+ ) : ( + <> + { + handleTabDrag(pos.key, e); + }} + // onMouseUp={(e) => handleTabDrag(pos.key, e)} + onDragStop={handleStop} + size={{ + width: pos.Width ? pos.Width : 150, + height: pos.Height ? pos.Height : 60, + }} + // onMouseDown={(e) => { + + // if (!isDragging) { + // console.log("child m=event",isDragging); + // setTimeout(() => { + // if(isDeleted){ + // setIsSignPad(true); + // // setIsSignPad(false) + // setSignKey(pos.key); + // setIsStamp(pos.isStamp); + + // }else{ + // setIsSignPad(true); + // // setIsSignPad(false) + // setSignKey(pos.key); + // setIsStamp(pos.isStamp); + // } + + // }, 500); + // } + // }} + default={{ + x: pos.xPosition, + y: pos.yPosition, + }} + + // onClick={(e) => { + // if (!isDragging) { + // e.stopPropagation(); + // setIsSignPad(true); + // setSignKey(pos.key); + // setIsStamp(pos.isStamp); + // } + // }} + > +
{ + if (!isDragging) { + setTimeout(() => { + setIsSignPad(true); + //setIsSignPad(false) + setSignKey(pos.key); + setIsStamp(pos.isStamp); + }, 500); + } + }} + className="dragElm" + style={{ + padding: "0px", + cursor: "all-scroll", + zIndex: 20, + position: "absolute", + borderStyle: "dashed", + width: "150px", + height: "60px", + borderColor: themeColor(), + background: "#daebe0", + textAlign: "center", + justifyContent: "center", + borderWidth: "0.2px", + overflow: "hidden", + }} + > +
{ + // console.log("child m=event") + // e.preventDefault(); + // setIsDragging(true) + + // handleDeleteSign(pos.key); + // setIsStamp(false); + // setTimeout(()=>{ + // setIsDragging(false) + // },2000) + // }} + onTouchStart={(e) => { + e.stopPropagation(); + e.preventDefault(); + // setIsDragging(true); + + handleDeleteSign(pos.key); + setIsStamp(false); + }} + onClick={(e) => { + e.stopPropagation(); // Prevent further event propagation + }} + style={{ + position: "absolute", + right: 0, + display: "inline-block", + background: themeColor(), + cursor: "pointer", + padding: "0px 10px", + }} + > + x +
+
+ {pos.isStamp ? "stamp" : "signature"} +
+
+
+ + ); + })} +
+ ); + })} + + {/* this component for render pdf document is in middle of the component */} +
+ { + if (recipient) { + setPdfLoadFail(true); + } + }} + onLoadSuccess={pageDetails} + ref={pdfRef} + file={pdfUrl ? pdfUrl : pdfDetails[0] && pdfDetails[0].URL} + // file="https://qikinnovation.ams3.digitaloceanspaces.com/exported_file_2068_2023-08-30T05%3A04%3A26.334Z.pdf" // "https://api.printnode.com/static/test/pdf/multipage.pdf" // {pdfUrl ? pdfUrl : signPdfUrl} + > + {Array.from(new Array(numPages), (el, index) => ( + { + console.log("annotation error", error); + }} + /> + ))} + +
+
+ ) : ( + //
+ pdfNewWidth ? pdfNewWidth : pdfOriginalWidth, + height: window.innerHeight - 110 + "px", + }} + noScrollY={false} + noScrollX={pdfNewWidth < pdfOriginalWidth ? false : true} + > +
+
+ + + Email sent successful! + + +
+ + {recipient + ? !pdfUrl && + !isAlreadySign.mssg && + xyPostion.length > 0 && + xyPostion.map((data, ind) => { + return ( + + {data.pageNumber === pageNumber && + data.pos.map((pos) => { + return pos && pos.SignUrl ? ( + { + setIsSignPad(true); + setSignKey(pos.key); + }} + > +
+ no img { + setIsSignPad(true); + setSignKey(pos.key); + }} + src={pos.SignUrl} + style={{ + width: "100%", + height: "100%", + objectFit: "contain", + }} + /> +
+
+ ) : ( + { + setIsSignPad(true); + setSignKey(pos.key); + setIsStamp(pos.isStamp); + }} + > +
+ {pos.isStamp ? "stamp" : "signature"} +
+
+ ); + })} +
+ ); + }) + : pdfRequest + ? signerPos.map((data, key) => { + return ( + + {checkSignedSignes(data)} + + ); + }) + : placeholder + ? signerPos.map((data, ind) => { + return ( + + {data.placeHolder.map((placeData, index) => { + return ( + + {placeData.pageNumber === pageNumber && + placeData.pos.map((pos) => { + return ( + + handleTabDrag(pos.key, data.signerObjId) + } + size={{ + width: pos.Width ? pos.Width : 150, + height: pos.Height ? pos.Height : 60, + }} + lockAspectRatio={ + pos.Width ? pos.Width / pos.Height : 2.5 + } + resizeHandleStyles={{ + bottom: { display: "none" }, + right: { display: "none" }, + bottomRight: { display: "block" }, + }} + onDragStop={handleStop} + default={{ + x: pos.xPosition, + y: pos.yPosition, + }} + onResize={( + e, + direction, + ref, + delta, + position + ) => { + handleImageResize( + ref, + pos.key, + data.signerObjId, + position + ); + }} + > +
{ + e.stopPropagation(); + handleDeleteSign( + pos.key, + data.signerObjId + ); + }} + style={{ + position: "absolute", + right: 0, + display: "inline-block", + background: themeColor(), + cursor: "pointer", + padding: "0px 10px", + zIndex: 10, + }} + > + x +
+
+ {pos.isStamp ? "stamp" : "signature"} +
+
+ ); + })} +
+ ); + })} +
+ ); + }) + : xyPostion.map((data, ind) => { + return ( + + {data.pageNumber === pageNumber && + data.pos.map((pos) => { + return pos && pos.SignUrl ? ( + handleTabDrag(pos.key)} + size={{ + width: pos.Width ? pos.Width : 150, + height: pos.Height ? pos.Height : 60, + }} + onDragStop={handleStop} + default={{ + x: pos.xPosition, + y: pos.yPosition, + }} + onResize={( + e, + direction, + ref, + delta, + position + ) => { + handleImageResize( + ref, + pos.key, + direction, + position + ); + }} + onClick={() => { + if (!isDragging) { + setIsSignPad(true); + setSignKey(pos.key); + setIsStamp(pos.isStamp); + } + }} + > +
{ + e.stopPropagation(); + handleDeleteSign(pos.key); + setIsStamp(false); + }} + style={{ + position: "absolute", + right: 0, + display: "inline-block", + background: themeColor(), + cursor: "pointer", + padding: "0px 10px", + }} + > + x +
+
+ signimg { + setSignKey(pos.key); + setIsSignPad(true); + setIsStamp(pos.isStamp); + }} + src={pos.SignUrl} + style={{ + width: "100%", + height: "100%", + objectFit: "contain", + }} + /> +
+
+ ) : ( + handleTabDrag(pos.key, e)} + size={{ + width: pos.Width ? pos.Width : 150, + height: pos.Height ? pos.Height : 60, + }} + onDragStop={handleStop} + default={{ + x: pos.xPosition, + y: pos.yPosition, + }} + > +
{ + if (!isDragging) { + e.stopPropagation(); + setIsSignPad(true); + setSignKey(pos.key); + setIsStamp(pos.isStamp); + } + }} + style={{ + cursor: "all-scroll", + zIndex: 10, + position: "absolute", + borderStyle: "dashed", + width: "150px", + height: "60px", + borderColor: themeColor(), + background: "#daebe0", + textAlign: "center", + justifyContent: "center", + alignItems: "center", + borderWidth: "0.2px", + }} + > +
{ + e.stopPropagation(); + handleDeleteSign(pos.key); + setIsStamp(false); + }} + style={{ + position: "absolute", + right: 0, + display: "inline-block", + background: themeColor(), + cursor: "pointer", + padding: "0px 10px", + }} + > + x +
+
+ {pos.isStamp ? "stamp" : "signature"} +
+
+
+ ); + })} +
+ ); + })} + + {/* this component for render pdf document is in middle of the component */} + + { + if (recipient) { + setPdfLoadFail(true); + } + }} + onLoadSuccess={pageDetails} + ref={pdfRef} + file={pdfUrl ? pdfUrl : pdfDetails[0] && pdfDetails[0].URL} + // file="https://qikinnovation.ams3.digitaloceanspaces.com/exported_file_2068_2023-08-30T05%3A04%3A26.334Z.pdf" // "https://api.printnode.com/static/test/pdf/multipage.pdf" // {pdfUrl ? pdfUrl : signPdfUrl} + > + {Array.from(new Array(numPages), (el, index) => ( + { + console.log("annotation error", error); + }} + /> + ))} + +
+
+ )} + + ); +} + +export default RenderPdf; diff --git a/microfrontends/SignDocuments/src/Component/component/signPad.js b/microfrontends/SignDocuments/src/Component/component/signPad.js new file mode 100644 index 000000000..ddbe292a3 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/signPad.js @@ -0,0 +1,476 @@ +import React from "react"; +import { useRef, useState } from "react"; +import SignatureCanvas from "react-signature-canvas"; +import redPen from "../../assests/redPen.png"; +import bluePen from "../../assests/bluePen.png"; +import blackPen from "../../assests/blackPen.png"; +import Modal from "react-bootstrap/Modal"; +import { themeColor } from "../../utils/ThemeColor/backColor"; +import { useEffect } from "react"; + +function SignPad({ + isSignPad, + isStamp, + setIsImageSelect, + onSaveSign, + setIsSignPad, + setImage, + isImageSelect, + imageRef, + onImageChange, + + onSaveImage, + image, + defaultSign, + setSignature, +}) { + const [penColor, setPenColor] = useState("blue"); + const allColor = [bluePen, redPen, blackPen]; + const canvasRef = useRef(null); + const [isDefaultSign, setIsDefaultSign] = useState(false); + const [isTab, setIsTab] = useState("signature"); + const [isSignImg, setIsSignImg] = useState(""); + //function for clear signature + const handleClear = () => { + if (canvasRef.current) { + canvasRef.current.clear(); + } + + setIsSignImg(""); + }; + //function for set signature url + const handleSignatureChange = (dataURL) => { + // canvasRef.current.backgroundColor = 'rgb(165, 26, 26)' + setSignature(canvasRef.current.toDataURL()); + setIsSignImg(canvasRef.current.toDataURL()); + }; + + //save button component + const SaveBtn = () => { + // console.log("isSign",isSignImg,image) + + return ( +
+ {!isStamp && !isImageSelect && ( + + )} + + +
+ ); + }; + + useEffect(() => { + // Load the default signature after the component mounts + if (canvasRef.current) { + canvasRef.current.fromDataURL(isSignImg); + } + }, [isTab]); + return ( +
+ {/*isSignPad */} + +
+
+ {isStamp ? ( + + Upload Image + + ) : ( + <> +
+ { + setIsDefaultSign(false); + setIsImageSelect(false); + setIsTab("signature"); + setImage(); + }} + style={{ + color: isTab === "signature" ? themeColor() : "#515252", + + marginLeft: "2px", + }} + className="signTab" + > + Signature + + +
+
+
+ { + setIsDefaultSign(false); + setIsImageSelect(true); + setIsTab("uploadImage"); + }} + style={{ + color: isTab === "uploadImage" ? themeColor() : "#515252", + }} + className="signTab" + > + Upload Image + +
+
+ + {defaultSign && ( +
+ { + setIsDefaultSign(true); + setIsImageSelect(true); + setIsTab("mysignature"); + setImage(); + }} + style={{ + color: + isTab === "mysignature" ? themeColor() : "#515252", + }} + className="signTab" + > + My Signature + +
+
+ )} + + )} +
+ + +
+ + {/* signature modal */} + + {isDefaultSign ? ( + <> +
+ stamp img +
+
+ +
+ + ) : isImageSelect || isStamp ? ( + !image ? ( +
imageRef.current.click()} + > + + +
Upload
+
+ ) : ( + <> +
+ print img +
+
+ +
+ + ) + ) : ( + <> + {/* {isSignImg ? ( +
+ preview image +
+ ) : ( */} + + handleSignatureChange(canvasRef.current.toDataURL()) + } + dotSize={1} + /> + {/* )} */} + +
+
+ {allColor.map((data, key) => { + return ( + pen img { + if (key === 0) { + setPenColor("blue"); + } else if (key === 1) { + setPenColor("red"); + } else if (key === 2) { + setPenColor("black"); + } + }} + src={data} + width={20} + height={20} + /> + // + ); + })} +
+ + +
+ + )} +
+ + {/* + {!isStamp && !isImageSelect && ( + + )} + + + */} +
+
+ ); +} + +export default SignPad; diff --git a/microfrontends/SignDocuments/src/Component/component/signedby.js b/microfrontends/SignDocuments/src/Component/component/signedby.js new file mode 100644 index 000000000..3d233a4d9 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/signedby.js @@ -0,0 +1,68 @@ +import React from "react"; +import { themeColor } from "../../utils/ThemeColor/backColor"; +import "../../css/signature.css"; +function Signedby({ pdfDetails }) { + const getFirstLetter = (name) => { + const firstLetter = name.charAt(0); + return firstLetter; + }; + + return ( + +
+
+ Signed By +
+
+
+
+ + {" "} + {getFirstLetter(pdfDetails.ExtUserPtr.Name)} + +
+
+ {pdfDetails.ExtUserPtr.Name} + {pdfDetails.ExtUserPtr.Email} +
+
+
+
+ + ); +} + +export default Signedby; diff --git a/microfrontends/SignDocuments/src/Component/component/signerListPlace.js b/microfrontends/SignDocuments/src/Component/component/signerListPlace.js new file mode 100644 index 000000000..28a5231d7 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/component/signerListPlace.js @@ -0,0 +1,163 @@ +import React, { useState } from "react"; +import check from "../../assests/checkBox.png"; +import { themeColor } from "../../utils/ThemeColor/backColor"; + +function SignerListPlace({ + signerPos, + signersdata, + isSelectListId, + setSignerObjId, + setIsSelectId, + setContractName +}) { + const color = [ + "#93a3db", + "#e6c3db", + "#c0e3bc", + "#bce3db", + "#b8ccdb", + "#ceb8db", + "#ffccff", + "#99ffcc", + "#cc99ff", + "#ffcc99", + "#66ccff", + "#ffffcc", + ]; + + const nameColor = [ + "#304fbf", + "#7d5270", + "#5f825b", + "#578077", + "#576e80", + "#6d527d", + "#cc00cc", + "#006666", + "#cc00ff", + "#ff9900", + "#336699", + "#cc9900", + ]; + const [isHover, setIsHover] = useState(); + + //function for onhover signer name change background color + const onHoverStyle = (ind) => { + const style = { + background: color[ind % color.length], + padding: "10px", + marginTop: "2px", + display: "flex", + flexDirection: "row", + borderBottom: "1px solid #e3e1e1", + }; + return style; + }; + //function for onhover signer name remove background color + const nonHoverStyle = (ind) => { + const style = { + // width:"250px", + padding: "10px", + marginTop: "2px", + display: "flex", + flexDirection: "row", + + justifyContent: "space-between", + }; + return style; + }; + + const getFirstLetter = (name) => { + const firstLetter = name.charAt(0); + return firstLetter; + }; + + return ( +
+
+ Reicipents +
+ +
+ {signersdata.Signers && + signersdata.Signers.map((obj, ind) => { + return ( +
setIsHover(ind)} + onMouseLeave={() => setIsHover(null)} + key={ind} + style={ + isHover === ind || isSelectListId === ind + ? onHoverStyle(ind) + : nonHoverStyle(ind) + } + onClick={() => { + setSignerObjId(obj.objectId); + setIsSelectId(ind); + setContractName(obj.className) + }} + > +
+
+ + {" "} + {getFirstLetter(obj.Name)} + +
+
+ {obj.Name} + {obj.Email} +
+
+ {signerPos.map((data, key) => { + return ( + data.signerObjId === obj.objectId && ( +
+ no img +
+ ) + ); + })} + +
+
+ ); + })} +
+ +
+ ); +} + +export default SignerListPlace; diff --git a/microfrontends/SignDocuments/src/Component/login.js b/microfrontends/SignDocuments/src/Component/login.js new file mode 100644 index 000000000..5ec871738 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/login.js @@ -0,0 +1,310 @@ +import React, { useState } from "react"; +import signLogo from "../assests/mailLogo.png"; +import "../css/LoginPage.css"; +import loader from "../assests/loader2.gif"; +import axios from "axios"; +import { useParams } from "react-router-dom"; +import { themeColor } from "../utils/ThemeColor/backColor"; +import { useEffect } from "react"; +import { useNavigate } from "react-router-dom"; +// import { useHistory } from "react-router-dom/cjs/react-router-dom.min"; +function Login() { + const { id, userMail, serverUrl,serverId } = useParams(); + let navigate = useNavigate(); + // const history = useHistory(); + + const [email, setEmail] = useState(userMail); + const [OTP, setOTP] = useState(""); + const [EnterOTP, setEnterOtp] = useState(false); + const [loading, setLoading] = useState(false); + + const [isLoading, setIsLoading] = useState(true); + + useEffect(() => { + handleServerUrl(); + }, []); + //https://qik-ai-org.github.io/Sign-MicroappV2/#/login/LqgGeZHd17/raktima.c@qik.ai/https:%2F%2Fserver3.qik.ai%2Fdefaultssty%2F&defaultssty&contracts + // login/LqgGeZHd17/raktima.c@qik.ai/https:%2F%2Fserver3.qik.ai%2Fdefaultssty&defaultssty&contracts + //function generate serverUrl and parseAppId from url and save it in local storage + const handleServerUrl = () => { + // console.log("params", serverUrl); + //split url in array from '&' + localStorage.clear(); + const checkSplit = serverUrl.split("&"); + const server = checkSplit[0]; + const parseId = checkSplit[1]; + const appName = checkSplit[2]; + // console.log("appName", appName); + + const newServer = server.replaceAll("%2F", "/"); + localStorage.setItem("baseUrl", newServer); + localStorage.setItem("parseAppId", parseId); + localStorage.setItem("_appName", appName); + setIsLoading(false); + // console.log("checkSPlit", newServer, parseId, appName); + }; + + const handleChange = (event) => { + const { value } = event.target; + + setOTP(value); + }; + + //send email OTP function + + const SendOtp = async (e) => { + const serverUrl = + localStorage.getItem("baseUrl") && localStorage.getItem("baseUrl"); + + const parseId = + localStorage.getItem("parseAppId") && localStorage.getItem("parseAppId"); + // console.log("server",serverUrl) + if (serverUrl && localStorage) { + setLoading(true); + e.preventDefault(); + setEmail(email); + + try { + // const { baseUrl, parseAppId, mobile } = this.state; + let url = `${serverUrl}functions/SendOTPMailV1/`; + const headers = { + "Content-Type": "application/json", + "X-Parse-Application-Id": parseId, + }; + let body = { + email: email.toString(), + // appId: { + // __type: "Pointer", + // className: "w_appinfo", + // objectId: localStorage.getItem("_app_objectId"), + // }, + }; + let Otp = await axios.post(url, body, { headers: headers }); + + if (Otp) { + setLoading(false); + setEnterOtp(true); + } + } catch (error) { + // this.setState({ loading: false }); + } + } else { + alert("something went wrong!"); + } + }; + + //verify OTP send on via email + const VerifyOTP = async (e) => { + e.preventDefault(); + const serverUrl = + localStorage.getItem("baseUrl") && localStorage.getItem("baseUrl"); + + const parseId = + localStorage.getItem("parseAppId") && localStorage.getItem("parseAppId"); + + if (OTP) { + setLoading(true); + + try { + // AuthLoginAs + let url = `${serverUrl}functions/AuthLoginAsMail/`; + const headers = { + "Content-Type": "application/json", + "X-Parse-Application-Id": parseId, + }; + let body = { + email: email, + // email, + otp: OTP, + }; + let user = await axios.post(url, body, { headers: headers }); + // console.log("user", user.data.result); + if (user.data.result === "Invalid Otp") { + alert("Invalid Otp"); + setLoading(false); + }else if(user.data.result === "user not found!"){ + alert("User not found!"); + setLoading(false); + } + else { + let _user = user.data.result; + + localStorage.setItem("UserInformation", JSON.stringify(_user)); + // localStorage.setItem("userEmail", email); + localStorage.setItem("username", _user.name); + // console.log("session token", _user.sessionToken); + localStorage.setItem("accesstoken", _user.sessionToken); + + setLoading(false); + //navigate user to on signature page + // history.push(`/recipientSignPdf/${id}/${_user.phone}`); + navigate(`/recipientSignPdf/${id}/${_user.phone}`); + } + } catch (error) {} + } else { + alert("Please Enter OTP!"); + } + }; + + return ( + + {isLoading ? ( +
+ no img + + {isLoading.message} + +
+ ) : ( +
+
+
+ sign img +
+
+ + {!EnterOTP ? ( +
+
+
+

Welcome Back !

+ + Verification code is sent to your email + +
+
+ +
+
+
+
+ {loading ? ( + + ) : ( + + )} +
+
+
+
+ ) : ( +
+
+
+

Welcome Back !

+ You will get a OTP via Email +
+
+ + + +
+
+
+
+ {loading ? ( + + ) : ( + + )} +
+
+
+
+ )} +
+ )} +
+ ); +} + +export default Login; diff --git a/microfrontends/SignDocuments/src/Component/placeHolderSign.js b/microfrontends/SignDocuments/src/Component/placeHolderSign.js new file mode 100644 index 000000000..fdcb058e2 --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/placeHolderSign.js @@ -0,0 +1,1118 @@ +import React, { useState, useRef, useEffect } from "react"; +import { Document, Page, pdfjs } from "react-pdf"; +import axios from "axios"; +import "../css/./signature.css"; +import Modal from "react-bootstrap/Modal"; +import sign from "../assests/sign3.png"; +import stamp from "../assests/stamp2.png"; +import { themeColor } from "../utils/ThemeColor/backColor"; +import { DndProvider } from "react-dnd"; +import { HTML5Backend } from "react-dnd-html5-backend"; +import { useDrag, useDrop } from "react-dnd"; +import { Rnd } from "react-rnd"; +import RenderAllPdfPage from "./component/renderAllPdfPage"; +import FieldsComponent from "./component/fieldsComponent"; +import RSC from "react-scrollbars-custom"; +import Tour from "reactour"; +import { useParams } from "react-router-dom"; +import Loader from "./component/loader"; +import HandleError from "./component/HandleError"; +import Nodata from "./component/Nodata"; +import SignerListPlace from "./component/signerListPlace"; +import Header from "./component/header"; +import { contactBook, contractUsers } from "../utils/Utils"; +import RenderPdf from "./component/renderPdf"; + +function PlaceHolderSign() { + pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`; + + const [pdfDetails, setPdfDetails] = useState([]); + const [isMailSend, setIsMailSend] = useState(false); + const [allPages, setAllPages] = useState(null); + const numPages = 1; + const [pageNumber, setPageNumber] = useState(1); + const [signBtnPosition, setSignBtnPosition] = useState([]); + const [xySignature, setXYSignature] = useState({}); + const signRef = useRef(null); + const dragRef = useRef(null); + const [dragKey, setDragKey] = useState(); + const [signersdata, setSignersData] = useState(); + const [signerObjId, setSignerObjId] = useState(); + const [signerPos, setSignerPos] = useState([]); + + const [isSelectListId, setIsSelectId] = useState(); + const [isSendAlert, setIsSendAlert] = useState({}); + const [isSend, setIsSend] = useState(false); + const [isLoading, setIsLoading] = useState({ + isLoad: true, + message: "This might take some time", + }); + const [handleError, setHandleError] = useState(); + const [currentEmail, setCurrentEmail] = useState(); + const [pdfNewWidth, setPdfNewWidth] = useState(); + const [placeholderTour, setPlaceholderTour] = useState(true); + const [checkTourStatus, setCheckTourStatus] = useState(false); + const [tourStatus, setTourStatus] = useState([]); + const [signerUserId, setSignerUserId] = useState(); + const [noData, setNoData] = useState(false); + const [pdfOriginalWidth, setPdfOriginalWidth] = useState(); + const [contractName, setContractName] = useState(""); + const { docId } = useParams(); + + const color = [ + "#93a3db", + "#e6c3db", + "#c0e3bc", + "#bce3db", + "#b8ccdb", + "#ceb8db", + "#ffccff", + "#99ffcc", + "#cc99ff", + "#ffcc99", + "#66ccff", + "#ffffcc", + ]; + + const [{ isOver }, drop] = useDrop({ + accept: "BOX", + drop: (item, monitor) => addPositionOfSignature(item, monitor), + collect: (monitor) => ({ + isOver: !!monitor.isOver(), + }), + }); + const [{ isDragSign }, dragSignature] = useDrag({ + type: "BOX", + + item: { + type: "BOX", + id: 1, + text: "drag me", + }, + collect: (monitor) => ({ + isDragSign: !!monitor.isDragging(), + }), + }); + const [{ isDragStamp }, dragStamp] = useDrag({ + type: "BOX", + + item: { + type: "BOX", + id: 2, + text: "drag me", + }, + collect: (monitor) => ({ + isDragStamp: !!monitor.isDragging(), + }), + }); + + const [{ isDragSignatureSS }, dragSignatureSS] = useDrag({ + type: "BOX", + + item: { + type: "BOX", + id: 3, + text: "drag me", + }, + collect: (monitor) => ({ + isDragSignatureSS: !!monitor.isDragging(), + }), + }); + const isMobile = window.innerWidth < 712; + const [{ isDragStampSS }, dragStampSS] = useDrag({ + type: "BOX", + + item: { + type: "BOX", + id: 4, + text: "drag me", + }, + collect: (monitor) => ({ + isDragStampSS: !!monitor.isDragging(), + }), + }); + + const rowLevel = + localStorage.getItem("rowlevel") && + JSON.parse(localStorage.getItem("rowlevel")); + const objectId = + rowLevel && rowLevel.id + ? rowLevel.id + : rowLevel?.objectId && rowLevel.objectId; + + const documentId = docId ? docId : objectId && objectId; + const senderUser = + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ) && + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ); + const jsonSender = JSON.parse(senderUser); + + useEffect(() => { + const clientWidth = window.innerWidth; + const value = docId ? 80 : 30; + const pdfWidth = clientWidth - 160 - 200 - value; + //160 is width of left side, 200 is width of right side component and 50 is space of middle compoent + //pdf from left and right component + setPdfNewWidth(pdfWidth); + if (documentId) { + getDocumentDetails(); + } + }, []); + + //function for get document details + const getDocumentDetails = async () => { + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document?where={"objectId":"${documentId}"}&include=ExtUserPtr,Signers`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + + if (res[0] && res.length > 0) { + setPdfDetails(res); + + const currEmail = res[0].ExtUserPtr.Email; + const filterCurrEmail = res[0].Signers.filter( + (data) => data.Email === currEmail + ); + + setCurrentEmail(filterCurrEmail); + setSignersData(res[0]); + + setSignerObjId(res[0].Signers[0].objectId); + setContractName(res[0].Signers[0].className); + setIsSelectId(0); + } else { + setNoData(true); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + }) + .catch((err) => { + console.log("axois err ", err); + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + }); + + const res = await contractUsers(jsonSender.objectId); + + if (res[0] && res.length) { + setSignerUserId(res[0].objectId); + const tourstatus = res[0].TourStatus && res[0].TourStatus; + if (tourstatus && tourstatus.length > 0) { + setTourStatus(tourstatus); + const checkTourRecipients = tourstatus.filter( + (data) => data.placeholder + ); + if (checkTourRecipients && checkTourRecipients.length > 0) { + setCheckTourStatus(checkTourRecipients[0].placeholder); + } + } + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } else if (res === "Error: Something went wrong!") { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + } else if (res.length === 0) { + const res = await contactBook(jsonSender.objectId); + if (res[0] && res.length) { + setSignerUserId(res[0].objectId); + const tourstatus = res[0].TourStatus && res[0].TourStatus; + if (tourstatus && tourstatus.length > 0) { + setTourStatus(tourstatus); + const checkTourRecipients = tourstatus.filter( + (data) => data.placeholder + ); + if (checkTourRecipients && checkTourRecipients.length > 0) { + setCheckTourStatus(checkTourRecipients[0].placeholder); + } + } + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + } + // await axios + // .get( + // `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + // "_appName" + // )}_Contactbook?where={"UserId": {"__type": "Pointer","className": "_User", "objectId":"${ + // jsonSender.objectId + // }"}}`, + // { + // headers: { + // "Content-Type": "application/json", + // "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + // "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + // }, + // } + // ) + // .then((Listdata) => { + // const json = Listdata.data; + // const res = json.results; + + // if (res[0] && res.length) { + // setSignerUserId(res[0].objectId); + // const tourstatus = res[0].TourStatus && res[0].TourStatus; + // if (tourstatus && tourstatus.length > 0) { + // setTourStatus(tourstatus); + // const checkTourRecipients = tourstatus.filter( + // (data) => data.placeholder + // ); + // if (checkTourRecipients && checkTourRecipients.length > 0) { + // setCheckTourStatus(checkTourRecipients[0].placeholder); + // } + // } + // const loadObj = { + // isLoad: false, + // }; + // setIsLoading(loadObj); + // } + // }) + // .catch((err) => { + // const loadObj = { + // isLoad: false, + // }; + // setHandleError("Error: Something went wrong!"); + // setIsLoading(loadObj); + // }); + }; + //function for setting position after drop signature button over pdf + const addPositionOfSignature = (item, monitor) => { + const key = Math.floor(1000 + Math.random() * 9000); + const offset = monitor.getClientOffset(); + //adding and updating drop position in array when user drop signature button in div + const containerRect = document + .getElementById("container") + .getBoundingClientRect(); + const x = offset.x - containerRect.left; + const y = offset.y - containerRect.top; + const ybottom = containerRect.bottom - offset.y; + + const dropData = []; + const xyPosArr = []; + const dropObj = { + xPosition: x - signBtnPosition[0].xPos, + yPosition: y - signBtnPosition[0].yPos, + isStamp: isDragStamp ? true : false, + key: key, + isDrag: false, + firstXPos: signBtnPosition[0].xPos, + firstYPos: signBtnPosition[0].yPos, + yBottom: ybottom, + }; + dropData.push(dropObj); + const xyPos = { + pageNumber: pageNumber, + pos: dropData, + }; + + xyPosArr.push(xyPos); + const filterSignerPos = signerPos.filter( + (data) => data.signerObjId === signerObjId + ); + + //add signers objId first inseretion + if (filterSignerPos.length > 0) { + const colorIndex = signerPos + .map((e) => e.signerObjId) + .indexOf(signerObjId); + + const getPlaceHolder = filterSignerPos[0].placeHolder; + const updatePlace = getPlaceHolder.filter( + (data) => data.pageNumber !== pageNumber + ); + const getPageNumer = getPlaceHolder.filter( + (data) => data.pageNumber === pageNumber + ); + + //add entry of position for same signer on multiple page + if (getPageNumer.length > 0) { + const getPos = getPageNumer[0].pos; + + //if (updateData.length > dropData.length) { + const newSignPos = getPos.concat(dropData); + + let xyPos = { + pageNumber: pageNumber, + pos: newSignPos, + }; + updatePlace.push(xyPos); + + let placeHolderPos = { + blockColor: color[isSelectListId], + signerObjId: signerObjId, + placeHolder: updatePlace, + signerPtr: { + __type: "Pointer", + className: `${contractName}`, + objectId: signerObjId, + }, + }; + + signerPos.splice(colorIndex, 1, placeHolderPos); + } else { + // const newSignPos = getPlaceHolder.push(xyPosArr[0]); + const newSignPoss = getPlaceHolder.concat(xyPosArr[0]); + + let placeHolderPos = { + blockColor: color[isSelectListId], + signerObjId: signerObjId, + placeHolder: newSignPoss, + signerPtr: { + __type: "Pointer", + className: `${contractName}`, + objectId: signerObjId, + }, + }; + + signerPos.splice(colorIndex, 1, placeHolderPos); + } + } else { + let placeHolderPos = { + signerPtr: { + __type: "Pointer", + className: `${contractName}`, + objectId: signerObjId, + }, + signerObjId: signerObjId, + blockColor: color[isSelectListId], + placeHolder: xyPosArr, + }; + + setSignerPos((prev) => [...prev, placeHolderPos]); + } + }; + //function for get pdf page details + const pageDetails = async (pdf) => { + pdf.getPage(1).then((pdfPage) => { + const pageWidth = pdfPage.view[2]; + + setPdfOriginalWidth(pageWidth); + }); + }; + //function for save x and y position and show signature tab on that position + const handleTabDrag = (key, signerId) => { + setDragKey(key); + setSignerObjId(signerId); + }; + + //function for set and update x and y postion after drag and drop signature tab + const handleStop = (event, dragElement) => { + const containerRect = document + .getElementById("container") + .getBoundingClientRect(); + + const ybottom = containerRect.height - dragElement.y; + + if (dragKey >= 0) { + const filterSignerPos = signerPos.filter( + (data) => data.signerObjId === signerObjId + ); + if (filterSignerPos.length > 0) { + const getPlaceHolder = filterSignerPos[0].placeHolder; + + const getPageNumer = getPlaceHolder.filter( + (data) => data.pageNumber === pageNumber + ); + + if (getPageNumer.length > 0) { + const getXYdata = getPageNumer[0].pos; + + const getPosData = getXYdata; + const addSignPos = getPosData.map((url, ind) => { + if (url.key === dragKey) { + return { + ...url, + xPosition: dragElement.x, + yPosition: dragElement.y, + isDrag: true, + yBottom: ybottom, + }; + } + return url; + }); + + const newUpdateSignPos = getPlaceHolder.map((obj, ind) => { + if (obj.pageNumber === pageNumber) { + return { ...obj, pos: addSignPos }; + } + return obj; + }); + const newUpdateSigner = signerPos.map((obj, ind) => { + if (obj.signerObjId === signerObjId) { + return { ...obj, placeHolder: newUpdateSignPos }; + } + return obj; + }); + setSignerPos(newUpdateSigner); + } + } + + // } + } + }; + + //function for delete signature block + const handleDeleteSign = (key, signerId) => { + const updateData = []; + const filterSignerPos = signerPos.filter( + (data) => data.signerObjId === signerId + ); + + if (filterSignerPos.length > 0) { + const getPlaceHolder = filterSignerPos[0].placeHolder; + + const getPageNumer = getPlaceHolder.filter( + (data) => data.pageNumber === pageNumber + ); + + if (getPageNumer.length > 0) { + const getXYdata = getPageNumer[0].pos.filter( + (data, ind) => data.key !== key + ); + + if (getXYdata.length > 0) { + updateData.push(getXYdata); + const newUpdatePos = getPlaceHolder.map((obj, ind) => { + if (obj.pageNumber === pageNumber) { + return { ...obj, pos: updateData[0] }; + } + return obj; + }); + + const newUpdateSigner = signerPos.map((obj, ind) => { + if (obj.signerObjId === signerId) { + return { ...obj, placeHolder: newUpdatePos }; + } + return obj; + }); + setSignerPos(newUpdateSigner); + } else { + const updateFilter = signerPos.filter( + (data) => data.signerObjId !== signerId + ); + const getRemainPage = filterSignerPos[0].placeHolder.filter( + (data) => data.pageNumber !== pageNumber + ); + + if (getRemainPage && getRemainPage.length > 0) { + const newUpdatePos = filterSignerPos.map((obj, ind) => { + if (obj.signerObjId === signerId) { + return { ...obj, placeHolder: getRemainPage }; + } + return obj; + }); + let signerupdate = []; + signerupdate = signerPos.filter( + (data) => data.signerObjId !== signerId + ); + signerupdate.push(newUpdatePos[0]); + setSignerPos(signerupdate); + } else { + setSignerPos(updateFilter); + } + } + } + } + }; + + //function for resize image and update width and height + const handleImageResize = (ref, key, signerId, position) => { + const filterSignerPos = signerPos.filter( + (data) => data.signerObjId === signerId + ); + if (filterSignerPos.length > 0) { + const getPlaceHolder = filterSignerPos[0].placeHolder; + const getPageNumer = getPlaceHolder.filter( + (data) => data.pageNumber === pageNumber + ); + if (getPageNumer.length > 0) { + const getXYdata = getPageNumer[0].pos.filter( + (data, ind) => data.key === key && data.Width && data.Height + ); + if (getXYdata.length > 0) { + const getXYdata = getPageNumer[0].pos; + const getPosData = getXYdata; + const addSignPos = getPosData.map((url, ind) => { + if (url.key === key) { + return { + ...url, + Width: ref.offsetWidth, + Height: ref.offsetHeight, + xPosition: position.x, + }; + } + return url; + }); + + const newUpdateSignPos = getPlaceHolder.map((obj, ind) => { + if (obj.pageNumber === pageNumber) { + return { ...obj, pos: addSignPos }; + } + return obj; + }); + const newUpdateSigner = signerPos.map((obj, ind) => { + if (obj.signerObjId === signerId) { + return { ...obj, placeHolder: newUpdateSignPos }; + } + return obj; + }); + setSignerPos(newUpdateSigner); + } else { + const getXYdata = getPageNumer[0].pos; + + const getPosData = getXYdata; + + const addSignPos = getPosData.map((url, ind) => { + if (url.key === key) { + return { + ...url, + Width: ref.offsetWidth, + Height: ref.offsetHeight, + }; + } + return url; + }); + + const newUpdateSignPos = getPlaceHolder.map((obj, ind) => { + if (obj.pageNumber === pageNumber) { + return { ...obj, pos: addSignPos }; + } + return obj; + }); + const newUpdateSigner = signerPos.map((obj, ind) => { + if (obj.signerObjId === signerId) { + return { ...obj, placeHolder: newUpdateSignPos }; + } + return obj; + }); + setSignerPos(newUpdateSigner); + } + } + } + }; + + //function for change page + function changePage(offset) { + setSignBtnPosition([]); + setPageNumber((prevPageNumber) => prevPageNumber + offset); + } + + //function for capture position on hover signature button + const handleDivClick = (e) => { + // if (signBtnPosition.length == 0) { + + const divRect = e.currentTarget.getBoundingClientRect(); + const mouseX = e.clientX - divRect.left; + const mouseY = e.clientY - divRect.top; + + const xyPosition = { + xPos: mouseX, + yPos: mouseY, + }; + + setXYSignature(xyPosition); + }; + + //function for capture position of x and y on hover signature button last position + const handleMouseLeave = (e) => { + setSignBtnPosition([xySignature]); + }; + + const alertSendEmail = async () => { + if (signerPos.length === signersdata.Signers.length) { + const alert = { + mssg: "confirm", + alert: true, + }; + setIsSendAlert(alert); + } else { + const alert = { + mssg: "sure", + alert: true, + }; + + setIsSendAlert(alert); + } + }; + const sendEmailToSigners = async () => { + const loadObj = { + isLoad: true, + message: "This might take some time", + }; + setIsLoading(loadObj); + setIsSendAlert({}); + + let sendMail; + const expireDate = signersdata.ExpiryDate.iso; + const newDate = new Date(expireDate); + const localExpireDate = newDate.toLocaleDateString("en-US", { + day: "numeric", + month: "long", + year: "numeric", + }); + + let sender = signersdata.ExtUserPtr.Email; + // let sender ="raktima.c@qik.ai" + const signerMail = signersdata.Signers; + + for (let i = 0; i < signerMail.length; i++) { + try { + const imgPng = + "https://qikinnovation.ams3.digitaloceanspaces.com/logo.png"; + // "https://qikinnovation.ams3.digitaloceanspaces.com/mailLogo_2023-08-18T12%3A51%3A31.573Z.png"; + + let url = `${localStorage.getItem("baseUrl")}functions/sendmailv3/`; + const headers = { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + sessionToken: localStorage.getItem("accesstoken"), + }; + const serverUrl = localStorage.getItem("baseUrl"); + const newServer = serverUrl.replaceAll("/", "%2F"); + + const serverParams = `${newServer}&${localStorage.getItem( + "parseAppId" + )}&${localStorage.getItem("_appName")}`; + + let signPdf = `https://qik-ai-org.github.io/Sign-MicroappV2/#/login/${signersdata.objectId}/${signerMail[i].Email}/${serverParams}`; + + const themeBGcolor = themeColor(); + let params = { + recipient: signerMail[i].Email, + subject: `${signersdata.ExtUserPtr.Name} has requested you to sign ${signersdata.Name}`, + from: sender, + + html: + "

Digital Signature Request

" + + signersdata.ExtUserPtr.Name + + " has requested you to review and sign " + + signersdata.Name + + "

Sender " + + sender + + "
Organization Name __
Expire on " + + localExpireDate + + "

This is an automated email from Open Sign. For any queries regarding this email, please contact the sender " + + sender + + " directly.If you think this email is inappropriate or spam, you may file a complaint with Open Sign here.

", + }; + sendMail = await axios.post(url, params, { headers: headers }); + } catch (error) { + console.log("error", error); + } + } + + if (sendMail.data.result.status === "success") { + try { + const data = { + Placeholders: signerPos, + SignedUrl: pdfDetails[0].URL, + }; + + await axios + .put( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document/${documentId}`, + data, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((result) => { + // const res = result.data; + setIsSend(true); + setIsMailSend(true); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + // console.log("save res", res); + }) + .catch((err) => { + console.log("axois err ", err); + }); + } catch (e) { + console.log("error", e); + } + } + }; + //here you can add your messages in content and selector is key of particular steps + + const tourConfig = [ + { + selector: '[data-tut="reactourFirst"]', + content: `Select a recipient from this list to add a place-holder where he is supposed to sign.The placeholder will appear in the same colour as the recipient name once you drop it on the document.`, + position: "top", + + style: { fontSize: "13px" }, + }, + { + selector: '[data-tut="reactourSecond"]', + content: `Drag the signature or stamp placeholder onto the PDF to choose your desired signing location.`, + position: "top", + style: { fontSize: "13px" }, + }, + { + selector: '[data-tut="reactourThird"]', + content: `Drag the placeholder for a recipient anywhere on the document.Remember, it will appear in the same colour as the name of the recipient for easy reference.`, + position: "top", + style: { fontSize: "13px" }, + }, + { + selector: '[data-tut="reactourFour"]', + content: `Clicking "Send" button will share the document with all the recipients.It will also send out emails to everyone on the recipients list.`, + position: "top", + style: { fontSize: "13px" }, + }, + ]; + + //function for update TourStatus + const closeTour = async () => { + setPlaceholderTour(false); + const extUserClass = localStorage.getItem("extended_class"); + let updatedTourStatus = []; + if (tourStatus.length > 0) { + updatedTourStatus = [...tourStatus]; + const placeholderIndex = tourStatus.findIndex( + (obj) => obj["placeholder"] === false || obj["placeholder"] === true + ); + if (placeholderIndex !== -1) { + updatedTourStatus[placeholderIndex] = { placeholder: true }; + } else { + updatedTourStatus.push({ placeholder: true }); + } + } else { + updatedTourStatus = [{ placeholder: true }]; + } + await axios + .put( + `${localStorage.getItem("baseUrl")}classes/${extUserClass}/${signerUserId}`, + { + TourStatus: updatedTourStatus, + }, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + sessionToken: localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + // const json = Listdata.data; + // const res = json.results; + }) + .catch((err) => { + console.log("axois err ", err); + }); + }; + return ( + + {isLoading.isLoad ? ( + + ) : handleError ? ( + + ) : noData ? ( + + ) : ( +
+ {/* this component used for UI interaction and show their functionality */} + {!checkTourStatus && ( + //this tour component used in your html component where you want to put + //onRequestClose function to close tour + //steps is defined what will be your messages and style also + //isOpen is takes boolean value to open + + )} + {/* this component used to render all pdf pages in left side */} + + + {/* pdf render view */} +
500 && "20px", + marginRight: pdfOriginalWidth > 500 && "20px", + }} + > + {/* this modal is used show alert set placeholder for all signers before send mail */} + + + + {isSendAlert.mssg === "sure" ? ( + Fields required + ) : ( + isSendAlert.mssg === "confirm" && ( + Send Mail + ) + )} + + + {/* signature modal */} + + {isSendAlert.mssg === "sure" ? ( +

Please Add field for all recipients.

+ ) : ( + isSendAlert.mssg === "confirm" && ( +

+ Are you sure you want to send out this document for + signatures? +

+ ) + )} +
+ + + + {isSendAlert.mssg === "confirm" && ( + + )} + +
+ {/* this modal is used show send mail message and after send mail success message */} + + + Send Mail + + + {/* signature modal */} + +

You have successfully sent mails to all recipients!

+ {currentEmail.length > 0 && ( +

Do you want to sign documents right now ?

+ )} +
+ + + {currentEmail.length > 0 ? ( + <> + + + + + + + ) : ( + + )} + +
+ {/* pdf header which contain funish back button */} +
+ +
+ + {/* signature button */} + {isMobile ? ( + +
+ + +
+ ) : ( +
+
+ +
+ +
+
+
+ )} +
+ )} +
+ ); +} + +export default PlaceHolderSign; diff --git a/microfrontends/SignDocuments/src/Component/recipientSignPdf.js b/microfrontends/SignDocuments/src/Component/recipientSignPdf.js new file mode 100644 index 000000000..331eecfdd --- /dev/null +++ b/microfrontends/SignDocuments/src/Component/recipientSignPdf.js @@ -0,0 +1,1210 @@ +import React, { useState, useRef, useEffect } from "react"; +import { PDFDocument, rgb } from "pdf-lib"; +import "../css/./signature.css"; +import axios from "axios"; +import Modal from "react-bootstrap/Modal"; +import { DndProvider } from "react-dnd"; +import { HTML5Backend } from "react-dnd-html5-backend"; +import ModalHeader from "react-bootstrap/esm/ModalHeader"; +import { themeColor } from "../utils/ThemeColor/backColor"; +import { useParams } from "react-router-dom"; +import SignPad from "./component/signPad"; +import RenderAllPdfPage from "./component/renderAllPdfPage"; +import DefaultSignature from "./component/defaultSignature"; +import { + getBase64FromUrl, + getBase64FromIMG, + contactBookName, +} from "../utils/Utils"; +import Tour from "reactour"; +import Signedby from "./component/signedby"; +import { onSaveImage, onSaveSign } from "../utils/Utils"; +import Loader from "./component/loader"; +import HandleError from "./component/HandleError"; +import Nodata from "./component/Nodata"; +import Header from "./component/header"; +import ModalComponent from "./component/modalComponent"; +import RenderPdf from "./component/renderPdf"; +function EmbedPdfImage() { + + const { id, userPhone } = useParams(); + + const [isSignPad, setIsSignPad] = useState(false); + const [pdfUrl, setPdfUrl] = useState(); + const [allPages, setAllPages] = useState(null); + const numPages = 1; + const [pageNumber, setPageNumber] = useState(1); + const [image, setImage] = useState(null); + const [isImageSelect, setIsImageSelect] = useState(false); + const [signature, setSignature] = useState(); + const [isStamp, setIsStamp] = useState(false); + const [signKey, setSignKey] = useState(); + const [imgWH, setImgWH] = useState({}); + const [xyPostion, setXyPostion] = useState([]); + const [isAlreadySign, setIsAlreadySign] = useState({ status: false }); + const imageRef = useRef(null); + const [signedPdfData, setSignedPdfData] = useState(); + const [handleError, setHandleError] = useState(); + const [isLoading, setIsLoading] = useState({ + isLoad: true, + message: "This might take some time", + }); + const [defaultSignImg, setDefaultSignImg] = useState(); + const [userObjectID, setUserObjectID] = useState(); + const [isDocId, setIsDocId] = useState(false); + const [pdfNewWidth, setPdfNewWidth] = useState(); + const [pdfOriginalWidth, setPdfOriginalWidth] = useState(); + const [signTour, setSignTour] = useState(true); + const [checkTourStatus, setCheckTourStatus] = useState(false); + const [signerUserId, setSignerUserId] = useState(); + const [tourStatus, setTourStatus] = useState([]); + const [completePdfData, setCompletePdfData] = useState([]); + const [isExpired, setIsExpired] = useState(false); + const [noData, setNoData] = useState(false); + const [contractName, setContractName] = useState(""); + const [isDecline, setIsDecline] = useState({ + isDeclined: false, + }); + const [pdfLoadFail, setPdfLoadFail] = useState(false); + + const docId = id && id; + //"F0hg0twSJH"; + const index = xyPostion.findIndex((object) => { + return object.pageNumber === pageNumber; + }); + + useEffect(() => { + const clientWidth = window.innerWidth; + const pdfWidth = clientWidth - 160 - 220 - 30; + //160 is width of left side, 200 is width of right side component and 50 is space of middle compoent + //pdf from left and right component + setPdfNewWidth(pdfWidth); + getDocumentDetails(); + }, []); + + //function for get document details for perticular signer with signer'object id + const getDocumentDetails = async () => { + //aspfUo7wRl + let currUserId, userObjectId; + const json = await contactBookName(userPhone, "_Users"); + if (json && json.results[0]) { + setContractName("_Users"); + if (json.results[0]) { + userObjectId = json.results[0].UserId.objectId; + setUserObjectID(userObjectId); + currUserId = json.results[0].objectId; + + setSignerUserId(currUserId); + const tourstatus = + json.results[0].TourStatus && json.results[0].TourStatus; + + if (tourstatus && tourstatus.length > 0) { + setTourStatus(tourstatus); + const checkTourRecipients = tourstatus.filter( + (data) => data.recipientssign + ); + if (checkTourRecipients && checkTourRecipients.length > 0) { + setCheckTourStatus(checkTourRecipients[0].recipientssign); + } + } + } else { + setNoData(true); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + } else if (json === "Error: Something went wrong!") { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + } else { + const json = await contactBookName(userPhone, "_Contactbook"); + if (json && json.results[0]) { + setContractName("_Contactbook"); + if (json.results[0]) { + userObjectId = json.results[0].UserId.objectId; + setUserObjectID(userObjectId); + currUserId = json.results[0].objectId; + + setSignerUserId(currUserId); + const tourstatus = + json.results[0].TourStatus && json.results[0].TourStatus; + + if (tourstatus && tourstatus.length > 0) { + setTourStatus(tourstatus); + const checkTourRecipients = tourstatus.filter( + (data) => data.recipientssign + ); + if (checkTourRecipients && checkTourRecipients.length > 0) { + setCheckTourStatus(checkTourRecipients[0].recipientssign); + } + } + } else { + setNoData(true); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + } + } + // await axios + // .get(//m4GJ12tm87 + // `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + // "_appName" + // )}_Contactbook?where={"Phone":"${userPhone}"}`, + // { + // headers: { + // "Content-Type": "application/json", + // "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + // sessionToken: localStorage.getItem("accesstoken"), + // }, + // } + // ) + // .then((Listdata) => { + // const json = Listdata.data; + + // if (json.results[0]) { + // userObjectId = json.results[0].UserId.objectId; + // setUserObjectID(userObjectId); + // currUserId = json.results[0].objectId; + + // setSignerUserId(currUserId); + // const tourstatus = + // json.results[0].TourStatus && json.results[0].TourStatus; + + // if (tourstatus && tourstatus.length > 0) { + // setTourStatus(tourstatus); + // const checkTourRecipients = tourstatus.filter( + // (data) => data.recipientssign + // ); + // if (checkTourRecipients && checkTourRecipients.length > 0) { + // setCheckTourStatus(checkTourRecipients[0].recipientssign); + // } + // } + // } else { + // setNoData(true); + // const loadObj = { + // isLoad: false, + // }; + // setIsLoading(loadObj); + // } + // }) + // .catch((err) => { + // const loadObj = { + // isLoad: false, + // }; + // setHandleError("Error: Something went wrong!"); + // setIsLoading(loadObj); + // }); + + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document?where={"objectId":"${docId}"}&include=ExtUserPtr,Signers,AuditTrail + ,`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + // console.log("res",res) + if (res[0] && res.length > 0) { + const declined = res[0].IsDeclined && res[0].IsDeclined; + const isCompleted = res[0].IsCompleted && res[0].IsCompleted; + const expireDate = res[0].ExpiryDate.iso; + + const expireUpdateDate = new Date(expireDate).getTime(); + const currDate = new Date().getTime(); + if (isCompleted) { + //checking document is completed (signed by all requested signers) than isCompleted true + //then show alert with completed message + const alreadySign = { + status: true, + mssg: "This document has already been signed!", + }; + setIsAlreadySign(alreadySign); + setPdfUrl(res[0].SignedUrl); + setSignedPdfData(json.results); + setCompletePdfData(res); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } else if (declined) { + const currentDecline = { + currnt: "another", + isDeclined: true, + }; + setIsDecline(currentDecline); + + setSignedPdfData(json.results); + + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } else if (currDate > expireUpdateDate) { + setIsExpired(true); + const checkDocIdExist = + json.results[0].AuditTrail && + json.results[0].AuditTrail.length > 0 && + json.results[0].AuditTrail.filter( + (data) => data.Activity === "Signed" + ); + + //if signed by someone than go to in if condition + // and second signer could not be add documentId + //for that setIsDocId true + if (checkDocIdExist && checkDocIdExist.length > 0) { + setIsDocId(true); + const currUser = + json.results[0].Placeholders && + json.results[0].Placeholders.filter( + (data) => data.signerObjId === currUserId + ); + + setSignedPdfData(json.results); + + setXyPostion(currUser[0].placeHolder); + + const key = currUser[0].placeHolder[0].pos[0].key; + setSignKey(key); + + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + //for show current requested signer's placeholder + else { + const currUser = + json.results[0].Placeholders && + json.results[0].Placeholders.filter( + (data) => data.signerObjId === currUserId + ); + + setSignedPdfData(json.results); + + setXyPostion(currUser[0].placeHolder); + + const key = currUser[0].placeHolder[0].pos[0].key; + setSignKey(key); + + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } else { + //checking document has signed by someone or not + + const checkDocIdExist = + json.results[0].AuditTrail && + json.results[0].AuditTrail.length > 0 && + json.results[0].AuditTrail.filter( + (data) => data.Activity === "Signed" + ); + + //if signed by someone than go to in if condition + // and second signer could not be add documentId + //for that setIsDocId true + if (checkDocIdExist && checkDocIdExist.length > 0) { + setIsDocId(true); + + //condition for checking document signed by current requested user or not + const checkAlreadyBySigner = json.results[0].AuditTrail.filter( + (data) => + data.UserPtr.objectId === currUserId && + data.Activity === "Signed" + ); + + // if checkAlreadyBySigner has some data that current user alredy sign this document + // then show alert with message + if (checkAlreadyBySigner && checkAlreadyBySigner.length > 0) { + const alreadySign = { + status: true, + mssg: "You have successfully signed the document!", + }; + setIsAlreadySign(alreadySign); + setPdfUrl(res[0].SignedUrl); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + //else show placeholder of current requested signer + else { + const currUser = + json.results[0].Placeholders && + json.results[0].Placeholders.filter( + (data) => data.signerObjId === currUserId + ); + + setSignedPdfData(json.results); + + setXyPostion(currUser[0].placeHolder); + + const key = currUser[0].placeHolder[0].pos[0].key; + setSignKey(key); + + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + } + //for show current requested signer's placeholder + else { + const currUser = + json.results[0].Placeholders && + json.results[0].Placeholders.filter( + (data) => data.signerObjId === currUserId + ); + + setSignedPdfData(json.results); + + setXyPostion(currUser[0].placeHolder); + + const key = currUser[0].placeHolder[0].pos[0].key; + setSignKey(key); + + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + } + } else { + setNoData(true); + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + } + }) + .catch((err) => { + const loadObj = { + isLoad: false, + }; + setHandleError("Error: Something went wrong!"); + setIsLoading(loadObj); + console.log("err", err); + }); + await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Signature?where={"UserId": {"__type": "Pointer","className": "_User", "objectId":"${userObjectId}"}}`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + + if (res[0] && res.length > 0) { + setDefaultSignImg(res[0].ImageURL); + } + const loadObj = { + isLoad: false, + }; + setIsLoading(loadObj); + }) + .catch((err) => { + // this.setState({ loading: false }); + console.log("axois err ", err); + }); + }; + + //function for get pdf page details + const pageDetails = async (pdf) => { + pdf.getPage(1).then((pdfPage) => { + const pageWidth = pdfPage.view[2]; + + setPdfOriginalWidth(pageWidth); + }); + }; + + //function for embed signature or image url in pdf + async function embedImages() { + let checkSignUrl = []; + + for (let i = 0; i < xyPostion.length; i++) { + const posData = xyPostion[i].pos.filter((pos) => !pos.SignUrl); + + if (posData && posData.length > 0) { + checkSignUrl.push(posData); + } + } + + if (checkSignUrl && checkSignUrl.length > 0) { + alert("Please complete your signature!"); + } else { + const loadObj = { + isLoad: true, + message: "This might take some time", + }; + setIsLoading(loadObj); + const url = pdfUrl + ? pdfUrl + : signedPdfData[0] && signedPdfData[0].SignedUrl; + const existingPdfBytes = await fetch(url).then((res) => + res.arrayBuffer() + ); + + // Load a PDFDocument from the existing PDF bytes + const pdfDoc = await PDFDocument.load(existingPdfBytes, { + ignoreEncryption: true, + }); + + const pngUrl = xyPostion; + + let pdfBase64; + //checking if signature is only one then send image url in jpeg formate to server + if (xyPostion.length === 1 && xyPostion[0].pos.length === 1) { + if (isDocId) { + pdfBase64 = await getBase64FromUrl(url); + } else { + for (let i = 0; i < allPages; i++) { + const font = await pdfDoc.embedFont("Helvetica"); + + const fontSize = 10; + const textContent = docId && `OpenSignâ„¢ DocumentId: ${docId} `; + + const pages = pdfDoc.getPages(); + const page = pages[i]; + + page.drawText(textContent, { + x: 10, + y: page.getHeight() - 10, + size: fontSize, + font, + color: rgb(0.5, 0.5, 0.5), + }); + } + pdfBase64 = await pdfDoc.saveAsBase64({ useObjectStreams: false }); + } + for (let i = 0; i < xyPostion.length; i++) { + const imgUrlList = pngUrl[i].pos; + const pageNo = pngUrl[i].pageNumber; + imgUrlList.map(async (data) => { + //cheking signUrl is defau;t signature url of custom url + let ImgUrl = data.SignUrl; + const checkUrl = ImgUrl.includes("https:"); + + //if default signature url then convert it in base 64 + if (checkUrl) { + ImgUrl = await getBase64FromIMG(ImgUrl + "?get"); + } + //function for called convert png signatre to jpeg in base 64 + const convertPNGtoJPEG = (base64Data) => { + return new Promise((resolve, reject) => { + const canvas = document.createElement("canvas"); + const img = new Image(); + img.src = base64Data; + + img.onload = () => { + canvas.width = img.width; + canvas.height = img.height; + + const ctx = canvas.getContext("2d"); + ctx.drawImage(img, 0, 0); + + // Convert to JPEG by using the canvas.toDataURL() method + const jpegBase64Data = canvas.toDataURL("image/jpeg"); + + resolve(jpegBase64Data); + }; + + img.onerror = (error) => { + reject(error); + }; + }); + }; + + convertPNGtoJPEG(ImgUrl) + .then((jpegBase64Data) => { + const removeBase64Fromjpeg = "data:image/jpeg;base64,"; + const newImgUrl = jpegBase64Data.replace( + removeBase64Fromjpeg, + "" + ); + + //function for call to embed signature in pdf and get digital signature pdf + signPdfFun(newImgUrl, docId, data, pdfBase64, pageNo); + }) + .catch((error) => { + console.error("Error:", error); + }); + }); + } + } + //else if signature is more than one then embed all sign with the use of pdf-lib + else if (xyPostion.length > 0 && xyPostion[0].pos.length > 0) { + for (let i = 0; i < allPages; i++) { + const font = await pdfDoc.embedFont("Helvetica"); + + const fontSize = 10; + const textContent = docId && `OpenSignâ„¢ DocumentId: ${docId} `; + + const pages = pdfDoc.getPages(); + const page = pages[i]; + + page.drawText(textContent, { + x: 10, + y: page.getHeight() - 10, + size: fontSize, + font, + color: rgb(0.5, 0.5, 0.5), + }); + } + for (let i = 0; i < pngUrl.length; i++) { + const pageNo = pngUrl[i].pageNumber; + + const imgUrlList = pngUrl[i].pos; + const pages = pdfDoc.getPages(); + const page = pages[pageNo - 1]; + + const images = await Promise.all( + imgUrlList.map(async (url) => { + let signUrl = url.SignUrl; + const checkUrl = url.SignUrl.includes("https:"); + if (checkUrl) { + signUrl = signUrl + "?get"; + } + const res = await fetch(signUrl); + + return res.arrayBuffer(); + }) + ); + images.forEach(async (imgData, id) => { + let img; + if ( + imgUrlList[id].ImageType && + imgUrlList[id].ImageType === "image/jpeg" + ) { + img = await pdfDoc.embedJpg(imgData); + } else if ( + imgUrlList[id].ImageType && + imgUrlList[id].ImageType === "image/png" + ) { + img = await pdfDoc.embedPng(imgData); + } else { + img = await pdfDoc.embedPng(imgData); + } + + const imgHeight = imgUrlList[id].Height + ? imgUrlList[id].Height + : 60; + const imgWidth = imgUrlList[id].Width ? imgUrlList[id].Width : 150; + + page.drawImage(img, { + x: imgUrlList[id].xPosition, + y: page.getHeight() - imgUrlList[id].yPosition - imgHeight, + width: imgWidth, + height: imgHeight, + }); + }); + } + const pdfBytes = await pdfDoc.saveAsBase64({ useObjectStreams: false }); + //console.log("pdfbyte", pdfBytes); + signPdfFun(pdfBytes, docId); + } + + setIsSignPad(false); + + setXyPostion([]); + } + } + + //function for call cloud function signPdf and generate digital signature + const signPdfFun = async ( + base64Url, + docId, + xyPosData, + pdfBase64Url, + pageNo + ) => { + let signgleSign; + if (xyPostion.length === 1 && xyPostion[0].pos.length === 1) { + const height = xyPosData.Height ? xyPosData.Height : 60; + const bottomY = xyPosData.isDrag + ? xyPosData.yBottom - height + : xyPosData.yBottom - height + xyPosData.firstYPos; + signgleSign = { + pdfFile: pdfBase64Url, + docId: docId, + sign: { + Base64: base64Url, + Left: xyPosData.resizeXPos + ? xyPosData.resizeXPos + : xyPosData.xPosition, + Bottom: bottomY, + Width: xyPosData.Width ? xyPosData.Width : 150, + Height: height, + Page: pageNo, + }, + }; + } else if (xyPostion.length > 0 && xyPostion[0].pos.length > 0) { + signgleSign = { + pdfFile: base64Url, + docId: docId, + }; + } + + await axios + .post( + `${localStorage.getItem("baseUrl")}functions/signPdf`, + signgleSign, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + sessionToken: localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + + if (json.result.data) { + // setPdfUrl(json.result.data); + // const loadObj = { + // isLoad: false, + // }; + // setIsLoading(loadObj); + getDocumentDetails(); + } + }) + .catch((err) => { + alert("something went wrong"); + }); + }; + + //function for change page + function changePage(offset) { + setPageNumber((prevPageNumber) => prevPageNumber + offset); + } + + //function for image upload or update + const onImageChange = (event) => { + if (event.target.files && event.target.files[0]) { + // setIsSignPad(false); + + const imageType = event.target.files[0].type; + + const reader = new FileReader(); + reader.readAsDataURL(event.target.files[0]); + + reader.onloadend = function (e) { + let width, height; + const image = new Image(); + + image.src = e.target.result; + image.onload = function () { + width = image.width; + height = image.height; + const aspectRatio = 460 / 184; + const imgR = width / height; + + if (imgR > aspectRatio) { + width = 460; + height = 460 / imgR; + } else { + width = 184 * imgR; + height = 184; + } + setImgWH({ width: width, height: height }); + imageRef.current.style.width = `${width}px`; + imageRef.current.style.height = `${height}px`; + }; + + image.src = reader.result; + + setImage({ src: image.src, imgType: imageType }); + }; + } + }; + + //function for save button to save signature or image url + const saveSign = (isDefaultSign) => { + const signatureImg = isDefaultSign ? defaultSignImg : signature; + setIsSignPad(false); + setIsImageSelect(false); + setImage(); + + const getUpdatePosition = onSaveSign( + xyPostion, + index, + signKey, + signatureImg + ); + + if (getUpdatePosition) { + setXyPostion(getUpdatePosition); + } + }; + + //function for upload stamp image + const saveImage = () => { + const getImage = onSaveImage(xyPostion, index, signKey, imgWH, image); + setXyPostion(getImage); + // const updateFilter = xyPostion[index].pos.filter( + // (data) => + // data.key === signKey && data.Width && data.Height && data.SignUrl + // ); + + // if (updateFilter.length > 0) { + // let newWidth, nweHeight; + // const aspectRatio = imgWH.width / imgWH.height; + // const getXYdata = xyPostion[index].pos; + // if (aspectRatio === 1) { + // newWidth = aspectRatio * 100; + // nweHeight = aspectRatio * 100; + // } else if (aspectRatio < 2) { + // newWidth = aspectRatio * 100; + // nweHeight = 100; + // } else if (aspectRatio > 2 && aspectRatio < 4) { + // newWidth = aspectRatio * 70; + // nweHeight = 70; + // } else if (aspectRatio > 4) { + // newWidth = aspectRatio * 40; + // nweHeight = 40; + // } else if (aspectRatio > 5) { + // newWidth = aspectRatio * 10; + // nweHeight = 10; + // } + // const getPosData = getXYdata; + // const addSign = getPosData.map((url, ind) => { + // if (url.key === signKey) { + // return { + // ...url, + // Width: newWidth, + // Height: nweHeight, + // SignUrl: image.src, + // ImageType: image.imgType, + // }; + // } + // return url; + // }); + + // const newUpdateUrl = xyPostion.map((obj, ind) => { + // if (ind === index) { + // return { ...obj, pos: addSign }; + // } + // return obj; + // }); + // setXyPostion(newUpdateUrl); + // } else { + // const getXYdata = xyPostion[index].pos; + + // const getPosData = getXYdata; + + // const aspectRatio = imgWH.width / imgWH.height; + + // let newWidth, nweHeight; + // if (aspectRatio === 1) { + // newWidth = aspectRatio * 100; + // nweHeight = aspectRatio * 100; + // } else if (aspectRatio < 2) { + // newWidth = aspectRatio * 100; + // nweHeight = 100; + // } else if (aspectRatio > 2 && aspectRatio < 4) { + // newWidth = aspectRatio * 70; + // nweHeight = 70; + // } else if (aspectRatio > 4) { + // newWidth = aspectRatio * 40; + // nweHeight = 40; + // } else if (aspectRatio > 5) { + // newWidth = aspectRatio * 10; + // nweHeight = 10; + // } + + // const addSign = getPosData.map((url, ind) => { + // if (url.key === signKey) { + // return { + // ...url, + // Width: newWidth, + // Height: nweHeight, + // SignUrl: image.src, + // ImageType: image.imgType, + // }; + // } + // return url; + // }); + + // const newUpdateUrl = xyPostion.map((obj, ind) => { + // if (ind === index) { + // return { ...obj, pos: addSign }; + // } + // return obj; + // }); + + // setXyPostion(newUpdateUrl); + // } + }; + + //function for set decline true on press decline button + const declineDoc = async () => { + const data = { + IsDeclined: true, + }; + + await axios + .put( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document/${docId}`, + data, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((result) => { + const res = result.data; + if (res) { + const currentDecline = { + currnt: "YouDeclined", + isDeclined: true, + }; + setIsDecline(currentDecline); + } + }) + .catch((err) => { + console.log("error updating field is decline ", err); + }); + }; + + const addDefaultSignature = () => { + let xyDefaultPos = []; + for (let i = 0; i < xyPostion.length; i++) { + const getXYdata = xyPostion[i].pos; + const getPageNo = xyPostion[i].pageNumber; + const getPosData = getXYdata; + + const addSign = getPosData.map((url, ind) => { + if (url) { + return { ...url, SignUrl: defaultSignImg }; + } + return url; + }); + + const newXypos = { + pageNumber: getPageNo, + pos: addSign, + }; + xyDefaultPos.push(newXypos); + } + + setXyPostion(xyDefaultPos); + setIsAlreadySign({ status: false }); + }; + + //function for update TourStatus + const closeTour = async () => { + setSignTour(false); + + let updatedTourStatus = []; + if (tourStatus.length > 0) { + updatedTourStatus = [...tourStatus]; + const recipientssignIndex = tourStatus.findIndex( + (obj) => + obj["recipientssign"] === false || obj["recipientssign"] === true + ); + if (recipientssignIndex !== -1) { + updatedTourStatus[recipientssignIndex] = { recipientssign: true }; + } else { + updatedTourStatus.push({ recipientssign: true }); + } + } else { + updatedTourStatus = [{ recipientssign: true }]; + } + // console.log("updatedTourStatus", updatedTourStatus); + await axios + .put( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}${contractName}/${signerUserId}`, + { + TourStatus: updatedTourStatus, + }, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + sessionToken: localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + // const json = Listdata.data; + // const res = json.results; + // console.log("res", json); + }) + .catch((err) => { + console.log("axois err ", err); + }); + }; + + // console.log("is sign",isAlreadySign.status) + const tourFunction = () => { + const tourConfig = [ + { + selector: '[data-tut="reactourFirst"]', + content: `You can click "Auto Sign All" to automatically sign at all the locations meant to be signed by you.Make sure that you review the document properly before you click this button.`, + position: "top", + style: { fontSize: "13px" }, + }, + { + selector: '[data-tut="reactourSecond"]', + content: `Click any of such placeholders appearing on the document to sign.You will see the options to draw sign or upload an image once you click here.`, + position: "top", + style: { fontSize: "13px" }, + }, + { + selector: '[data-tut="reactourThird"]', + content: `Click here to finish & download the signed document.You will also receive a copy on your email.`, + position: "top", + style: { fontSize: "13px" }, + }, + ]; + + const stepsToShow = + !defaultSignImg && + tourConfig.filter( + (step, index) => step.selector !== '[data-tut="reactourFirst"]' + ); + + return ( + + ); + }; + return ( + + {isLoading.isLoad ? ( + + ) : handleError ? ( + + ) : noData ? ( + + ) : ( +
+ {/* this component used for UI interaction and show their functionality */} + {!isExpired || (!pdfLoadFail && !checkTourStatus && tourFunction())} + + {/* this component used to render all pdf pages in left side */} + + {/*
kebjke
*/} + {/* pdf render view */} +
500 && "20px", + marginRight: pdfOriginalWidth > 500 && "20px", + }} + > + {/* this modal is used for show decline alert */} + + + Document Declined Alert! + + + + {isDecline.currnt === "Sure" ? ( +

Are you sure want to decline this document ?

+ ) : isDecline.currnt === "YouDeclined" ? ( +

You have declined this document!

+ ) : ( + isDecline.currnt === "another" && ( +

+ You cannot sign this document as it has been declined by + one or more person(s). +

+ ) + )} +
+ + {isDecline.currnt === "Sure" && ( + <> + + + + )} + +
+ {/* this modal component is used for show failed document pdf files */} + + {/* this modal component is used for show expired document */} + + + {/* this modal is used show this document is already sign */} + + + Sign Documents + + + +

{isAlreadySign.mssg}

+
+ + + + {isAlreadySign.sure && ( + + )} + +
+ {/* this is modal of signature pad */} + + + {/* pdf header which contain funish back button */} +
+ + +
+ + {!pdfUrl && !isAlreadySign.status ? ( +
+ {/* this component is used to render default signature of user in the right side of the component */} + + +
+ ) : ( +
+ +
+ )} +
+ )} + {/* ndD5gdaxqw */} +
+ ); +} + +export default EmbedPdfImage; diff --git a/microfrontends/SignDocuments/src/Routes.js b/microfrontends/SignDocuments/src/Routes.js new file mode 100644 index 000000000..263595501 --- /dev/null +++ b/microfrontends/SignDocuments/src/Routes.js @@ -0,0 +1,49 @@ +import React from "react"; +import { Routes, Route } from "react-router-dom"; +import SignYourselfPdf from "./Component/SignYourselfPdf"; +import RecipientSignPdf from "./Component/recipientSignPdf"; +import PlaceHolderSign from "./Component/placeHolderSign"; +import ManageSign from "./Component/ManageSign"; +import Login from "./Component/login"; +import DraftDocument from "./Component/DraftDocument"; +import PdfRequestFiles from "./Component/PdfRequestFiles"; +import LegaDrive from "./Component/LegaDrive/LegaDrive"; + +// `AppRoutes` is used to define route path of app and +// it expose to host app, check moduleFederation.config.js for more +function AppRoutes() { + return ( +
+ + {/* TODO: Check with images and other assets */} + Microapp Home page route
} /> + {/* signyouself route with rowlevel data */} + } /> + {/* signyouself route with no rowlevel data using docId from url */} + } /> + {/* recipient signature route with no rowlevel data using docId from url */} + } + /> + {/* recipient placeholder set route with rowlevel data */} + } />{" "} + {/* recipient placeholder set route with no rowlevel data using docId from url*/} + } /> + {/*Add default signature of user route */} + } /> + {/* login page route */} + } /> + {/* draft document route to handle and navigate route page accordiing to document status */} + } /> + {/* for user signature (need your sign route) with row level data */} + } /> + {/* for user signature (need your sign route) with no row level data */} + } /> + {/* lega drive route */} + } /> + + + ); +} +export default AppRoutes; diff --git a/microfrontends/SignDocuments/src/assests/blackPen.png b/microfrontends/SignDocuments/src/assests/blackPen.png new file mode 100644 index 0000000000000000000000000000000000000000..2d72bcaca2bd8a12a07a46dffc4598f3b4006a4a GIT binary patch literal 430 zcmV;f0a5;mP)-H8` zNtPB$H|*G3T6#%h%j&udlCoD8lo*|QrcTqDx#v7{=U1nu+nwigUY^cCZRcvOp6*2=JMK#Nz?z(jo)Ey9W}FQw`E0 zTjGnH108u9;Lig&l8FVU6IhVv&(o3=bf8Cq$Uj#6mu@$fzT+5%sC2O z0GBDqEy^4^kT_QkXjKcnB?@iTfhM#!v0bDhT~tm%BA`bD?OFwn1v#kG2(22Z8i@P? zO`*t8V!J9S#lL`SU>lgytfri?l2^Iv=kt71keKVS->P)?aTEveU*RE%@L;<0ek(4`dt;X1Vd>BziXe(E z-GcrBFKT)fN+F_Shakkd)!n1V+6YmE@7uPMc_0ZQVEo0e=#>DzV;D@0QOTrZ`{GWfiOg$4fT<`wv4GntlA)$%#=l5aGeBOwQia_$V{i3F%sP- z#=TUV=Ef`M2QRJX@{HRgm?hTr7Ogv1#UjkqF~*M^e;GRwAi>@Aousji^l9z6SrV+d z!==iE7|*>R(fIJ4xp`;OhGqTigOFg$HHh&E_g;wc#|H{Rz2=3~vU$+r&-Q^tKPEt{ zCQA@wsTrx?6D=K|Vfr{5B>JmqJ}tC^f=F*>$)?zJ+QsTuQ!w8OaVr;A2E8FG`r^nY zZyiFSuiG_3p-?*K53z3gAXczvOnk-*38Z}WXt~^P!nohHj8DY+%tqxq{@DoTlQY3j zH|q0(hnc@A<`7~`H6X0tE$b@^al^Yj?ZcG|6PEQ!5b2c;Zrl+60LxwxHHq)$ literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/src/assests/certificate.png b/microfrontends/SignDocuments/src/assests/certificate.png new file mode 100644 index 0000000000000000000000000000000000000000..177ee5b0b27d4aed6cd4aa1f62bf084dd36331e9 GIT binary patch literal 448 zcmV;x0YCnUP)^&jWME)mB3^`nq?>`aAOkUE zWF|sx+>$v%VkUz-zec(T1huZSpYqoM>$|d6K+qxG)+JysAY1Xu-=-;!}pcML#dnZ+@*v2~ z#4AYgy*~u-zOQ)xwzZ+n9Rz4t`m2E8%8(MRjR5?>fxdvdLz@hv@@aA_- z!KZrH)C&!Jf^XILY4!fB6Hw}n{jJE};7eEP$?Z9O#tH14aWXlFZJV`X4!qixb{oL= q|lf&gw{*J!{$aee}P5S`sC0YL|CW4VZE4>GhVeElz1s8V(PU1{PG5Fa#gF0?X04oYD_vlm2jP39CJ zcU=;Tp+J0&;0000_epx07tRBZL$oXlNkW>GGqF7t3g=XGyaAx}1S z!Db-~^M7K`HLft~-(1~oJ#p5bH&dryNcDYD|3&&1!wIIz-vwgWIDsBu@O1TaS?83{ F1OVD7Vs-!k literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/src/assests/download2.png b/microfrontends/SignDocuments/src/assests/download2.png new file mode 100644 index 0000000000000000000000000000000000000000..1431ff2a0c0ff7286db8f5d68a18bf76d48aefdc GIT binary patch literal 272 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 Y2P{20>MG0Wl>h($07*qoM6N<$g6`r`T>t<8 literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/src/assests/draftDoc1.png b/microfrontends/SignDocuments/src/assests/draftDoc1.png new file mode 100644 index 0000000000000000000000000000000000000000..2a2b8f60fa542544364d69ac989f4a9e567e4c10 GIT binary patch literal 78196 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 D+)Px4 literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/src/assests/folder.png b/microfrontends/SignDocuments/src/assests/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..1520d8092f4cb8a54f2f2a3e54ddf2b8df01e2da GIT binary patch literal 4496 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 Y$dgE4ZJo{7->y7BLq%7)8e$XjA8czv2mk;8 literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/src/assests/loader2.gif b/microfrontends/SignDocuments/src/assests/loader2.gif new file mode 100644 index 0000000000000000000000000000000000000000..a325211441e06d061e41db27fe152a7e0cb856c2 GIT binary patch literal 62248 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 literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/src/assests/mailLogo.png b/microfrontends/SignDocuments/src/assests/mailLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..2edeeaae60845e6371cef75c6a8c8e0d9b8c3a45 GIT binary patch literal 7611 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 literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/src/assests/newCeleb.gif b/microfrontends/SignDocuments/src/assests/newCeleb.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0b0d9555c075063f200e9922c19cc8cc02f5bfe GIT binary patch literal 239101 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 z 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�h+S6x|4mVHn(bBPvCO2!n}@IBI<%(b>b*vS?7=^)$M2X2!hea(LN7L zt@s?Xh8^Q*db{k2WVmOAp<3D-_bs1wDn>>N)xZTmEPilr8y;K_g*GYbU^ zCa9|@2eVv@v3z}&SeQA}dG1;(UoAnyev}20WMlK?$krzB0j|e}3-gIu!FC*y>%IVL zfgZZlVio9KWbY*v&YjomH9_1oX(o&BY-8sJWzfAnUmgg7BWRkLfS|FyH)0wSEmmsj<=_0|jWD{aEQi zn~)9zdbeh)0qE<({eWxiy^T()RieWK)h%dMBO_v4{KE-O7gJY@^8{Lj#DGc-5Q_9j z=cK|ahZuK$4A&C_Abxxc+rWO(m&D-HY)aIJMp0F(PVP1wS{1ott3*ZKm}F&0kKP9D z8WF84SMIOrR4!xE##1W!dIW*{f@UhMbBj(rzE~4po{;9@P8OMH@#4oY3O1<)AX7Md zuH@z`_!&@;uaB*EcOk<=5V>WIrk&*c9yZisu@#lUq}oGaUkrzYl$gN@JAfclz1R|E zX&}`FKzXV1QB0{(n`&V`B6)SOQ|z#fL_NS?W+SLAqpa&C9E#V836pueub zlKFmVvOGbgMn}HMT>g1=Qp>BcH-LGtA$*H|g`a}hTQA6{Bj2gggn;LUW_|(JDf@OS z!`#xHxOaR=M70XkIP7*~uTYYWggo%&hUKMu76%gr*zDo+qu3td4RbKGUh*?5)26g| zV)Uf$q%dizRfTCpU3(-H7Hoc77^+vMaP6tPN$i!32x3^NKuAOqMfflpqTSHLUO&u! zw2lcBOyxj48nHD8-X$o?uaj(SAlIa=P|wd}huWWGg-K}I`PYTeriNCb)D`fK zIjS0r$NZ=i_+U3^y4C3`yReO#sohgRq#z?E}5BUj}Q zkp|30jQvmrs~Xs(f%WXvhRcSV25fK37GIys@KF(1{hn4@vLJaOk_48o?1ab@$z}n5(g03JAxc-(`k^A79N_BgmWvtQt&T)jhqC zCZobR|I#XW_$(#eVHA`xJ{)vYf8Vi(Ac0_xvu3yJKG^YsNg<7u1fTan$91{y<;pY? zwqciHVMivf2Q#0pXC5kVf7W^?_gaF`^3Uc^}G=tJ{4&W%+{g zXX~a7AMOt#=7eo$A0FU*G(&$bvD-1#7|DEULW07sj4pm2KMEK+D)#&Ie<*PmJSlR>N7NRc zyh!Ueju@t8?BS)bY>~!zNa11z29>#IC^JCIy_p5+8cH0-K~``OZmvf>DiyMn7_pf2 z!gLdr1Q85Pf|f%>nl_!sWGzq7{nh#H6Zzfxz~fqc=*OO9cA_~tUC0Y=hshLbNIztH z{MUB)2d9t!A0=LuG`ge9WgPLKXPwb0yUnMBlTHbhoD#fwO5pXWs3yIG+PV1qm z^$X%UB#;cvA`Ro{<__y002aV33@61J3{K}fCg>WtC@?@mCC~>kpy4h;0SR=%>_|jY z9xn(`&Q5h%7kv0;q&HxXa0zk?BM5bpAJUcg>k^>Ps=sKH{$0-fChq>eHTt)(@jnZ> zUpl-|B^{nsqee@?RhX;SVt!u|Tif0f<;O`Q8{d05Ela`oVjhf=L`^Y#mFmLv8hc_pV(l?tq~9LpwKtfs{9u@s%SIykp~Qmo)w>T~oZ$K90& z3&xOBH7^eal$X{4oD@qtWG&8C)ay7s*QJ{N(~I~266gN5f_9Clsb?AE+t`|}FgjR>_2(^;IV z-l51%VjjB3NK50TT-K+z52*3|@4GVlG^t~?M;$&?Msl&#+=o?*;~N%NGSNVBwiq0@ z5v+(uBgE0*l?4{rhDcJI+_9nq$MWeLB=C(9U=pUSg3%mGfleV@pj=L0yXCK^1YqHX6q#>hMe5 z9ahDrwiG?|Zof@WfGAWug;xosiDNf0Aj-+@kuhq&bdW5sPbA_>9 z~G_VNAbc$KsVtZB5t7;}-{M<#67_})JzsdirSV;M%PheA&EMC;>Q`Sq3iJ&FekVS?INr&daWv3SX9*7!!j z)TA>H=LCfAYGV&RNm^$*Aa1n2O#6!uBG+785TtEuo#@-NX-xTmeYuTn04a$o)FHku zardifPJ)stS# zFcCpMfBvwci;Buc2T&}4WSBR|RJlk5&I*)T27@NBg=ugMK+VGEW|38)E$Ur}i4zI5 zh^j?RNRW`92Co3BJZZaetdI z9%Yk^_=ND`8x<4oWh&{vy)SG{Mzz&%K>!ZtdmnBSQw@@m1&^z{W z9OKb~#Kmg2Pdn|G7q2U`*D>9icaBLu&JMlV9hG(U1+GCxMAoMPmUkED?W~OKyNNq@ z`k6!6PB~S3yXkXRkGu=tqBg8Z4^?Z4m`-7AefCD*#7^)2Q|ma3$BK!aW&W%BU0BLO zxu(^)aeRX85DDr)2P;K8yO~NKh8oeaLa{7r+J-YwqufQFc>sJP6ia=I2J7acURC3epD6}&ggh_jZF|3(g$a9 zLZpfwvEtqzm+%T9N$=C@w;8Acy;9fGtzmSQTwQrb%)B~0zMBt;`L+?o=Qj!Qes-5VeL4dYm5*b2leRCqzc5M7HQ=g^)%B^*V!Cx4- z;~252aKX`aOmfmX<Ujnn7d_pXJQ>bHnEPvFNABc^LzyhLI!=5&4six zu8VBj(7H$p?R;TDy6AQXiAus=mv)|a)-pJ}`syHnJ8u8_@D_z6@uRTM-5zTyH)=s= zv+P^PunjuzSKEnB4w9r_->ZX1?_G1AepI#(`0~`6%F+0Y`^W&)!I>*-Y7OA?FqvW| zDa-zd{D&j1_mP8vV$}p_029bZTVGA&{j!sd>ta=K6m>0+YC1@sNzubmG`cBkaR-cJ z6HIdxctB}6#Pf3`V5F%$JG6~A)oxL}nsrpumeMm$$RU8_4WPo0C?3)xxg0}R+{BK7PqD`;k= zeThOhVI~F;9Em)q23v~;8rM9i!kNjWp*vCbCs4?c(=k{KtVcE%dsR$E% z+O*c*3~Y+lgavQnnj<0JnP2Q0+NTilPxr}=(wzp|LGMJV-l7#{Eq6Y3DV_bvU!rW)d^?uBSen z#=Aq=F`(1dc`jHae$l1KEbru`xc;I`S(8~sxp)rBO}_8InZ5ZA_mMmCi3RQ2uMc>X zle9Dcu{g<1oet(mA|Hq}RZ$j^%w{3lk2mkvd{6|{v_b~jGgpam- z`Cj7X4Q%~D!t;eS-(a|UB=aA5_yMmV^Y8Uqyln9As=WV>#QQ_Z*6#*`e=gbj+OYNg zxc6U~*80yu;{Vd`|3doxR-G*?rN{J6RaD)aUNm_y6|dY=`Z~p`Q>FN%iK9g7Q1(d0`17#d&h9f?q~PIe((dltH^Zaf9Ol}4Q4*sh@J3YtR>S6ox&s)YMx48c^6WR- zdI`q@40xy>VM%VebRq@9PdpMM<$vXb19X@Dk=DM@+I9R-1-$_WhNJf?10TfR;3hi$ zY2ns4`u$;SYrEXt3bAz!ebxLYZt=--6qeogZXw-zhmBg(Dt`_9F%j$qdw*Q*=I?HR zAJx=3`MJ8q(O(V!VL>}_8)0rC_r)ncTmZy(Hj(%3T>$VX$|Kh#-mrr{;j&fy} zlmKf~SU}%mlpG@gDAmn^n&Vd$Gbj*ETq?{%jUtvq;9I37A`nDOkf+jM+R|;bbbNxk zxIfgr5#vc!76?GMO9$bs+1g`NPrwL3yN*#}>J1qs2Gq*yC}=*b)2`t~QqwoAOG zlW|7*gD6%9Ra_)>ea@(8%7l&T{OVNq{3pP&?oNp~_oD>QQRzw=U02`WSb*A2vAeWR zwVPSTU{U9RBc`^NvK^A?@M83~k2m#_>N2(c;7V6=yY0+pv*_u?YMKtW94f3Vix)Rn zJYthwD@c3{XWRV&wu!D;smBYPFTg^`3R^vu6FM(?%6gvec{`*cqHA;Ff;Z;2>mE%{ znQ*TQu@1MziCvyDXCyAr${i(R?8R%(F!a?gP_~<2vM4U5D8n7JH;0erhnKY0{1Ehc|C=%R8nm0{_=RY&tdae>* zfQA$Mk45JoOnnkD+t6T>j)9m`Efyfe9FmV5)u<%3Vops_OzLxD98kaHg#ml|iv{(| zT6H8VJf-fi%L~D_0EhwUVt)?&C_vXmaSCA(ds$*Fd(sVS4+N%PuG+Mo&vm$GAnB1x zjUirl+%=2ZoN=NGoJ%2u1|-XNGoS~gyLYt6n)`JJh&q_Q1Wl*Z530#ws2y8-&2-~XR@hk6Y~(|*-(JU#nfF*Z}~wY zi#H|vj3BB20euT98uIzsF|EUw{i7pJm=TLpAQkU^!ZaIJ86qW5*v-nxtf zcU~$kFY>akJb!+AfrsU&$lM)@L{(pb&)dCQyuG6jY)6AW?bhkp!WN3!=~SV$)8C>% znwWUt^4RL&V96oAHHF^fEW@yIZUaPL9Qh=iPc1kZ+89AB9173cs`t3}aVr>+zBzT{ zy-R&ww2s14eyInoDEB`ch7`Zj4%N7KNyOu9sdoD3<6Cn^&&+yWEE+$UrmL2B_QHmB z@*`{QHJ zLemu9wn}{XY$FuS0Ixr+a`q5=L6AsD&_InA9PDdlMfHKvi-hM{!>xkQJqe171jMvJ zVjJQ)Q3*$WewYYqSI~!GIvz-nxkL(z0!WShwK}_U3*4!1t=KMbd)4F9K&VYM=oBef z`Y_E1^42fAEF^!hx2yMZ;tW8-ThF}HfV@U>_1Q85veesybEgljys19Vr#oJrDinhe z{9p-&J-QBZZ`&jmw&M`2m%aZ$$tXB#$1-dP;I?k8;2p=gQ^p*%AUsz2ro_LUy%b+- z5Hj*wjC0mNgSf}`KhAtc7Zx(iX9z$o1=UIy09oejpKewl%O)8R^DM$36a zU<=Da=C+US7>ag#IOZ@ben^oHS}pAsW{{98g5;RE zB`_eScq+#T&OZot9CD3g5>1Ja^#+u;#V|Qdl4Nk=@j!kzgQFg}#0_k){W^ylPNF$I z(b#|_)SZ|ijHsa7PUTNPCGVwyG0EZWD{NBFU&)L-W2=;G=B93^H!O8=(v2Y=3AlE zS6uv6JN-vij3i)0_h+9@xSQ!zZo5OPhQ9ks+cU9XaezmLpDK^N zK3SGT7Eop4+FtK$XEx~`41>Pax1(BxSAZ=4ZY?C!;Mr!VfDzy_*j|amlJkmG=b>YW z!pHlL$*YVX3+BE9sO{c+*%7)cOwfLKTlJ{T;~i}7$_Yu|#Z`aU)%<(tXx_RN5^wIB z?a4^&s~oIPh0CxMmz^sK%B}rZ26H;6TL#B&^0i7ue&!j3Yd_Eaw9~wC3@8}#US#3< z0Z9C!+%dO!yVvKAx__G5(hu9S92i_EiFmETy4e8P*`>}Q1WME6hqn?z!S6Z4PN?UA{k&Tc6wL2tAz*$1}wZoaZ zpt=rUGde0LCI}3xvmxkQL^;|7s+cLe;Nm{yvjs{`yBvC>^FExJa4t39xIfjdxd?zE zfRv0!Sexa^01Ti_IG)9YK%0x;kVPzJ;WPpY$^r0xG>X1!vdz2$4!ZG#NR(_J{2E1# zCy~l$ckuynF#xeu7z>B~)bxgt*f^dhX^HFyiVvt&)5ypH!ZojOD-m%{8Q>EOpHt>v z(h~-8+cLW;PouWfhEGQ|t*1MCw`W!kfs8D90&+AZR;;17du}E{i#6~S0xk*2z#fo? z9#Lp(fsQt=m2&Z>AhaPLss0F+P=%yc@45U0Y0e=x2JzKyKj8y6#|#NWjCFJHWPYLL zi!GujYtvhhz9#1Nts5ROw=3HQ$}M|$S42pZuv2#-bYYiI04{Bf(vutTN@?4(Uq{)y z`U!^kc#tc}6jdyXP>HJC3Y$I2Jb_n>^k;QDk_ZLeE;Z4o@(n!}Pmn7YSujc^?sgoj z0pi@gbJtVWBT-{WN_tJ0SZHc%9H}`q5PabD?dSJm+BP2>qoP4;XxpEaLqJnDqHoel zJy2Q_1M*a3g^5(G4HgC7!_Y-W@ycP2i@~N}8zYq2^S*!UYW~_UWopO(@Wp!7ZFk;` zMS3mv5;kIdoE@;pWKPC@3*vT{7So%R`68*?$0RC9G+~QR_vsn+#an_N3zGnl zRol@K7Wtukdp^|_xUym9Psw;y`hY_0G|;^O=Vd|{FPgHF0TVet$1%+ zje-{IM}x`Fd`7Rw35Ao$7o997gDjRG_hmHHmkO#b>tqWZ2niJ2jfZ(^&5EyMwhDw0 zQ*5?d4I44ALQ{kY$S2@4Lw2jsJV0tqS=`PVCRi|#o}loSeIdf91Ej`;XNRgFX6J#d z!O?m?8$tes=iVCWec;F|yCQv;34G2C#LK2d;qGb5L(*F0s`4lZZ>P6|ujpjGfQF&K z205^*`hC9LzwI>lemJ{4ta5GZn5rHs3bLCek}i-S733OYm&#zL`SGFST|ZWAJ+iNe zHKtr{^O=x)&>=yW_)^(xz>B@BMy{pd`dKV}K zZNhoDG3{vvRi>Nq5?O35cym?4MzwyS^l@N|0{me7z2%vc@5zed@Ev5oq8A%jtz*J8 z7wnjhm>CBvOkpm8KY653P&keKePCq>Sr|U2qVIkmEN@9Z3wP#Q3%ixPUkN34#O?a* zse7Mamrjb)7J^0Tgc+Mh%Fp)U)y5VIz+EOB;k5A$T;cQ`7?)uJG+hZKe3Hr9qUAr6 z4qHDhR<_95dla?-Z8gV*O-G#Pe))yd=$HejJumIR)_}N{!8nc~B9MhVgN02rL?Q+c znKF+~v>~@002MK1YKZZZCrOKghp-sP*a7{#4xlE0oaZ0EEE%av12-%{rURh62W8^v zd(7};Lum+>edLWOY+D!5cTi>@E7CIL5SB!KWr);7Ii4Ls;u!I3CK3*Eg5R}K&J`j& z%i>IVkyHE;#2oC)>qIQzumBad$kP|;u+%_Eg$XG&2Wdkjr_aGYj354;eyLa*EtmFd zS993^)YbgX3VN#;XXWjfT1=K_q^5X6k9$%DjgZ@dLB121^CVC(CiU7-+U+Q(V`_(6 zjgrX*=_zXIt={RkLehn(>FHzXX^>+b-RbW|{*8dzNHxnbz*{LNpf9{L`*ex|Lzj#__iQ2h_*tpD=Yhw;AiPUl=( znm@i7x)k=}e`P@Pe^|Zkd8t%LYu={rYU!R*{-kiKqoOK+8+=R5bx}lje_`K~WbG@y z!KsR_6J*EQhbyw-%?^PZ^ka9X@-R3;} zFD_RS`{N+~7_W&}$kJdxB#p5$z$d81z&wrAR595^bLKKJ&kkJKHvimt)u;(Od?(R( z#Bo)0>x=!H7>JiH$7W-};vFsrUv1IDcfZCfgFa0ZpW5?jvaGb`)6^fY-g1o(a#n9! zLw?;++mQ$sbf(+S>XJDmFw%fyIj40jpc6P?Lgbs*j(D*mdW{k(Dhsn@u=vvQ-9%+2 zEJ@dv)mIr>t}Kq%a=(0Dc+XpF5@7tuU(j75$^t7n_I)dxR)I0q0c!@wN-D6*dJ=jagi z`jBMMTLNr@DOJJ+2vOt^V3u^Mgt{`Bmu&=CduxeIqDa8Q;_wUT01Xlf02Ckq_BR$O zFagv&N0ke(ua!h+lhOsZ>9r$?6}E+Ol(cXhRTVCJO8Xuw-576ub02H8GpR z@Q!s9G4Te0&3p=kH|9C^IsO92COVKkoGs0JSOPd@yM2wL#)~`NU1AAn}Nhgag(ZsckWvnJ1AQ;=Z2??gb%{cvi;&dGfXo z0mv@4519XCr8YXuUEHo$MT3D(T%~^y>6!$}xvT}(j;!k;HyVmV>N+vu2h%o@+R&^s zI}P7>r@3ogl3YVZh+SFW-X&&SIy0WGzc!ZLt4C;!h??-b{Yjb@d^tSwO4wsTfjrvq zg*S!d+>m@8rk1c@@NVZCDavJ}| zxXN@L(xN+cs5>+GeQh9Pxx|g=i~vwn;8wm3_8oek1wleQKVF=R^|nD5;&$d~c@3b{ zs-cK*zu?@@vWy;b&cLWDzjH5IskIJ$_!;f{;+d<*7yxItZ6koM%3U; za=un;-{#)A5{s2d{NOFk4Ry9S$jFVz*jBlE+_YSWQJNi*Eacj2jc2i;%e^X!L`;Ht z$c&&74)pk-7UW9Uj93<}`4|4WzP$3DBz!HP?0TnL_>nYX<0r{re8QfcGeRF4EF?2I zprgSvVura3g0F?FquUu!6Bbx97?p7E4FlmFWBodek)Q;x5=BbhRWQs1EA(NC0hb_X z(^{EL^;hSOa@$$4H)IaJV9i^{UgO`*bMejr(n^Rxp}cd4^(6g2t*2j;c+W_XpF_{v zeC{|a7;Qj3{}K;3>-!?{h7KNW=ZJ;AP-*3J<9<5d1=-= zK-kiwrX2`q8BmpT)W^uRzu5Lk;8AgJvSch-I+rZlNajuC{7EH|lL*;txC7u|g7^)6qu#f4C3{|s4dBTF%RtDNJ0S1qh+n zM0gYu)v)r7LU^SxKRX8hghjqQKgYw7e{c!@1R{TBMC6ua&{0razuVnO}AQ_$6KQ&p(NYa@qD-MvcmoLbPd!~W`jNH_$ z@Zt`p$W=E-IaCcC5w)+x4yV3}x!O?CUHd@0UkBALDp#O_t(Q%{cz;{J9xAdJS-tnt zBjlUQcXz$fxpJ@bzHZ~aCCC3~ki~OL#K(u;!POrh`5k!oagf(3v;T;n{2F7=SaBjt zB=5}K0VOeU9>yrtzccp8<7rM{VM{I^z(*gB$kC86qGLdZr0@X9QMl`X0#c7)I(m5U zovHg#9D_9`kDCBH+$2%kZ`9s#9u!L{5Z`t@}C-R%Bz4}~o%gH=?&$*mpEioTQyPAvH`C|-t zK_6Aq6i7vnwaFj2b$dInQ-+>Og(sQu=}2!9t#$8^J9+EQA-+*iU;1mlGESbE{2TAy zoFJpC_`6{ZI{8noVbIN!cMrKMpBYsfUw1d97k4d5WG}7M^0ADox+Ac_Q5?7-v5e~$ zk%URfg4;->JMf7(19RanWmZx>eM#nXg{Wg?Hkyw2Q+?-(r0zY=K&I9jIb|tpA!xulT!)75RB}YLD+mwuU7R7-x4NmAoXjY-&&$0kuneGZ#CWmkM2ml-+_{Oz6PNUKz7$t+z_3q3Q zYdD!w^MG9G_b^q=(c2%g>vF;N2dRU3XIKzTR@*;llibh z%FzIH)jXWnMbv{fye;M$vyR`JB)!A>L*jsWc+L6H>h{q*;1%x0N0<2@R7&AgY0nG= zYP2vf(Zu|LQQ3vYUnHYS>nDcWfnYiMlr&6vP?+v6CX1+9VqE4o3(Zlv8mLc9p z1CDv4UPcezem?&CYk7g0{2T(G*!;igpLmFR6U!nGG+i1xVO-0kg+D8 z$pXGP>CP|RM~YKTOfffAu_SJbxFD-cHK)ROz*|>51@K>M*d!8scvdD24bjTaf?Hu! zPhLLrYAw5P8kZB2tq!y_f{GrQSQ9_eCqtYoG(k^dH~FTRHq1%4TZG8*XFZ4(tP#Z? z^K$3U0w-%s3u?|JdYxxA9L!iZn{&9`!jnZCd*}zw#)JvY6ZX>1vlMa~VT2Fw08sG& zK1rhKjn3@EJOj|EWUzZ|CGya)I?w(o^Zp<(>v+~!AJ?b}r49r|RD4d#3TZNGLf}uIx|Y7?Mw5(c zRA1&VS-V00=6j}4qa?CmuwQ~u?*u|_?rHi?gLWC+Io^Y1If2 z3_3-AewzlD8CXeQBi$$yO22u5`$janFD|SHz%*%`>Zm<<_(t)=3bWigF(T1gcHPGL z-{w7i8dIXqx}O`+dudjv4Km!1&0D`E0A94@X1HhcEE-cHQwg9ww%{)HWnP~vbz7O* z%KbES@A~|edn?n2xXWy*TavErzqt)>d>Xv>MQ(pv=?nr6P+o!v{uE65T|D?EXZ*kh z+|bakHIuvy(qAEjUo2$2;*HLuJloj!`UMXU&gh=_nGlLJjwjfh`vwW$Zzz1@gr5n4 zr&D}eO!y;0;N^(EFV)~t!4KmIJSW&UZQ`#W!S{6$!Y_x*#XgQNd4 z1N>K*_!k)9FMi~|sPG?#3MY3@m6w$upQu)N4B88a)pKPFR5r}@CCFCwJQP*mrA94_3inQx0ixYyl#%}^&Szmy9sH2Y9Xk6yPD^crO>*g zIfu?%9IOcQQ##oAe^K4|85QP-{;+(8aq}L_tW4uryzOC{jd~AI`vlUMexc?_N9EbONR>ooiX1 z*CM*XtPe});R;_KZ8U>$4$DfDKt=~xA4L2k1%E;Xp*T(gTA&bak82an<50CM zMHNO-$!6UniK`(DmjU5=k@jWT0jitX1a? zQZg-6#L~0?iq8#FusJFs7G>=^yG7ERhE-r!Lu}RJ=}2eXOVL~gRb8tvPMe1ctbcg`y=ba!p|G?PgZC`Q8^aOS)hT!S2Iejn*%Y%Cse7OVi24{iiv=n3@C!><%I z0ZtnXv-7LQ)J<|796T-_KR-awwod7B+Z~;KW-bu61>xl0+@DkDyi564RA32|BqD){ z=F*o$)Tki7lee6a1Ikpl5RJ9x5N#oj$3fkYLa`bL@*wKA*W~CRta0*gWYXRpFLQ!m zJt;Nu7cQMvA_Uj=me=YWW}j8`4zk?#fqPf6??b}M=TaEh+=`Og$56J>f=eLrdnE@7 zRRR-usG#rv6&37EdhTb$8M#SFD63p&ffvbmfwjz5IlFF{q5+$qB3+0MGDt89+(gYp zSv$K;&@w;$f(pBL7ZdtL9F-GoB`Q2l^$e7le=NrztMDxKy`VibLfynG0;zGd((`0j zZe8UMybJy_Fc@mTNPw-`*G=z@vH`CmDe*ALin@nKP%sudAgc}ZQS}sBUA*7QAWoz*pPE5l#sE%oQhwYF&vl}L7a|S z7v6>@Hd3(w2-92uE)FW}(EN-=4*YAMClO`=k+ZnN)Tbm^aPL? zW4*coM0jTz1NteM1QlpR`(Pk^GX9X;GU$hbSQ|+_tz;+~sNy?hefa1Rx((0TM(DFf z?xVNaha7sqJ}IRV9nogcK@w0Ovla~C89?J&`BoXUUbNRr60c%GOzHFR2o6Y==-;8@ zN#(ythl{0-JRNcUhx$oX^|xZ#WPYt{t=F6ylO=Q5R7(RaVs5>aO%(~E{uI3cze=1H z4Y#DG(6P6lu5UA7Z5`7ri-qqZeh_5x7E3Q{>@$X ztGdBHAM;%JQz0ybF%MO8uM9Xr-_kG(MsWLdjp+ET4YTCYwcU%|wFd-GDqWjs+4n$H zvrJa2H z{S5$2kHdoet7(#d!p-zg-TSfQ)eFxLFL2*2{8U76@3g~9!zCbDf_@|C76c~Gw11_y zD}dK{PiQrBvPY9J;^%82wqQZitWS|yi`q?&8577BRe2I(! zUwr9$#5&%Y5C`V><8;pp?y_nHm+ZJfg2dBr;NeixG;0Bg<0LI392B|W4?Aix%Zt|C zs=N`M#gFgffzCJ$3=sfM)hF{Gv;w=suu0w{2#K%Kz>oL7b0Km|cbjB0C($6iP$0OB ze&^QvL+rI6SVZ?mc^yo$+?YR?>wN`)-i@biFbaTX#kR;#a{wmcqr&H;ZB=yYD9(Y; z#1r71ipF&`&$%MWT6n9Tc~;uy4n-L;X$lIh43X((iDVEUs(5nJPxpSemFz5?_BBoN zw<3b!Jdh;I{DB!8$Y%+FY5F)o{0xuh7YBm%Qf}QzymG_VF5?HHtuTb{h{2?7p*uAB@F-6CHriRfLU6Z~0+ddRL?g%#dD8qG)zqu*l zgHiB$w{w>wa4+|JBX(w|oCLX@IyL1wphhfkIlFsY*kbP3L6W%3SwR zHR%_Z+_ry5ksp@4{uM9O&;R{^qCp+=(tRBZnUKkmVEzngu0r;*1*V-XO3j-!=B zxIZeJO;NKcLrBK7LbO9F;q3&9LAY|Yio6Z-Itg?&&H$xhK$gatLR(J~1-3HZ!dA?^ zMLj5dsVmZ&2KP_v7kfGHr0Z@oX!Y&o3Q(LWLp&?jA*mG^ElZ*HbvrGfVp<2v}! zM50&>sa;+YYxP-YWa~=HBl)+>tuA-Sh!`{zwps)RIYktSB3WD8mceRDqQ(>vb(^SEC%pj4Onm1m*C^VKw*evdAOMyXVuJ75yQAIKdu|%~&r669DnXHh8zsLhI8{IOAK7i%(b&R++!9 zUIcQ%&|IrQOTySxG#@{qLAKz+CtqRcse39$v(Qh&SnS@1VA_0Lk<{G@yYnUx_wEnS zIzT6atxU}%k)#S3Y-HO#;0OK}uvP+w>vKB6%YgNnwIvZXT?iUHjwuB<|EAbfy(0`M5)-7ekXtpbHq#frzIluv8*T4M+qq+MI(HxM_K#e&(Lqf z(uNcEgfv{Ld*&W=Wtg{}W&#s*e{qVu$rmf1%|>or5psF)T%*1>qWrw&q(O-FQ2CVsVn|5Di$_ckRO%R}z1+!PWxsW?s zoo_?8cyw@^);NJ4{@9up$?qWAD zO|nDg4?+w-4=Mj}=YJiP`g-2;{6Bvf5dV9X_OFTXf9;;k5YKhbHm0XRfA;Ojf@CvdrmP z&HX$#7|H#^5JMi72vjgafl#~&S0X84U>h3H1>Vj<60k3ABNG(vpgAZ4Kq#a4uu6_1 z!e!A+Jf4`SeApkcbJ0SgmqS&oQiez6wkb69#omw`5#%0~CZV6u6VL7~6!JH1UdI?o z*^NsOe?WvzX>)!KG5nq*XeAn|g5rq_1{B2wTGIW8S#Udm8hXjJ>&LS{aFZfbg@*H; z&Cb13tYLENZ|&Q>ig0N=hn^XU+ukfgb)8MOS~eAVoT#L}(%stBqtM;&eI@YKv|oyo z@6G;Gmxgz(+8gRbnD@xNVH0Gqv&(6l;ojVvF+o##KF+%o*X}P;d!>cFb$8FtA@ae$ z^^ajALe72CFaT~~WeSSsk}R7Bxk-nGK=CV8nwS-{K4eF&Aop;om6XmoHaAlWw6+Z zTqjsNRX|U<(252hQfM+%+gXaUim67hb*tvo7 zJ>3BNuJNRjXf#-fs3d2|@-z+!MM$soi4rR=7~8NB%6V__)t*3s^pKjJm$RXc;(Y3a zP+^T89c!uELpROm>*&X-0yUi;_xR3V%>DYz-y1i7i6L0sImhPpwla#R4z-1jjFVGF zdybf?Q>EK5$%EYHd%^@ZSvtJ(x;bft|1m{L;W{hf|7-8dXf>6J>Y&IHX=VtKr6fWcr6@v?eHlwp$74uA z&+mSo+kf-&$NVu~uj_q%uJ`r6t~Dh=99lrJ7)^S&s23@N_yFdC=0Y~;W|$tV;yhJ| z-LtMC=Ju4hm)NWo>U~ji?gu@^>BrR9AD=4beCR23>s-2SyvQ{F-R|P+p=Kf)JI#ZE5v*)#jz*Em)NLaUHgunNW6HrE?^~{g6Y0Wf#~Z z($&*wPnHvOShw1PmC|_JF~AafQi)Jr2ze?OKE#5@k+J9!XlaNj?2>zyMj99*AQwCo z{!EyxCZ+Q%{UAO}5p`rm0#$nbBk~D_h~;;>hA*pC3~b_L7C;GTxpuB~c7C?ejI34`b@GhMQ1vQ>L$}o2 zS&1&E+f#6-V$EmZ7)3~la+t%lU-y{#FP&hmF}cQ1AUKR4+WjUtD7Q`8bmHmm*`e^t+zz$Mi3+#bVamEw zcwk}C{(JV$?9ic8ce*(Lr`COD)BfK`0A|+Ye}=;=Uzq{#i9s7bvxlFV#xvaepc+5( z(vz9Y(*^lIrSy+4S2N4<%zPd^9i}_>Z&lBNviyR?o-WJ(5x4JqH_1%z+Xrc%8UEKr zt#pRJD9Haic>W@LUu5qfdq3K9FSFxrPg3q^cTX}EDcAd-69M%Pi1s&)s!pV@-;SnG zamP$mP*4_Lt_*!gB_b8(Y%uq#42n{(GHk+fZJ|Ovd1lQdHRJD%f6Lzcs$<}tQ1%Bz z4vJa}6{1P3fI(rg`4dzxN?#%Ml@v*T@HcC!-&?3YR=d&Dl5a1HJj^#Pz|+SD18pc!!*+7<}(z{;9tWz`BM zXE@JJwqBnDWbm^rw6hpv9Arv52h9IS}ig2$T5C-YJ+{G6ox; zZslgjS{vSy{l&*yG;=64(S4b`a?Pflqqr;SCAZ{HX&9BiJ{gvl*1pp7s?h=H%dn!h zTXLZq##a0l8$mNvE=a5&|OO{&e{9;aGm$8c(yU^vwPtr1k>tMxK!E5CG zs)Oovpxp6P@duB$1cRbI-Z9o{eI^6y{Yk039`JwV_pwd^Rc>vC&vXCJP`D0kwi8hhEnVxiy+?-}mof-)n|Q|Hb1w(*6#*jOi7N2;UMaFzDDgyarn zj3-2i#$K`;3WJ*=TG$VuQ}?F$8e9+p@48)iDZr2fVOI;7t1Rce>ZRy?pS4{vph?Hm zOYeoRfU*fj5xtsq7mdsZ#tci~^fvA~_VQMrPMQ8b(#4HRPz8AnsJ}^sC;{-4S-KOx zEgzzzd;H>?!%J+=cb#O5b+?iYqRqi!SFdxGX>rNu(>P3)p1fFRd8_{!VEe#p0ts@Eq!(kj$;CfwI%)<>RBQXNRz7CDV20X;WurEa}lKt)< z&Vh*%9U~oJFl~|UcU;YAsfve5&d+=HO-O~I&hpmqEbL~?< znQ9Px{MiQxYDL*-nnBgMr=*xN%f?akW1NO|6;Ll9tjbb<9Lf_sbz;9YDePrH+o>P| zyicJp=jD3jz$k)CMQ|wh^>f>GJxlkxm+7)xt`Ae90tl#qTH(O80q!VjQ|k*|mQDEI z^0g#TIv$z1%Nl#hVK}x63*o;1Y&99NB>a!E8G# zEjm*}8*ZHw^g4rdbA_{4Y;Kc?n<`T!Oy-Q^p!|tcgl4*tSf=oa#8P7Ihls+a-8jea zrFs2w1d_mrf}&y~fN~prCctXxSzhDMiJ3Fv7{MSb*6Jd`v+WPt6nnq;`I$s}z0dU^ z-(|dhPw*F%=jm}m-*EiNRC7k-2WYyPC-|k7v(G-C0=)^FJTH&LzM>-5ZCd`4jF zXW9N!a?l^y@n z4l-nVc21H2%&6hB`GQF(6&x^?QINZr23-qgPP$M%MX0v!%r5+ITseltLhlB>KN0-# zFvEIrPLLFd&W#XJTJC1H&a|jbL34G;9-{5W-aYN%U76AqEB%a)NAZw;IscY$!q1b3 z%AXvsucTV-XDENLJus}Qxp?8>i(bM>rtU0qQ=h?1z zLsv4(Zz(KYe_nljDC~0C9&rzR`2l_j2XC3ftJq1#hqyzo5{J{|g-;nnBNXO?-OylRS)CjS4CzK{s?3H%an*kNUfo<8u-8C&m)E;51&M?A7blS_ zDl%Fqdm|Bl*HQ^BIpl<3x5l%<3w8N`PDHX3A>l$5)dJFq;vhU^6YA34evh_2`S8P2 zmi7tABwWr$g3i6PI_j=Noj!$6`;&}J5)b@=JfD!dzU-6}FNNBxH29*@JBe*gXak(M z>2>*bJak`pgOoP)?Yp^mqv=|_GJU`Yq^{Nhr_01*P8wym-g5}|P>lXkBHmX|L;`)1 zVk%Co@;=DjomG9$RG3KfZkc_b<&zn-j0SkAyM&oKpmkk7+}xw8GG= zYR54rd%UPFxi(?_0Z5l-(V1135ckBzAzjJ;!NpnXN@BwSL z+T2}M1c?#-XfSDZ?CyFp%iY_K$q7zAk}tBIZinu@bEu~KExTs5%}uYELmA#e7l3Cm z$Go@_-P_A!AV{Tn^vT1hKnPpIZ@WCx{_Ycmapx#Xj&*g5MYt!d_#C!IxxyE~6RCgI-j`%=`-JT+B3&Hjd#u2MhUdbnZ@<}o&7wMxT#M~>p#H65OT zo@*O5lqTxark$1~?(aD10B6@0^;E{KbtL(cI4JTt5A~)7pK<9w?%CkY?FAWdya^ZF zRMqi@r3n0IOrxP(+3T>o;G6mNy5#qhRfBNw4Jp6k|3In#Q%gNPAe1iIf2Q-toql{y z3zjl0=%=S=?l9lg+WdO!2dA|RGyS)Tpl(@=>sq?=22|}CbRNv#VLq^B)b%mfF3?YF z8AP68rmyZVVEE}hBc9SJ{DS?9Js?w;b-5y15G(U*6zO% z?inn8xP2Nl&@Y;D{y_>)|EfhIzewc&`-ptaZ(|K#+3P*{C9t)HYEnEHB_h9@K?)TL z#SH2<8u3zy&|pqVNrS0WFdlM6Pl4KTN^w82lX8#)BIO+ELG46n1sgQl2o9cxc=wq2 zz>u-k8KP!rg|Cu#en8|uEA?G*$+MHa8J~PMrdSEnR|8%=r|VV`p%k&;Ie-ng2ALJ0 zLNQ8qlX5i3hbwppcgk5#6#`tqB?Gw$O9C8mNIrF)Je?vAr_5rJZd}2qbJ_)od~r)r zQ_`T?n`VYmug?!@c1+2M0wlsTvmni znUAv0uk!P|DIst%d<`O&>w=x;!KDS6k5?Vt5^&h+AipxoAmhm@f5)gu(QceBR|}Y% zb6KBD;ECZBk;wXMc#-Hh)kmKe01YpfLd4o{G&yjR)!E2PdY!A9_JvDON?PO!gC{;Y zzcpV5sVXnQHDhPsi%WOm5VSUpWUM+A2AHj63#DP-8Pk(@-eFh_2kV5rvDNt|X*b++;`LW#Z@JKK za+7~0beZs`7ndSNVr5M3Y#Np#vyCg+1!v+Bvi6Ym9nay)*KABaULi%jcy-%_hh*v; zkrCaY0(0XziU9fa4JX2_Pv^9oUfvJEndi0R_X8Cs{3XP`tE=c5?$Z*uOH;L7k zXs3Q{h2?O^xu^)LCx7?~GG}sgy$N z_->Su<H3%GBGk{DU_xvoQ0VZaso;7;blxK2K~WB+ghp+e4@bi}}DM za=ezRvKhj#u zD^rJkb%yU%>ETAOzEx`7qtCg#gZ1p@&uL5bIXA^CHmZOjzEKu-rf3{?)Ef=qrM`5l zBSN{cxzpz-ow=%t4fUU8XqS&9k|y->H|-`-mB=Vnmw`MN_VCp-TJZ|3Q{Jw+o_wVu z)CzT-@GX>H*Jj6u?kham4{QB)w5I2sn``=|ti7$P%$M$?RTwR?r8aXI<ZD|~hXo_|JYl)+#A%zGu2WBWkLnyGO$B&oTotD(Rh+Ii z1-uPQOfV|eq?Z$Up7^SOmSc)a)FxFHk;EC4$L-xXTgrfN=9#q+$il{%1?l+r-WiaH zGj3bIQP=4OY4mn9Fr)vozz&Am%xmm_rxXp;*y$&&U)g7zGt=$TC%zoBGFUhxi=V;5 zzi-cGzG`K}+%UK}Jp%IwiTq#|KjXX=6xH9|tN6wm4>EF4S7$Ciqvv0O;g|D_oT=*U z$1yj5S8PXf4|HH(US)AWFijT`4f zaX5{W#(0oQgBndojpxQc)*kuZIKxcG|IqfHD@9@P&?G>)YSj>`!6bJF0$e;(jb%qL z`E)7)xhhZ%L3k4e@y zW)J|%FW>ltg=TUo zG>VE;xcY>}95)h0dgW}|7#y~|rN>m)a=IG58*3Qdx4=RNRtqgLIv9-Pr?!4XUk()U7 zJB9|o({Zlz2>B6qHt^wQ^bz?o{OLBk)A2+TyNHaae#hG`!*@(br`2M%0x-AXJE+Oq zJ_1Q2^mH3K9k+OXcgOlmzMR{dUEF$(qI7{BdCMf=B0!<|IFg0ikp{EuisS>&A{9sa z*u*I0CXN&5?oED7CbB0IP)4;y%yj&Xrlfsi;|4s0t!=-ZWy*@J!yV{rTPe^(d3A{6 zcTsse3vchBMIr;cGZYL*@28yEBsNJvD$jKRs9#d*mRM1D3zpCj$}%LDX*0FeWdub2 zZxFUk_E4VQm`phf9gN4bJv{0ewukWjc029K9XIfpvoU(y`=%6>4aX4AezRrWMno2< z>pHPhJaes&d9NMW&v_ABKDZ-}C>iW*>qrxMk2Le4^#z`~wbW_}yID@fehxcl8mWhZ zyQhI6q2owJd~wTA;8F1}zApA@ezg7L`Vv@wAt=@xd)+WChFwPcvfobm>-cFR`^3su z7vA%*sE-32=Z2KLdy3JjiQ`QH2gMs^Z1XQRLHdGJF^T^l-t5mjclSGPl zhVeq7b9^RJ7wpN}`f@NQe1L?ll4plP%g&ty=+S9lPe(KkRk6nLhE9k#KP4l3IodNd z(I8?~2|lZ^FNtMq)xNCtx~SwG3eJ(5$M~=Uwtgu(C#xg(^+W&&+3=FOSv;&S9iJ7w zLy^@CKxXu*W)~mUx#fC|Y?FYidbdy@qc<=IEJ#`Z&<%3j=?8i3V4*KvIA$_^|4vyM z!tsw)V=#>oWU8P*OlPNb%LgbB@47p0>jtG^(AmvQN*6SD(|PGUDXqCgPh@A7hUqQ5 zbQVfK$^^qy=%I>WlFH|h^-s5$%xsgMtJqoH-d5j7Kfe6ko&Dwh5|n!Xl2rpWM+C^8 zUgx}he9!y&UkC^c3ch$LE_-J1+jt-Gsz@Ny#bqAEc%| zOwY*7%FfBn%P*i778RE~dR$ueEP3-jj6YvN2)t?*FQ;(tGtf)WEI(z z7GHhSFhq9m)3iG;%LoQ#1cswW%R5|sI&wJb!= zvLZL@5Biq=KU223OUA12+d|AXtZ2WyZHG;JsKwzs?N|0Vy>AaAc(3RPx4L4}an<_v zosNj(>F+xt?H{k`jBqMk%7sZSJXjhEypY$!whnLe63BM$i zq&)s~srdiT>pb^J@JQk+-xJf3I!KWLHZK5X73`g_BSQh>pp^h*zBv|8e9D%VdoIsX zIG9+j5>l_9M^GV9E0pETQn^NNa}`#tuIz>7pOC*st>EsR@`Rx9*a!K#Dk&fHE$!rg zkVyDhLR}!BL{A3JHM<;#Z(}pFbuD1o7MRsBeb~dbGispbv1Rm_H1vH;j~c3bmILD2 zn(|Xt2rU>!dg@a!=D125XjuG5b zoFAn`;y7&&J(_9Gt=(0qrp)*2pJJcP5ihlSU08A2&V z5flI5^3)JjZs#3E^SduDPhMJvkfp*s_EVw92V)nKP>+WQ;<3gaSnGu$EFF`Gp+ET0!8~iDlH-cOR2no+qq(K!J%+ zNR~UP5DstN1tOOJ`b7VkfVF}X->0k5x53Oo%k+q4uz`hMzd{$D=&Do5@iZ_+jWN{0 z;uTPGVu(%j%163)lc6p#{F?L;4jyOGZJP9I$BbK5^LyQ!&zbcjaEgQHSMxg2>lX_y zY)5L_!6oe<4eyTwqyKu)+2TZBoal=a{ljBn=iU#cI3MFs!DAyi-bkU#i3391XdDq~ z(beM#Wko9iu${Cz7zAFGO9U`d`v-VYQq^pWTTL*v_%%)zPNd)s9m< z@{qg%r(Uh&q~=cs!~5Iy2lO_VD>wr1@-P>ALA^yR$&A7=*_fKgVZAL`^pV zP?==Nn;;SvT#7y_E#%nhh1pa~Mvpy2u!awM@yZnCZSvLSk==i8rAjk@|8_6ItpxAU zyZbRGEEGl3v6lKN;`wWEC2j%x*>=g0xz~besGqNw{%oRuX(KrwuPZot%UigO5ID{1 z${e9ohK$O za&sXOZC295uaUChLzgct=xz+Q&|^`jCQDjSpnO1Ke&(PN;V>cm5!ks++DSUt?H^7p z!7uT4B}vkTz@;c%g*oiUJ~s()Pe1hH6fCsdi!MY{pCqsLrA5sgC|1wgSb6&0aP)Y2 zoc7q0N)M(2#T_jy`&^3iV*wa1MaR+-jE6E-f}PP2N33)yWQm|uxjigI$eTgHAJ@!X zhlG#|CJBu4!36b5mNvoU9Yx;d%7e$)1>ynZcqrsxe*&DE251g%H&#e_dc49y7eULq zi+%;%DYwu~Aky-2U2<&ZEBzyolwHYaVd9Z>FM)jD!)fvCxWnVzWZ3MO=b7`(NT>_d z?BgLs?UHRmqy=1E^Ar3}&ojPS8r{_cPcp!b5u?%>9LmhA9s1*${&J>A8-b=OMy?Tf z5KVtAgL9T{o&q;C;9vzEQs6uV?-`hFP~dx*Ihct47zRfwxNBiNhI_gP!AVMg2GjFG z|JgOezx&%3C-~w7U!35K2`)cWCKYyk=!r}my#sl*lWr9)8O%zgDxz88xWar%Fu)(G z*;!Wvz{Y!Z@|6UMKsES^PsR%H5~(jX_e|+PHic2`SP<^C0XE&-zx5_R`T<8qOX-Vh z@;t}RSWnxDuEd(2$@lj&w5Pgn z6$EDY-tDx_d7o0VIk{Eh0#1YF!jD`{bMyn`FMAa2VwEyn!St$fZ1K$g%B8=2xOqer zmbWGHUAt1}I^aOxsTm&X+=%oqaBedavaJawAd?KNQ34QF6!+E{O;YhUv^Cm^6LQB^UB?P&=I*6OeRKyQmgsmSm zmv~?H^_%?CcA>J^<<7y1Cbka}L!w^+(jWLXZ6Uu1xtVLe;#ZsG?a@Oav6y9YJ?&2| zZVZK9jars>)KyUcyid^2WW33Hb9C5e&q4X7jSw=mVOR+Og4V|&rtTKPglPcV;4@^M z7rubHqQYZ_iY)v7P0l>QUm6wmnsbq9$-?8u5VJ)joe4fT|M;_*nHM_v353_#PbC2| zvd{&580QuopbQfRI6A>uN!O|EHs1uxL%-FdwWC181oK;!u0ewWG&n=SWN*-k%y^vU zccp+K-k`V)K1e|~1E?m0;eO!U1d~9%nVaARAm~^4#v=^Q%I_s(0K@UN{?k)FQ~k+ZVgcHh;I$l8trNg z!XsC-1?%(Mv|Th@ey8pKh?qRrpWU0@)1Nc=_@Aq{Nf3e|1+9WfP$79U2bPEFW<&@I ziwB@AVA~*CW1xPxQipS|N~JbzrAl>Lce%<7Q^hj?beo*W!)g<0_K%5M#ro3T5FD<3 zta;$waO(AL)3vJa?xz!ob^CVbslI*CUsc5BUI2Kq5u2)pXkG%g^+oYGMAI6SgMr@Wv$Jn zqV6!7FdZXsMQF)jT=B40y&r5?(yIy&!{`T1f18}~WpFWa?}84oi%ioJP!j`9XOpL2 ziUD(_3BaT&G4}w8y|b-^Q4QxcYF zQK7u}!lbQ(0IMMm(ZvG&YyWSK~x7HM4+Ph`S~;6J%8%)PxK=!PJzWKus8+&;VF>OJM>Jc^hu=-t|g7t zfwKW3(0iO<#W4hi0XL5jur&;&zce82g|Q}x{p-c9jl3{fC-U&kHs>=B6L*?EfB4!m za__?$3!}V`?+%vk8m&7JXQKA*H_tPwbyhhds*PuQ*wrfj+7yUOn(R(=5YR=5mCQoW zqOU|poqK-oL*BK8hDVfG;&fRuS5v4%<(fpf;VR9u2`~;7U@ap53IRI!O@0#76fnJ5 zlq?*KFPO=Hb9QcaqO~buHeXj~8fi#{3NiH|SM8P_4@IoT>0qXh!okR!`95Su=>b}X z-4L7tukcC6zPc>&SaW&(W;Q#%V&0^ba|*fp*^XEz2z6k+)!X*pbC=QI#kIv}wf+ru zQl{Rr*5>cVv=)N$4ZD~L zJ=hI8@0c#N1ea3GP)=VaF^V`rrp_GoL07myUQQ3)n-AI>?`HUd|3R5)5y}^#d=bk3 zK9s+>Or75)eXB$hyjHIR!<#_OC0`kWe0KYOm$5+Jbhn;h$}2>mB0&*-1*`Qi>4oUgVIbf5*#vC9oy zn3|Ox^pp$CXigOc=Zdj1%^jI-pg1$~%AC^=A!cPtPLh(R&5W^av+qIC&MM~LYYQtN zB3cs)sHluxH0|m19ZGZegfa{Ak|eB53qArE@Q~*lDF3e7-tHj@d4XcS%$|yH-wx$C z4)#?pcwqNU6yAzfIvH7E}Sw{s=SW$&NgT=JSbMusH4wc5|DN z-NN^%YrO(_i@$OGM(hG>jfFv+*=NXL<;=(D3^Zq6S^R$f-FThh>jTjoBx&@12;z$%{`W!rvmxNGfVjYKBh|)5I4Fy;@>*RM$qOmadlI|^ zFrtWlJAng`+ja*$e6z=meKc{q<+YD*_MR0jO@Mz+sFL^$*pusvo2L0slKhZPNuK2Ay!r4o^Af+3j)Xs{)N zz#a_(nYV-wsqB)#u8a2+ET`VHNYUYX*9~8myB)K+3c_xMgJFqO7WDUL8B&iihX>{O zu+`=pQ3kFpU)gWv3Jno4W1q{meUNKecsC5c%5Ma`yS>QjW`S;hTd5D zlj#0OY=05;7g2u^_5a6F-%$D<$c)wcMqZj3tUP79!f~+hwYeKWMu~dikD(BP_Ef-1 za-PY{51y($7YSfNWHg;B4p6Ie5D;}q^pxgs zX$l-Zli7IINI|{DZK;PwyWh)QWH>h%8;#&GBdkFzHNFR`FwE3_A=I~<{!k{(NU;tI zg}yPj%X^4ghTrVm%xfJ4j5T_$bFFJCXqXv4jMDXEtcH0b+h0AEj z_4WyD7gD^W(?VGkedW0JP@#z9ptDJd$_TkDE3VTgAP&0_k@D-IXy61!)*e7AY%h`Y zgCLerxA8ookd005o13?7=XYLD<{BCFCtz;=2=#fsL47GD@?Xb!2DJw-gy?8bcMmhz zJ$<+OJFkCp9)x<3+J7UsgIWz8=b5#de-Yv7$iIm5i#WfC^M4cP-33_-R0-r{uIZ=u zAAe;Q`jJF4&+fm%`H!y_>KZHLCr}~q*Z};zDv!T+_+|jL{&)`i*jqR*Sgj74YjUjK zW}qRxDHWQe+T``@XeP~RE?}(LR$4Rx5~Qr4k$CwgyK9s4FtmgxcA^Cd{>dw;llNB(H%z7%?D&{$i?DhPF))zhw6b$+oN7cR85HjErIDp; zL(%-yLXI^=SjIa7O4FBw4NUQr$mBz9E-U1H*A125Lu5OK(Br>C+wqIm{*5>asY?sz ztyxawBpGt^9w+!py8}s^?RB^aG^hZuA2DzDeL#Y*7~GDM4Suw5C(%ED@_>Nrvd2o~ zYX2ir2N52>K;^PO1bi|J8J4bjC-M!>$Kp^M=@r9{+kRHh`LbUfv)DpMe7Y}{uIJ1a zex=ScOsUMm4oLUG8Sptv8d?A34Xqs zei88(5q}Z!|1RQNuobMfCnsa4pOXJ^#J39jZIlsTovtnj3M}=kW)wWkC2U?`5eCUW z43zQbU7$scXXZr4Y3IbW<(fQT3NAo^r07J8*HYW8mJstg{o*5vRMZrYg+k^xUrF=;;l2n;re4=X}lVzaahsF&iGYB|tL~a;a5H;nYA} zN>&@1nlzP=D`{3RkP()Dwl}A^VXnXP?lil-2T2q6UOkTbW}?y~(U*$4V1-8~NkBy@ z6kugMs~{2Y$=PNJ=%K0Rw@hLE2gRmUaRtL!_J?G&Yb zw~ze+^fT`MK+!) z3*Nnd=CEP0*dYKWRMw0(w1@6lLG!_HBf{JTOT;)n>{ve?gS0(ImXal$PnRI^#8}9! zSpET)@!$a0Ml2V<1r^@N(KOzeW4F&r$qd)y(e}@#^mGh?tOQtCRO8ejln2#^~#QPZmF3gr3 zX21uPo_Wj%1O7e*uS~sqMX${Hp6>q*uD_tVzc>OGN5J9;_`4&ZmZd-eOHO8=KKeg1 z0vwqxyaQBF;MSEyieRH1&BaKNWsnfC}Dv8*QFQVY9AXH{&X@I>Qb6vlFjHR?Mw=pIjF>*^yT4ak?kBbk|gOPC}r@;N$BGZi6X- zR1&JnZBPgG%2|or^iw%|Vi7Qb@opj_|2B~{!{o|YDb(1?jngb?4|HKS7HyLlr`B$) zAmycsz!YV4UhOw?$&bXL!ZY<*t*l_2zBimU;nyz%PsMg#ZaIao zT90t&x`4HSIF;2t!q~(8g)9y((W$z~uD=4%v zImjvSCA6jO{GUGnjCYLw@f(0K0~l)m{0-IhB=C&t+xXZ|lF$4M_#*bqcPNZ>&=G$@ z5dYhMTtxpx^j}2(zm5Lrg4H1Ub56_t&!hj>`5vg<^UhAN*pu$;w7~bY1gsOCXbZKh z$ef=8S?#F@I3_!8x<$KoMTICNypQm2bbWulw6Q0BN-O=rw%_H?^mF9!_a% z4Lo8i&`iveyFUI$?ParDvBzn0aG~*CP*f|u^x*rH)dQ3B<*N`D83Gh_91oMh%W?AB z0W7pVFrjd*wcBXhz>TvA}G6|TDKu>^UcgiD^`}R&bOGlZ)gDA{25G0`^n9!37eR&@j1hAo z;rM26VW+PDlH=C7hqZ?j`qJy2dipYG-g5n!ZC8%~Rv8MN4B*%LMrxpN#vyN2Y;TS{w*kFmk7uj864W1OoVN83E6D*>EQ+u)i8I_$g5$b!9;SXFf$DdBWD zIm~ExU_34nI*7AB*i3#0ks~#BXL-aIFztN}a9=;*LH0+dehj+zV=QB)evHqH0JjKm zivaht0Jj5vefc0Uj@6y@KN;Yfi1P&}FfNc6(id`YkQasu1!lHfSjVAp>ymW7OKXsU zM`lMToBhO**sH%*OmtnklAqPSR=$dO?XG#F1}B>mFx7cGwZaq5QLjDGof;B2)qTTl zHm5h+v?FbCCV_rmoYUKCew}@?v*tUpmKZ|Yr zsOz#6QXIxT`#&GsKE-xus3?J4(~xF^;>9V<-+GH~gmY+7T)|CC3biwI4W8)CWJrh! z+BfQEZPx6~NR7_vd05&%6`NgPtJz-ytJEC2#4qMPkh)aSeWX%Z z?9T8r&ZgX<(qm#aNWML|S%jbkAs=ytsZ8~IU2zQklMmG|a0mKuzsI_-fbNsE_IrF| zkT~$eBGxTp-6GcgG}a-n%YqM8%zySnmCoZnV;v5}I(?cAl826UUkBA`w%~0cNWo9x z8S{yGX88AAx2{J|cHb-5oDHVeRb=;s6a`N8=G2M0b!XQ!PW6=tROZCycP8Zy7OXq# z-kbF@-#zxZx!Ckb^={6*-WNu!Bp8QQFmZxKp5lRs`DTa0Ci;_UZcJvQ1yK$xnV@f( z8KiDL|0ko6nc9K42ObkFxWHfrz<>So;<|Zp-MqMN{=4gDL3Dva6$vyOO_Kh-*9M>0 z9$#yEOi=l=nVvh<%}B|hUUv-5Pf?iaO{=jDSs*>)^V(yRD0oFMywsXXLcVgFzi^m8 zZ-(KB^A`?Eg&*JAHO+v*5$ohe-#HAd9d8L~nw>z$Di%x()D?J4^xqVln;m}EG-vfl zdwRn347{yrg62cD;7d7+$rXct45I>~!8-(9s4%b&5#bUH;UZ8GR}6}{PfGmtwJ<{! z{03NmOdpxibCF6eQprUs`O{Pqaa|VVW^C?j{m_WYSC;ETnkZ2F!NaXbLjE6 z@j9YMVIb~-dto~6(STc-Jry|vRJP>J3*eL|XkTG~5rg0T0EXam*s_fYdFnmSbLI## z|Aoesxqn}W=l=?0${Z2SZ%reim&eooD~&00sZ|@~`qEzQIM(+E#uT^h&>*Be@g`Ku zkC;93=GZ{qct^rO{`6?iKmmY~AEf>#8B;znv=taL;!PNq77sPyA07*naRCr$HeF>OU)tUBtm#XT8rdgDIwM7I3nmve1Fq3h?MkfYiV)D(;Fqz_E_w^Z-z2S(X)s;Sm|XD+p114Nl*-?Hqu8 zp6BiD-o5+2C!TmBJ%9du|7gzVND$0=?6JpsxUM^5)v8rq@C@xm<2{TU%QifI1p;_{cwtvx$;?tHXY zuU=2sw!J2k$?ROcdUgBJP-7n%kU4YaIA8nP*IL3bJU^LCUNe3AbelI4Csr}xD-qHV zJPt@T!j}WK)bDt15CnN3I9C#%pP6@_I9@bIo_=fup00tBz zH3Y%{$G-{4_U+p-V#Ek_&pr37pFDZ;qGU4p%+UblhyZfQC6|n}EbGF$y1MU8pFUm8 zM>+1~&DTn7!}+xmnq$}c8zUwBOa%PqI8pEPOG!bBqR+>w+NLwtA42{Xqi7smvF zN+_i)rNWwYMpJ#geadO43_Px7=xM!r^}J}*sL?_uq#zPN1%?4zBCwZ4K4d`t|GOys=})qF1k8xb@as*H4%*VIhF$j+CVEuB>l= z^P$U5U-`ff!W}R44C(N}gQY?sk{8EUaQJT_1An4mhYF4_KbOxF%7~5H4Tcf??V;g>m1w|gv;PUz#4$p2f|1kEEE2bdiL;+iQuy}jX4LN}lg2hF~_Cq+4 z5IH1(a4w0jfWQ%=^Tp3?5`Zz5O2Y9OYsqEv9PT2Gq+bBzP}b*_L!^X;yhacaxU!Vk zHr-ka4o@RL*$PljL45O}1W$+nwp~1O@O}sDKk&PQSV(ZqeIQ#6g z=?;sX95`^GTDWlG`f=mN-Ekx&g)^y}_sxf%AOFaATCFIsrgTtBgl?fF(%~S?b1!+( z;n&10FCiL4%L)Y$`6dhn5XT|`>tHD#c4z=e=IL%BM19yU41cJK(_rv$!w_y5aW*AT zu3Zd@mKDoZditEdWy@R@Kcl1*6p^mtgL6{2Z~jt@o6v;T)>e@cs*rne&>zP=_MKL$6LUB!Clq(c;URBMi@yQD z^>}0aS4?FIAOR4#a;_8Vn|30FB1FoCu!P112}uPVu$=%FK`t5KYXT+$8;+gPv=pLt zR&2%O)e_>sR%E6mU86Phq-(j**v?6G-32nOxQ1s7Z( zpB+4SP+VgEO-Wg>V8Lq>Cr(`GIL=?}5(^+#UG^V;Y<=V(TeWW2hoiDuJ%`lsny`lW zRLZm~cEqIw%T?6d5%&rp1X4?gO+YMiZ3ru;ITs{QbkwPK*Z~2qEFp=&f=yc`5<`~f zNO47)0+5waZIKWQp-3@7q0;4Np4bv?L-@|IIF7MLE|$)_1LG%l?*vFLm&2w_oAAmj zui$f^`y5iKR6b~=q(q?L_SVlL`SFka{rG~)5*CC_ zZnq%B@2s)_o1cj$(d4b~R+m>3Vv9(KTn^|s2#efo`NE*0GLV4Ny*aOKNYaFAheOSl z$v|Z_QT3t6Cztb;NTpyU4VZKu3TLWZ4l2zw6M@xV*l>jr$WwM6Jbiz8j?1e(?QAT) zda+2zlqpltr%#`}gwUuHkP9!o5KT=@AV`el`J%MY*7WV$7eBrK{`I3yIN^2x&!$qT zw+{!DJRq%)Tsgi#0^Yn=UP5@op@J)3mL}GWSJt3z;D8t*0Tl%BKiG{8=gvZU^Codu z?VKjW#9iCq^k9Ox^Fc5&YuDkO%fE%p>NT-19VCJP$KH4Ydd$7zkl*oxeYf6*-E+Sq zV9=Pmwhd+Zu*BmdQyBX}>58N*@1L0=lURE7BD7BIF5VOY;X$Kr0QvmqKc6@Dv@QJZ z;K6pZA3O+!5Z${s_n-e6yKlN#Uq{(+l!rb)`3ZW=os0c?4no>Lu8?D)}-uBt3o6SJK-?m(a)JvGw9hK(L9lk&x9xN5X!88{8n! zszt=X!tiIGLH*RJX#f51@%CBgh%Baj569f}6Ex4Aix02827CVHyCngUInlt0a}mID zY*?JD?M2=lZ`2e33vRVG@^)TjQ9=wLBsRg|>*9+qMtyyK;o3~$D}`LnLnf0J71rK< zP+Vd+k;E_VzkkiRapM-%0!j>!e;7~qR&GWDLlc<;i6SqHoJ>HhD3GL=RV*PQ{6T=0 z+ipR>zxzM}-w5{Y!=`=% zUXZxH@}N)$i{2MSR_08#WqxM>F&>+p_p+u= zoq7l$R9UB;cA7-+JS0sYFjXHQ41DBrJ{;G9ZR-SUb5nPCzOPoSSh41$lTKQsl=?#@ z^%b)r|1ka#w^w_sV!#u{65>&c3TcZ|*1gU7)FgAjr)K8^Owes9lO|Zoae$Y+;--fXLb}Dw31#{ zCkat>Njt|OqU%FSfaWqv$f@gABQdSU%G^<`|6JxdU`%H}>oWc%ftr`u^kwG|#<4Tw}V(1x{Dk zIcXZat*=K~Pr-4hN-U_rk)MCop)#G=mDIX+dJ2E>Jr>Fd@V;`Z{q_a9h>H!iyzN>rQ<7PW-DA%LtKay-J_ zyO8jGA&`mG6GMhz#Fotn4<5v(KK)?%Arb-5`=;yBWA5en@Y?IK=jy9FJ4~W-qqGSF zK`WF5qZQCcq@!YtcN_>waz)X){yZ)r1`wu7NK{G+CBOh+=4&dPrX);IsLluqf5TYi z-FM%`$P-Rbzk2xL-?z555|kI0E?xTG^5x6(d7Ls5l8cgyT4j~AA;M@z4{HgbQD1xB zY-F~+t@Z1U9k2stffG8-Vg<1MLv4ut{tmbSGt32h(DUnGNB>)IfwyA^wzM2CKx#mK zEOCf7>Q|Rd!_!=d%d3)NM-Wm?@!HWfVp)j-e^QR9vJRDyczKt^H_}k5eiAPU6G#GM z0HqhUeaDVWCX-p%w{PE{d!Dzkt*wo!E7CS5Qjf(Ud6gw%ZRxa#q#Ys^#nih*-G>4q zUe@N<1pu3RR`OdCNy7H&D(e)52@KZ_ZGrv44xLho@>o`VJx+M@4LH4eVaLT^#Qx>W z<;qDvz%e)7gl3VD%3c-;Z&R<@Oz|+HkL-nFly4H8CKqPjbyBpHgpgXM8X2$q$IHRR zg)K^nQD1RTdiUSC$RMd02GZL-D*cI8kJq=SxB!xxMoiNVeB_S=EYc z#h{ona9mOd7NvwLtf{F0>H>t5*`hs5e3QjZ|VO01!CSq6|T7k&x$hws9zuSd`S^S5X^cNVNv3h9+A@z%`0 zg34*b%~FQ;vTln7hF2A-tb&aoC^iE^W_oGZnK=gm6I~EnTnB^4vugC7}86>gfDh&v8 zSquyfAk`Wuid9zJ?!=oW7*yVV`|VFpnKI=X&-0!?=bUr)*Crv7L(<7Zu?4XpOw#XB zLCaAAl1&X#oC*%4^R*uqsAzvIRtLqPM-@e8dz-rF!AK%4fT??qm%@^Hw`2T-&bcg+@mQ^< zQfG|;CJusWD_H0ej#Z1#oo&O7fwZGcD$NGBH)`MLq`P07oO(%CHG z5)|=j2vTH3S)h_w%w$AZ9}%~ghPB{P)%hK;<@d!=H>X+P;yNk+lHUBiNuihe4dA#e zMzMZRLes|xpvwz1ek>2fD~38))h`=MuDUI+vW(kX418Q#jLU04i%Uvzha^E_{BrB9 zw^jh;vj6zwxJUl6)z}Kj^onPs^{(dff}1O~a@H4O5+d~yu{8vwP`(vaM*>(mA-J?J zi}5TFGUa!`DGCgW3Bcf!6+@eIBO{21XJQC*wyrFSy0R3)z=h+mBhkc6I=7{-Pf0Yk z(ac59izSwb#*=#Q-r z|9xx3e%gjm_eM!lH=xQY9IWn<+v0(tlu0EW5lIMxJf)DJS0j}~UC)-vVC2o15$i)1 zvG{!{Zr8b{B;y&W{_z@g|D;G>PGiaEE*ZheK`~XLbXcfCEM8e)QYX5SxMbd)7}wfO zY>1H%BL&r({Nj>h`nrlGhGX1z+iky_G-=Yc0A4ur%rjY4l!J4uyYlPH7tMJ5dlvvI~+%OYMotJMNb6BLJgxdtX`}6CQjVCGP*Rdjf zDC?E}gtwDQB~uLz4NZ-W^~bQmtbnyfT-UP86T6mc6+%$07ORcMYnrPcdUmW|D{rjz z`C0n|9NRaIi4!MC8xTvi!lJQ$<6>{CoZ2$KGw&v?!uLDxyz|j<S;<$RSTdQkM~)oXf9%+?C%3e;e5R$Pr4y}6c_VQyi$}fYGVvQUzc*Yb zVqIdnLva*c4dhbS<+yZ7nc*EYXppo3(Eu0ED}GO$SKKYGblte5EMC0$(XnI4{y3M* zttw8Pa15FVsw-Aq_+E35Z;u{5oQp2H=(y3NN4NFu+js8x@#FJ=P*)nxs^-JTZ^WEi ziV&r4*xac3u9R9a0F(kE4l)fc-BLduk5|kv#bd@3jq&;Nb7NPk0g}I$ve~*a z&`+8)$(c8A-pIPTx;d#->gp*|rr2?PT1pzK8OCbdT}qNF{l;){t>?rgpd51;5Q~|> zFh`sQ@#`KgAhpsWe;&Kv&2ohL`uguqo;=x(b5&fGl$&I&l2CkO#Y8Edd|YzM8RJ^c ziQ9roSFZ&N!tQqf{Vkn28M% zT_z!1^jVHu;&!Bz;f!;2+>TV@&f@cGu@R*R7pUQ5UuUtijH_cG!un#GHa8vPD{GmS$+y6?QbKn*w3r8W>PU{{UcBa z6yRGnTzOaUS^MO9(jl*t@uA{KI`_yGR~%CVZOOQvb6mX*&- zIhOe@61h}FUo0v7cb5ZFY|v}b=Rr$5ytTynSj5J$Yem8gtuF%RN;3CdYXM&}8t9%3m$hHJLxdt=)x?lhm zhVbkp5N45cnay`)tekIQ%eB|x#1l`%=+UFmqX$!f`iM(IF-Tnwh}k%x7SAPapsnMF z!^&p!4HZt*8*6S*QVym9Zjtk~)P%}KV6j%eA8D%ru42<`28mn)+TFA?X=D@i@SG0V zS@v49)zd~0HUAM@Hqo)^G&Dd-;ghSc_#F_iNdle#&eql%0=4s z(ZH2Wb~gb_yc*RmQl&XvZ;V5DHL+PqBP3K;k=kMm#qXk8Sis-p0rBB08=ms8r0smn zoH-Mp`qZcL%@CzLwKzy0n+>VvLLQ=TTZX~Pq;(BmejK&*NM(=(VogBl7PUx7tyIX# zj2O7;bvXzcY&O8knj^wb$gI%Pa#v6)Y;akcqXb(dI3WLM(mPEhwiZnxMNVH z+E_`3nIHzLX1%_HMvUes@F0MPA2Mrm&HEO z4hs_ZbA468U~A*8&AcZK!68(TkkwfPXMg|x7t^ll=fNy^EcR7;`UaHy5nGFjvodqorzW7;*AKAY7uu=bGO(5Hi8F0M>2#> zK%4+sFNKE1x1&$n+1S?FifySL7(Hn?{`}apP&feFPl!F?p}jRa2n1iRGtN5;;y@V3 zfol|V$k+*KJZHZOfx5fxJW*M32`QzjJr;Gk zZe$e2MZK={j&PyV0LR}49}NiT;@St$c-Jq`^XxORWn3!`v}e(~Z-9<%`=OMLkltJ9 zYugiYBQx3{OPmD_vUY(fiD5JgU)I5R$THA>ryP9}jvI}co?uR;Ri!r`(t+mZDy_nrH{ z5Rh7eLY{N5Wf)XeFZwr!c8@jD#Gd2>HXRu9BNEB>+u_?Oy^V$w!29eMaKgfccloKl4JFD$~ zkA#$rHA={|0qnr=p|YMm4n{r&BloYtA@R6$T19MA8G z%K~0M2=UXykPt%;Y6&(`beU0~I(2HkKvhbo#(@%h5w%|K9X0@Awy=j)Je4IoD#;qn z&fQoNBZ$i3LLhDz6~aq6$foKs>g_l2{@wSY+rS}M|MiPe$0ad#8ab7OrM$=(ZO0WwY<+*}67y|Mv&b6NEA6;_`*4zAyTR2ZNm z!DewLBDLc{2{Yq{@;O^*nZ)F`jwB%i?w6vn@IVRiAUlfqVOc<`rB9B!gqU4P6N$w4 zr%ah5d(y>KkCBRUVDJY1+%gn^(yIl8*VlM*Gr@S z-9JV1MHeCaJY>?o?w`oH>__CNc zz%OQZPMuV{PjR(_KzhE8s>=GxSH3dBvMg?b`MuWGR@VShYaxh0?Ho27Dw|*XnD4`t zo0Og4jF%O;sF52i`^>;Z+Fi26$Fhr#?hY zX-7f#NokOHn0%SUDB}L|(oETV@F*#u%M2(l#Igtw=Ce$sUe5J3>WlAP0!SE!pKWSt z`u_Ow}!Yy)~486x`lUMqLt&CRj8JSM)aF zQb7q55-4(Wv%s|^y)op*JJ9#iuS()@V`gsPN1`v}0&?yzB156r4$3IkyT$G_}C)_3JKW6LH3A4RMLMjEnGV89C5CSr8 z+_=0AsWq|4^R^Bfj4+qhsz|c2W<^T0l)-pIdBYy18AA*0bq*TSIb`cBgkA%hF8w?v zTyp~+n>GcfU-d&YUwA&AJLh~HeD?Q}Hx2`;J8@uj+#hZK*V&7UDt|^rDgxmmwD>Cm z0z5Q(c0QM7b`7eOSd{T2K<>KhuA|o|XH=E}q_dZFsF^DT)P|vhpt9V#M{n9Ad@A8M zb&9T^Yc-}rcC))6m(^twDI{|lgl+&Y?1LGvK81JQd>fn3Jr^Cv^vCR%SK?r9Kc1d8 z6YlPv;EG8aY^k|R6-AG3)TDS`vJQ^d)i0KMnVKOW0%j24v6yCvw*UYRR!KxbRJQYQ z`st^4l8|z-m&xyOTrPPys$N#yh7_x;_yj9S%<5r-U}uaC;bKhhm&oFva|4<9D02AB1~Lz51u~j3}pYX5|*8Xd&UL$)UtcA>%ShsnoBN27_=i$ z0bHLkegYx4aFWVl6lqF)L$I{Hk~PRyE=r;3{l0Q4z;Dj&ob4?JqtyL=?0{6tWyQZ+ zbKDSaY#2q%om)}04bpifDd$FenNvC#=sBSSS6N8g3ZGo}3O?Mv9j}~o9y~jPl&5eI z4LI>zU&qMn{uMhPScd2RaUR^=d!P~l5}qfEQnRw_Y~(yx3Z7I79n^b_KeQC-{Uo%% zoI!}+ovXbplYTeRekGgPrGQXnjU79-CL2=BJueL#4Ar6I5cy6Fxp8}qreX|YHr&<{ zV}*6nWx|e-et-83OuF$#Jo8tl5AB3svvruGo&1hcaiMtt*1jJ)Ot*#E{BJoV*E zV7AM3=wiO+7M4fC0qhxY=~i+a`6aN z9k&PUGL=Q6Zjyq<-j*SDv5nzPtQ9*^yBOlM4dhY^jqNs47hH_9m)tBltc`asLmg`yEd${+_eFgZ z7mx)Aoe=x>?L}(cCcO2~3cUH`Q%I--@FgXzcZi?@d$R3(u_4t0L&I2x328&R#Hce4 zF@O}?j&dBMBV~nE!-pX#O22DFqP+-=G3Q$Mz><6tb62^fgG5$g$Uj_;F+cb>JU(MO zytSKU74U(i4ZC|^^g3Y-hJRuL2Annx)`=&ep?fpZ2inotr!Q2uI_%l<23GxYInu9h zM&`giNz zAhaQIX(-i>U&<|hX2?*4Ioc4j-ZUygS%7D|X!Jd#6Wm?Yk?s;tHu|A44{`jDuf^y~ zzJlLhIUj>RGXp)HdhGx2r?Kvdr;*_NG}=_%&2G7Jo(I&DL{;SVp`X9-=K58Qfq0rxC)(R1hsG)l%)_l?2}@_NCDmZqIu9Dw0{3zaqP4Sc;xtz z2(knMXb4?|+%ixa83?FO6y^`M_%I*EEvBTluAK&z43U+G2-t9a*6Z0NX`$Eji5M|s zCjNNGBGez~K+e{kDt~C3Ek-@=_LjQexJUW108+}!G82vK*SPBX?eM_}Ga2106?s?Y zH;k+qHCrUI>teu{{}uxWkHDIj{)7vbEyI(4_YLe?wp7%a^k%Wij(ZJD{}t0)I*Usj zDHXIu0*JWHdiy_#bXdCO2GDX6Ki0O3zlHUbyKte0AN6*t2B=9{uatvfLoF zLwJs*)tk-jm~;?F6~ld0WCQ4EKOkmowG3*B)V*3Zl8UXOK+a}b-`4Fy+-_Df&V09J zYbv%Jt!z8@5I`y!bh*yQp|VP?lc=P+_}z-3gOFjiH#(7#x5;Jky>8@q%v$jf*8lqh zc=5XL;?wutikA-iKUoRGU$2a$S9z_a-@A02%wrx0YCExk-yMuQPOHcK|S z(UL@`LB||i)&Qgeh|OZPFy&jwDhDsM&B_B}Y)G~HECvL?OT~MgR2!q>_vT5TrXDhS z^yp3%!%ErD_`r`29tWN=5J0RwQs%P(R3uYQH6F1r-1mtKh(H(!H?u9%D6 ziMWTBBf-yO3c{NxnlI0 ziYfHkYXxS?yHR8=A4Ppzl(3xZAn-!GI$Ilc6RDTGR}=io^@2cFTrFL?^w%eybkYr_ zb_1%FW+l%nB_Xv+MSQ>qh7RsjF|>ROIVVJztj865_u}3Qzlc5q`r(`(UylvH_!%Dl z*0)jTXW$qwz%1s87UJkdCIx9Tj)IB?GQRn?pjg+DI00foFek4R+pj z2Rfo=EnQ^NN8BzL0vq*bqZh`BurB9vRfXNs4g2bueBj^dy6F`E)m7o zGl1N6*Ig?{j~;zPsSV6N7C_<&H%{QELx)IUXb!#qweFANGBw5??D}wmi~!}y6XbNV zQFn&$T`X~@4bDu#D_*0I-!QKu+5Fgt#Ti@vTRb%a!a<L_#*r)&(jChvhcQECJQk{h@$;kh;UZ~^s)jZ@BlUBvSSRsSfKBJlmi2|zY)D>$qi47`H#cL^ zqD8+MKYsiTrS@FxG6^YFK{FR$GI$_7KA|l_gh5*V;2yl>OpD8(T_nYB=ye+L?fc?n z)*JDcCcKOr6}cE!=+13kLz@@9LQAJu%=1m9Z`cm?3Mz*g00;FGm^wLxOQWR&l_Y1e0FupnGn(Z!e>2*qORCpwm}lwg^@V0n zV12r-D9ZaGdyf{Bl39jOuo0bQ%rJxTtau*PXC|T0kaOTWA(;Aly{)aHgp^7&8XI!w zop*K(AfrZ&s;Od_CqV?(;^Bjl;m+2^CYVK^lFKsB3f1CMsIQyH-|5lfwt#J*rr;Pk zTqPMV-oKsiJd)?Z$6^)*)P+FC;v+K>P)>-n3h`E3+aVHCOQcQ-S-5cFZzoKcaNSXt z5CT%oh8S*+8_!#Y4uPL$YR}jMlhlfOO!C>^DESzvw5Vzlxw3IfQM{*nXDbpxn17^f zq$#zl9K|Muxd2Heb4(yoOO(|04jY#6ACZ#!RFSe29)r zS|%-qzko?Bb}-LV*CdrXcXXJ?_=&XSw<3?$$i?w6losL_8pCDtehE_w9r09@OqcM< z*mQX1;YqeaN8lrQ`k9z9V+Kw=_0)X&y_)_vfGk+B;EC4O)@yCs{?k$QvdT$FDbFfC zc|NOY%a$!zwQ3dKdFP${)_T=$@JM}MP1TgT4kPZ9PC7{*c;B;U&#F_AHIZQ`+i(yN zs;p95jaMD0(h0?pdNCli-YC}q@)_m3ckh z|E@G=^BpCmO92@)m*LT86Zt(dM(~iwPuA<>M_nRf>~F<1O|oLdwaKEdaQD5Z|B+Z#9PAJsS?u5B>| zplU=i<5mMJKL5j+OQqi#m37A*cO3Od{WA>>4L>x1)N1f5omUG78V)z()Z!?V0-_qh zOF0d-cx1)DGk`2wwCHgr7ms*7Wd8j5_Vnq~hXOdOv9a;yQKLr512>F^Q|fPXBefdN zxLT=|2(_FSH^S8bDK%c4*ya9?t1Hrk_sp95;>C;a=kstI8ynZ2eDcZpLQts$Pp$VN z=Mj)8Q>OHBU3c;$k36!pSFc_@%kDmNSR)^ulm8OJSDVRU#yl#KNMszxxpnH)sXyDa zY15lmTyaHyPmzxd2!-LPr=DueWHJMTAQ%Z?sBPOl6nBF8|L}-2W5~8g?PTzY5q1#B zzIE+E5bR1M5*wSEnqFVHaN*wKr$v8cvdy1A-#z{G)9bR?EFYcJ=r|4^OwMP&9tprd z^8C7T0Nd6T8sGPcjm38YvTV$l&-C55?>$?ocGve0_7B51w|DQ}EyZ1w`j91;ecl&?-s&hL;Rw3E|0000U&OTi9eU+jiU-$Z7FNz(L z7THf%YSX>LmA1%FaP^CWF+X-4ynZ<8uaZ1>^#Kdzj}Go{10Q{=1G=G`P)q$gGRCt`VmAz{eVGzb&C53Xin|Wq0IfbBgv=a*p5dxyv*aiFt zZ2U?qXao^U3qgX~X>Vy66$!D`N>lhj@Uk--5Wzx0bmiT>$ho<_?7QAQu&}T&zj!GNn7O!!g}rb1s0 zt<#l)#+^<>ryHF(qB#{_Fwm=QnInfK!dLoWA7bF}jsTO^sj5x3yhPV?x4d9Nt3J6( zP7HJ_1Z2YLR?qyts|3k2qnAOBz-xX$T!?&MO!!9#XftXZ4T5BDB0jsl;k<0%XC*)4 zimM|NzF&m={RVzM0Cu?+NQKr56Ln)4C}BQPYZDjBvXos-;l&a+Y20Z{2ZIcByD!MY z{4~?OVT17TpxYA+%C2DmM1_B)&g}|3N4 literal 0 HcmV?d00001 diff --git a/microfrontends/SignDocuments/src/assests/sign3.png b/microfrontends/SignDocuments/src/assests/sign3.png new file mode 100644 index 0000000000000000000000000000000000000000..4467b46cb8f1d26ec24f9e5b85c4c46ab958c652 GIT binary patch literal 804 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 diff --git a/microfrontends/SignDocuments/src/css/LoginPage.css b/microfrontends/SignDocuments/src/css/LoginPage.css new file mode 100644 index 000000000..e77e7d4e2 --- /dev/null +++ b/microfrontends/SignDocuments/src/css/LoginPage.css @@ -0,0 +1,151 @@ +.react-tel-input .form-control { + width: 100%; + height: 45px; + margin-top: 4px; +} + +.fakeimg { + height: 200px; + background: #aaa; +} + +.GTRY { + border: 1px solid #dee2e6; + margin-top: 75px; + padding-bottom: 20px; + background-color: #fff; +} + +.main_head { + width: 100%; + height: 66px; + background-color: #fff; + margin-bottom: 52px; + padding-top: 10px; +} + +.main-logo { + width: 250px; + height: 66px; + display: inline-block; +} + +.card-box { + background: #fff; + min-height: 50px; + box-shadow: 0 20px 20px rgba(0, 0, 0, 0.1); + position: relative; + margin-bottom: 20px; + transition: 0.5s; + border: 1px solid #f2f2f2; + border-radius: 7px; + margin-top: 10px; +} + +.LKJH { + display: flex; +} + +.GTR { + text-align: left; +} + +.JUI { + text-align: right; +} + +.btn-info { + color: #fff; + background-color: #15b4e9; + border-color: #15b4e9; +} + +.btn-info:hover { + color: #fff; + background-color: #15b4e9; + border-color: #15b4e9; +} + +.btn-reg { + color: #15b4e9; + background-color: #ffffff; + border-color: #15b4e9; +} + +.btn-reg:hover { + color: #15b4e9; + background-color: #ffffff; + border-color: #15b4e9; +} + +.SYTU { + display: flex; +} + +.MLKI { + float: right; + margin-bottom: 12px; +} + + +.login-btn { + width: 100% !important; + display: block !important; +} + +@media only screen and (max-width: 667px) { + .MLKI { + float: inherit; + } + + + .login-btn { + width: 210px !important; + } +} + +.MLKI a { + color: #212529; +} + +.KNLO { + color: #878787; +} + +.form-check-label { + margin-left: 17px; + margin-bottom: 12px; +} + +input:focus { + border-color: #ccc !important; +} + +@media only screen and (max-width: 600px) { + .KLO1 { + display: none; + } + + .MLKI a { + font-size: 12px; + } + + .form-check-label { + font-size: 12px; + margin-bottom: 14px; + } + + .MKUY { + text-align: center; + padding-top: 10px; + } + + .main_head { + margin-bottom: 12px; + padding-top: 10px; + border-bottom: 1px dashed #eeeeee; + } + + + +} \ No newline at end of file diff --git a/microfrontends/SignDocuments/src/css/custom.css b/microfrontends/SignDocuments/src/css/custom.css new file mode 100644 index 000000000..c273c7082 --- /dev/null +++ b/microfrontends/SignDocuments/src/css/custom.css @@ -0,0 +1,225 @@ +.mainDiv { + position: relative; +} + +.successBtn { + background: #3ac9d6; + border: 1px solid #3ac9d6; +} + +.warning { + position: absolute; + padding: 8px; + border: 1px solid black; + background: white; + width: 300px; + border-radius: 5px; + animation: inAnimation 2s ease-in-out; + z-index: 1; +} + +.nameWarning { + position: absolute; + bottom: -70px; + left: 10px; +} + +.nameWarning::before { + content: ''; + width: 0px; + height: 0px; + border-style: outset; + border-width: 0px 10px 10px 10px; + border-color: transparent transparent black transparent; + display: inline-block; + position: absolute; + top: -29%; + left: 0; + right: 75%; + margin: 0 auto; +} + +.signWarning { + bottom: 70px; + left: 50px; +} + +.signWarning::before { + content: ''; + width: 0px; + height: 0px; + border-style: outset; + border-width: 0px 10px 10px 10px; + border-color: transparent transparent black transparent; + display: inline-block; + position: absolute; + top: -29%; + left: 0; + right: 75%; + margin: 0 auto; +} + +.successBox { + z-index: 1; + position: absolute; + top: 5%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 13px; + animation: inAnimation 2s ease-in-out; +} + +@keyframes inAnimation { + 0% { + opacity: 0; + visibility: hidden; + } + + 25% { + opacity: 1; + visibility: visible; + } + + 50% { + opacity: 1; + visibility: visible; + } + + 75% { + opacity: 1; + visibility: visible; + } + + 100% { + opacity: 0; + visibility: hidden; + } +} + +.signature { + color: white; + cursor: pointer; + padding: 10px 14px 10px; + background: #15b4e9; + font-size: 12px; + font-weight: 600; + border-radius: 2px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); +} + +.signature:hover { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + background: #13a8da; + color: white; +} + +.imgupload { + color: white; + cursor: pointer; + padding: 10px 14px 10px; + background: #15b4e9; + font-size: 12px; + font-weight: 600; + border-radius: 2px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + min-width: 105px; +} + +.imgupload:hover { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + background: #13a8da; + color: white; +} + + +.loaderContainer { + position: fixed; + inset: 0%; + width: 100%; + height: 100svh; + background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)); + display: flex; + align-items: center; + justify-content: center; +} + +.loader { + width: 70px; + height: 70px; + border-top: 4px solid #1b8ef4; + border-left: 4px solid #1b8ef4; + border-radius: 80%; + animation: spin 0.5s linear infinite; + +} + +@keyframes spin { + from { + transform: rotate(0); + } + + to { + transform: rotate(360deg); + } +} + +.customBtn { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + padding: 10px 14px 10px; + color: white; + font-weight: 600; + font-size: 12px; + text-transform: uppercase; + border-radius: 2px; + margin-left: 10px; + width: 100px; +} + +.clearbtn { + font-size: 15px; +} + +.clearbtn:hover { + text-decoration: underline; + text-underline-offset: 2px; + color: blue; +} + +.successBtn:hover { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + background: #1ab6ce; + color: white; + +} + +.resetBtn { + background: #188ae2; + margin-left: 10; + border: 1px solid #188ae2; +} + +.resetBtn:hover { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + background: #177ecd; + color: white; +} + +.signBlock { + display: flex; + flex-direction: row; + gap: 12px; +} +.signInputManage{ + width: 50%; +} +@media (max-width: 815px) { + .signBlock { + display: flex; + flex-direction: column; + + } + .signInputManage{ + width: 100%; + } +} + \ No newline at end of file diff --git a/microfrontends/SignDocuments/src/css/signature.css b/microfrontends/SignDocuments/src/css/signature.css new file mode 100644 index 000000000..4bade1c1d --- /dev/null +++ b/microfrontends/SignDocuments/src/css/signature.css @@ -0,0 +1,723 @@ + /* html, body {margin: 0; height: 100%; overflow: hidden} */ + /* #04b565 */ + /* div { + margin: 0px; + font-family:system-ui; + } */ + .signatureCanvas { + border: 2px solid #888; + background-color: rgb(255, 255, 255); + width: 460px; + height: 184px; + } + .penContainer{ + width: 460px; + } + + .signatureBtn { + border: 1.5px solid #47a3ad; + margin-bottom: 10px; + border-radius: 3px; + display: flex; + padding: 0px; + justify-content: space-between; + background: white; + transition-duration: 0.4s; + cursor: all-scroll; + width: 150px; + height: 30px; + color: black; + /* transform: translate(); */ + + } + + /* .signatureBtn:hover { + background-color:#47a3ad; + color: white; + } */ + + .disableSign { + border: none; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + margin-bottom: 10px; + border-radius: 3px; + display: flex; + padding: 0px; + justify-content: space-between; + background: #d3edeb; + transition-duration: 0.4s; + cursor: pointer; + color: white; + font-weight: 600; + } + + .emailInput { + padding: 10px; + border: 1.5px solid gray; + border-radius: 4px; + width: 100%; + font-size: 15px; + padding-bottom: 20px; + } + + .emailInput:focus { + outline: none; + border: 1.5px solid #47a3ad; + } + + .addEmail { + padding: "0px"; + border: 1.5px solid #47a3ad; + border-radius: 4px; + width: 100%; + font-size: 15px; + + } + + .addEmail, + .emailInput { + + outline: none; + } + .addEmailInput{ + border: none; + outline: none; + } + + .emailChip { + background-color: #47a3ad; + margin: 4px; + border-radius: 10px; + padding: 5px 10px; + } + + .addEmailInput { + padding: 10px; + + border-radius: 4px; + width: 100%; + font-size: 15px; + + + } + + .addEmailInput:focus { + outline: none; + border: none; + } + + .finishBtn { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + padding: 3px 30px; + color: white; + font-weight: 500 !important; + font-size: 14px !important; + border: none; + margin-left: 10px; + } + + .finishBtn:focus { + border: none; + outline: none; + } + + .finishBtn:hover { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + color: white; + } + + .saveBtn { + padding: 3px 18px !important; + + } + + .disabledFinish { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + padding: 3px 30px; + color: white; + font-weight: 600; + font-size: 14px; + border: none; + + margin-left: 10px; + } + + .sendHover:hover { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + color: white; + } + + .defaultSignBox { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + width: 180px; + height: 111px; + padding: 8px 20px; + color: white; + font-weight: 600; + font-size: 14px; + border: none; + border-radius: 2px; + margin-left: 10px; + } + + + .defaultBtn { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + padding: 3px 26px; + + color: black; + font-weight: 500; + font-size: 14px; + border: 1px solid gray; + border-radius: 2px; + margin-left: 10px; + + } + + .backBtn { + background-color: white; + } + + .backBtn:hover { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + + } + + .defaultBtn:focus { + border: none; + outline: none; + } + + .downloadBtn { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + padding: 3px 15px !important; + background-color: rgb(241 79 79); + border: none !important; + color: white !important; + } + + .downloadBtn:hover { + box-shadow: 0 2px 4px rgba(154, 36, 36, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + + } + + .printBtn { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + padding: 3px 15px !important; + background: #188ae2; + border: none !important; + color: white !important; + } + + .printBtn:hover { + box-shadow: 0 2px 4px rgba(23, 48, 137, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + + + } + + .certificateBtn { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + padding: 3px 15px !important; + background: #08bc66; + border: none !important; + color: white !important; + } + + .certificateBtn:hover { + box-shadow: 0 2px 4px rgba(15, 150, 87, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); + + } + + .signerList { + overflow-y: scroll; + max-height: 180px; + + } + + .signerList::-webkit-scrollbar { + display: none; + /* for Chrome, Safari, and Opera */ + } + + .showScroll { + height: 100%; + overflow: scroll; + + } + + .showScroll::-webkit-scrollbar { + display: none; + /* for Chrome, Safari, and Opera */ + } + + .hideScroll { + height: 100%; + overflow: scroll; + } + + .signedStyle { + color: white; + padding: 5px; + font-family: sans-serif; + font-size: 15px !important; + } + + .userName { + font-size: 12px !important; + font-weight: bold !important; + color: #424242 !important; + width: 100px; + white-space: nowrap; + overflow: hidden !important; + text-overflow: ellipsis; + } + + .useEmail { + font-size: 10px; + color: #424242; + font-weight: 500; + width: 100px; + white-space: nowrap; + overflow: hidden !important; + text-overflow: ellipsis; + } + + .spanTagHead { + color: white !important; + font-size: 17px; + font-weight: 500; + } + + .pTagBody { + + font-size: 15px !important; + } + + .signTab { + cursor: pointer !important; + font-weight: 400 !important; + margin-left: 10px !important; + font-size: 15px !important; + } + + .draggable-button { + padding: 10px 20px; + background: #3498db; + color: #fff; + border: none; + cursor: grab; + transition: transform 0.2s; + } + + .draggable-button.dragging { + opacity: 0.5; + /* Reduce opacity while dragging */ + transform: scale(1.1); + /* Apply a scaling effect while dragging */ + } + + + .signatureContainer { + display: flex; + flex-direction: row; + justify-content: space-between; + background-color: #ebebeb; + /* max-height: 800px; */ + /* overflow: auto; */ + } + + .signatureHeader { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-top: 5px; + } + + .signerComponent { + /* box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px; */ + width: 180px; + background-color: white; + height: 100%; + } + + .modalBody { + padding: 1rem !important; + padding-top: 2rem !important; + } + + .signLayoutContainer1 { + padding: 30px; + display: flex; + flex-direction: column; + align-items: center + } + + .signLayoutContainer2 { + display: none; + } + + .preBtn1 { + display: flex; + align-items: center; + } + + .preBtn2 { + display: none; + } + + .headerBtn2 { + display: none; + } + + .uploadImgLogo { + font-size: 50px; + } + + + + .DropdownMenuContent, + .DropdownMenuSubContent { + min-width: 130px; + background-color: #887abf; + border: none; + padding: 5px; + + animation-duration: 400ms; + animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); + will-change: transform, opacity; + z-index: 30 !important; + } + .DropdownMenuContent[data-side='top'], + .DropdownMenuSubContent[data-side='top'] { + animation-name: slideDownAndFade; + } + .DropdownMenuContent[data-side='right'], + .DropdownMenuSubContent[data-side='right'] { + animation-name: slideLeftAndFade; + } + .DropdownMenuContent[data-side='bottom'], + .DropdownMenuSubContent[data-side='bottom'] { + animation-name: slideUpAndFade; + } + .DropdownMenuContent[data-side='left'], + .DropdownMenuSubContent[data-side='left'] { + animation-name: slideRightAndFade; + } + + .DropdownMenuItem { + font-size: 13px; + line-height: 1; + color: black; + background-color: #887abf; + display: flex; + align-items: center; + height: 25px; + padding: 0 5px; + position: relative; + padding-left: 25px; + user-select: none; + outline: none; + border: none; + } + .SelectTrigger { + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 4px; + padding: 0 15px; + font-size: 13px; + line-height: 1; + height: 35px; + gap: 5px; + border: none; + background-color: #887abf; + color: black + +} +option{ + overflow-y:scroll; +} +.SelectTrigger:hover { + border: none; + outline: none; +} +.SelectTrigger:focus { + /* box-shadow: 0 0 0 2px black; */ + border: none; + outline: none; +} +.SelectTrigger[data-placeholder] { + color: black; +} + +.SelectIcon { + color: Var(--violet-11); +} + +.SelectContent { + overflow: hidden; + background-color: white; + border-radius: 6px; + box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2); +} + +.SelectViewport { + padding: 5px; +} + +.SelectItem { + font-size: 13px; + line-height: 1; + color: var(--violet-11); + border-radius: 3px; + display: flex; + align-items: center; + height: 25px; + padding: 0 35px 0 25px; + position: relative; + user-select: none; + z-index: 10 !important; +} +.SelectItem[data-disabled] { + color: var(--mauve-8); + pointer-events: none; +} +.SelectItem[data-highlighted] { + outline: none; + background-color: var(--violet-9); + color: var(--violet-1); +} + +.SelectLabel { + padding: 0 25px; + font-size: 12px; + line-height: 25px; + color: var(--mauve-11); +} + +.SelectSeparator { + height: 1px; + background-color: var(--violet-6); + margin: 5px; +} + +.SelectItemIndicator { + position: absolute; + left: 0; + width: 25px; + display: inline-flex; + align-items: center; + justify-content: center; +} + +.SelectScrollButton { + display: flex; + align-items: center; + justify-content: center; + height: 25px; + background-color: white; + color: var(--violet-11); + cursor: default; +} + + + + @media screen and (max-width:767px) { + + .showPages { + display: none; + } + + .signatureContainer { + display: flex; + flex-direction: column; + + } + + + .signerComponent { + display: none; + + } + + .preBtn1 { + display: none; + } + + .preBtn2 { + display: flex; + align-items: center; + justify-content: space-between; + background-color: #ebebeb; + padding: 5px 10px; + } + + #navbar { + overflow: hidden; + + z-index: 10; + } + + /* Navbar links */ + #navbar a { + float: left; + display: block; + color: #f2f2f2; + text-align: center; + padding: 14px; + text-decoration: none; + } + + #navbar a.active { + background-color: #4caf50; + color: white; + } + + /* Page content */ + .content { + padding: 16px; + } + + /* The sticky class is added to the navbar + with JS when it reaches its scroll position */ + .stickyHead { + position: fixed; + top: 50px; + left: 0.9rem; + + } + + .stickyfooter { + position: fixed; + bottom: 0px; + right: 0rem; + } + + /* Add some top padding to the page content + to prevent sudden quick movement (as the + navigation bar gets a new position at the top of the + page (position:fixed and top:0) */ + .stickyHead+.content { + padding-top: 60px; + } + + + .signLayoutContainer2 { + display: flex; + flex-direction: row; + justify-content: space-around; + margin-top: 5px; + padding: 2px 5px 10px 5px; + position: sticky; + align-items: center; + + } + + .headerBtn { + display: none; + } + + .headerBtn2 { + display: flex; + flex-direction: column; + justify-content: space-between; + + margin-top: 5px; + } + + .mobileHead { + display: flex; + } + } + + @media screen and (max-width:487px) and (min-width:351px) { + .signatureCanvas { + + width: 300px; + height: 120px; + } + .penContainer{ + width: 300px; + } + .uploadImgLogo { + font-size: 30px; + } + + .hidePdf { + display: none; + } + + .mobileHead { + display: flex; + } + + } + + @media screen and (max-width:350px) and (min-width:311px) { + .signatureCanvas { + + width: 280px; + height: 112px; + } + .penContainer{ + width: 280px; + } + .hidePdf { + display: none; + } + + .signTab { + + font-weight: 500 !important; + + font-size: 10px !important; + } + + .uploadImgLogo { + font-size: 25px; + } + + .uploadImg { + + font-size: 10px !important; + } + + .mobileHead { + display: flex; + } + } + + @media screen and (max-width:310px) { + .signatureCanvas { + + width: 230px; + height: 92px; + } + .penContainer{ + width: 230px; + } + .hidePdf { + display: none; + } + + .signTab { + + font-weight: 500 !important; + + font-size: 10px !important; + } + + .uploadImgLogo { + font-size: 20px; + } + + .uploadImg { + + font-size: 10px !important; + } + + .mobileHead { + display: flex; + } + } \ No newline at end of file diff --git a/microfrontends/SignDocuments/src/index.js b/microfrontends/SignDocuments/src/index.js new file mode 100644 index 000000000..ddb8291bc --- /dev/null +++ b/microfrontends/SignDocuments/src/index.js @@ -0,0 +1 @@ +import("./bootstrap") \ No newline at end of file diff --git a/microfrontends/SignDocuments/src/utils/ThemeColor/backColor.js b/microfrontends/SignDocuments/src/utils/ThemeColor/backColor.js new file mode 100644 index 000000000..37e87ee9a --- /dev/null +++ b/microfrontends/SignDocuments/src/utils/ThemeColor/backColor.js @@ -0,0 +1,7 @@ +export const themeColor =()=>{ + return "#47a3ad"; +} + +export const iconColor =()=>{ + return "#686968" +} \ No newline at end of file diff --git a/microfrontends/SignDocuments/src/utils/Utils.js b/microfrontends/SignDocuments/src/utils/Utils.js new file mode 100644 index 000000000..9bd6b5f73 --- /dev/null +++ b/microfrontends/SignDocuments/src/utils/Utils.js @@ -0,0 +1,280 @@ +import axios from "axios"; + +export async function getBase64FromUrl(url) { + const data = await fetch(url); + const blob = await data.blob(); + return new Promise((resolve) => { + const reader = new FileReader(); + reader.readAsDataURL(blob); + reader.onloadend = function () { + const pdfBase = this.result; + const removeBase64Prefix = "data:application/octet-stream;base64,"; + const suffixbase64 = pdfBase.replace(removeBase64Prefix, ""); + resolve(suffixbase64); + }; + }); +} + +export async function getBase64FromIMG(url) { + const data = await fetch(url); + const blob = await data.blob(); + return new Promise((resolve) => { + const reader = new FileReader(); + reader.readAsDataURL(blob); + reader.onloadend = function () { + const pdfBase = this.result; + + resolve(pdfBase); + }; + }); +} + +export function getHostUrl() { + const hostUrl = window.location.href; + /// const hostUrl = "https://contracts-defaultssty.qik.ai/#/mf/remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9TaWduLU1pY3JvYXBwVjIvcmVtb3RlRW50cnkuanM=&moduleToLoad=AppRoutes&remoteName=signmicroapp/legadrive"; + // const hostUrl = "https://contracts-defaultssty.qik.ai/#/" + // const hostUrl = "https://lionfish-app-75ly7.ondigitalocean.app/mf/remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9TaWduLU1pY3JvYXBwVjIvcmVtb3RlRW50cnkuanM=&moduleToLoad=AppRoutes&remoteName=signmicroapp/legadrive" + //const hostUrl = "https://app.opensignlabs.com/rpmf/remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9TaWduLU1pY3JvYXBwVjIvcmVtb3RlRW50cnkuanM=&moduleToLoad=AppRoutes&remoteName=signmicroapp/draftDocument"; + + if (hostUrl) { + const urlSplit = hostUrl.split("/"); + const concatUrl = urlSplit[3] + "/" + urlSplit[4]; + + if (urlSplit) { + const desireUrl = "/" + concatUrl; + if (desireUrl) { + return desireUrl + "/"; + } + } + } else { + return "/"; + } +} + +//function for upload stamp or image +export function onSaveImage(xyPostion, index, signKey, imgWH, image) { + const updateFilter = xyPostion[index].pos.filter( + (data, ind) => + data.key === signKey && data.Width && data.Height && data.SignUrl + ); + + if (updateFilter.length > 0) { + let newWidth, nweHeight; + const aspectRatio = imgWH.width / imgWH.height; + const getXYdata = xyPostion[index].pos; + if (aspectRatio === 1) { + newWidth = aspectRatio * 100; + nweHeight = aspectRatio * 100; + } else if (aspectRatio < 2) { + newWidth = aspectRatio * 100; + nweHeight = 100; + } else if (aspectRatio > 2 && aspectRatio < 4) { + newWidth = aspectRatio * 70; + nweHeight = 70; + } else if (aspectRatio > 4) { + newWidth = aspectRatio * 40; + nweHeight = 40; + } else if (aspectRatio > 5) { + newWidth = aspectRatio * 10; + nweHeight = 10; + } + const getPosData = getXYdata; + const addSign = getPosData.map((url, ind) => { + if (url.key === signKey) { + return { + ...url, + Width: newWidth, + Height: nweHeight, + SignUrl: image.src, + ImageType: image.imgType, + }; + } + return url; + }); + + const newUpdateUrl = xyPostion.map((obj, ind) => { + if (ind === index) { + return { ...obj, pos: addSign }; + } + return obj; + }); + return newUpdateUrl; + // setXyPostion(newUpdateUrl); + } else { + const getXYdata = xyPostion[index].pos; + + const getPosData = getXYdata; + + const aspectRatio = imgWH.width / imgWH.height; + + let newWidth, newHeight; + if (aspectRatio === 1) { + newWidth = aspectRatio * 100; + newHeight = aspectRatio * 100; + } else if (aspectRatio < 2) { + newWidth = aspectRatio * 100; + newHeight = 100; + } else if (aspectRatio > 2 && aspectRatio < 4) { + newWidth = aspectRatio * 70; + newHeight = 70; + } else if (aspectRatio > 4) { + newWidth = aspectRatio * 40; + newHeight = 40; + } else if (aspectRatio > 5) { + newWidth = aspectRatio * 10; + newHeight = 10; + } + + const addSign = getPosData.map((url, ind) => { + if (url.key === signKey) { + return { + ...url, + Width: newWidth, + Height: newHeight, + SignUrl: image.src, + ImageType: image.imgType, + }; + } + return url; + }); + + const newUpdateUrl = xyPostion.map((obj, ind) => { + if (ind === index) { + return { ...obj, pos: addSign }; + } + return obj; + }); + return newUpdateUrl; + // setXyPostion(newUpdateUrl); + } +} + +//function for save button to save signature or image url +export function onSaveSign(xyPostion, index, signKey, signatureImg) { + const updateFilter = xyPostion[index].pos.filter( + (data) => data.key === signKey && data.SignUrl + ); + + if (updateFilter.length > 0) { + const getXYdata = xyPostion[index].pos; + // updateFilter[0].SignUrl = signatureImg; + + const getPosData = getXYdata; + const addSign = getPosData.map((url, ind) => { + if (url.key === signKey) { + return { + ...url, + Width: 150, + Height: 60, + SignUrl: signatureImg, + }; + } + return url; + }); + + const newUpdateUrl = xyPostion.map((obj, ind) => { + if (ind === index) { + return { ...obj, pos: addSign }; + } + return obj; + }); + return newUpdateUrl; + } else { + const getXYdata = xyPostion[index].pos; + + const getPosData = getXYdata; + + const addSign = getPosData.map((url, ind) => { + if (url.key === signKey) { + return { ...url, SignUrl: signatureImg, Width: 150, Height: 60 }; + } + return url; + }); + + const newUpdateUrl = xyPostion.map((obj, ind) => { + if (ind === index) { + return { ...obj, pos: addSign }; + } + return obj; + }); + return newUpdateUrl; + } +} + +//function for getting contract_User details +export const contractUsers = async (objectId) => { + const result = await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Users?where={"UserId": {"__type": "Pointer","className": "_User", "objectId":"${objectId}"}}`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + return res; + }) + .catch((err) => { + return "Error: Something went wrong!"; + }); + + return result; +}; + +//function for getting contrscts_contactbook details +export const contactBook = async (objectId) => { + const result = await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Contactbook?where={"UserId": {"__type": "Pointer","className": "_User", "objectId":"${objectId}"}}`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + const res = json.results; + return res; + }) + + .catch((err) => { + return "Error: Something went wrong!"; + }); + return result; +}; + +export const contactBookName = async (userPhone, className) => { + const result = await axios + .get( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}${className}?where={"Phone":"${userPhone}"}`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken"), + }, + } + ) + .then((Listdata) => { + const json = Listdata.data; + return json; + }) + .catch((err) => { + return "Error: Something went wrong!"; + }); + return result; +}; diff --git a/microfrontends/SignDocuments/src/utils/toDataUrl.js b/microfrontends/SignDocuments/src/utils/toDataUrl.js new file mode 100644 index 000000000..21406de90 --- /dev/null +++ b/microfrontends/SignDocuments/src/utils/toDataUrl.js @@ -0,0 +1,10 @@ +export const toDataUrl = (file) => { + return new Promise((resolve) => { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onloadend = (e) => { + resolve(e.target.result); + }; + }); + }; + \ No newline at end of file diff --git a/microfrontends/SignDocuments/src/utils/useFileUpload.js b/microfrontends/SignDocuments/src/utils/useFileUpload.js new file mode 100644 index 000000000..18fb5b897 --- /dev/null +++ b/microfrontends/SignDocuments/src/utils/useFileUpload.js @@ -0,0 +1,68 @@ +import { useState } from "react"; +import axios from "axios"; + +export const useFileUpload = () => { + const [parseBaseUrl] = useState(localStorage.getItem("baseUrl")); + const [parseAppId] = useState(localStorage.getItem("parseAppId")); + const [_fileupload, setFileUpload] = useState(""); + const [fileload, setfileload] = useState(false); + const [percentage, setpercentage] = useState(0); + + const onChange = (e) => { + try { + let files = e.target.files; + if (typeof files[0] !== "undefined") { + fileUpload(files[0]); + } else { + alert("Please select file."); + return false; + } + } catch (error) { + alert(error.message); + return false; + } + }; + const fileUpload = async (file) => { + setfileload(true); + let image_url = parseBaseUrl.replace("/app", ""); + const url = `${image_url}image_upload`; + const formData = new FormData(); + formData.append("file", file); + const config = { + headers: { + "content-type": "multipart/form-data", + "X-Parse-Application-Id": parseAppId, + }, + onUploadProgress: function (progressEvent) { + var percentCompleted = Math.round( + (progressEvent.loaded * 100) / progressEvent.total + ); + setpercentage(percentCompleted); + }, + }; + + try { + await axios + .post(url, formData, config) + .then((res) => { + if (res.data.status === "Error") { + alert(res.data.message); + } + setFileUpload(res.data.imageUrl); + setfileload(false); + setpercentage(0); + }) + .catch((err) => { + alert(`${err.message}`); + setfileload(false); + setpercentage(0); + }); + } catch (error) { + alert(error.message); + setfileload(false); + setpercentage(0); + } + }; + + return { onChange, _fileupload, fileload, percentage, setFileUpload }; +};