diff --git a/README.md b/README.md index e5f86f1..e397999 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,15 @@ Built with: All commands are run from the root of the project, from a terminal: +Before running `npm install`, there're some environment preparations needed. + +| Command | Action | +| :-------------------- | :-----------------------------------------------| +| `nvm use 18` | Use node version >= 18 | +| `brew install pkg-config cairo pango libpng jpeg giflib librsvg`| To install compatible node-canvas versions for Apple Silicon Chip laptop| + +After these 2 steps are done, you can start with: + | Command | Action | | :-------------------- | :-----------------------------------------------| | `npm install` | Installs dependencies | diff --git a/docs/deep-learning.pdf b/docs/deep-learning.pdf new file mode 100644 index 0000000..00984ac Binary files /dev/null and b/docs/deep-learning.pdf differ diff --git a/docs/lbdl.pdf b/docs/lbdl.pdf new file mode 100644 index 0000000..d55f59c Binary files /dev/null and b/docs/lbdl.pdf differ diff --git a/docs/sample.pdf b/docs/sample.pdf new file mode 100644 index 0000000..4214f7c Binary files /dev/null and b/docs/sample.pdf differ diff --git a/next.config.js b/next.config.js index edb615b..867cb6f 100644 --- a/next.config.js +++ b/next.config.js @@ -2,8 +2,10 @@ const nextConfig = { reactStrictMode: true, swcMinify: true, + transpilePackages: ['@douyinfe/semi-ui', '@douyinfe/semi-icons', '@douyinfe/semi-illustrations'], webpack(config) { - config.experiments = { ...config.experiments, topLevelAwait: true }; + // config.experiments = { ...config.experiments, topLevelAwait: true }; + config.externals.push({ sharp: 'commonjs sharp', canvas: 'commonjs canvas' }); return config; }, }; diff --git a/package-lock.json b/package-lock.json index 7d54b76..f5203e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,8 @@ "name": "langchain-text-ai", "version": "0.1.0", "dependencies": { + "@douyinfe/semi-icons": "^2.47.1", + "@douyinfe/semi-ui": "^2.47.1", "@pinecone-database/pinecone": "^0.1.6", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.0.5", @@ -17,12 +19,14 @@ "@types/node": "20.4.9", "@types/react": "18.2.19", "@types/react-dom": "18.2.7", + "ahooks": "^3.7.8", "autoprefixer": "10.4.14", "class-variance-authority": "^0.7.0", "clsx": "^2.0.0", "dotenv": "^16.3.1", "eslint": "8.46.0", "eslint-config-next": "13.4.13", + "jsdom": "^23.0.0", "langchain": "^0.0.126", "lucide-react": "^0.265.0", "next": "13.4.12", @@ -32,6 +36,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-markdown": "^8.0.7", + "react-pdf-highlighter": "^6.1.0", "react-wrap-balancer": "^1.0.0", "tailwind-merge": "^1.14.0", "tailwindcss": "3.3.3", @@ -40,13 +45,14 @@ "zod": "^3.21.4" }, "devDependencies": { + "@types/lodash": "^4.14.202", "@types/pdf-parse": "^1.1.1", "tsx": "^3.12.7" } }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "resolved": "http://bnpm.byted.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "engines": { "node": ">=0.10.0" @@ -54,7 +60,7 @@ }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "resolved": "http://bnpm.byted.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", "engines": { "node": ">=10" @@ -65,7 +71,7 @@ }, "node_modules/@anthropic-ai/sdk": { "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.5.10.tgz", + "resolved": "http://bnpm.byted.org/@anthropic-ai/sdk/-/sdk-0.5.10.tgz", "integrity": "sha512-P8xrIuTUO/6wDzcjQRUROXp4WSqtngbXaE4GpEu0PhEmnq/1Q8vbF1s0o7W07EV3j8zzRoyJxAKovUJtNXH7ew==", "dependencies": { "@types/node": "^18.11.18", @@ -79,14 +85,17 @@ } }, "node_modules/@anthropic-ai/sdk/node_modules/@types/node": { - "version": "18.17.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.4.tgz", - "integrity": "sha512-ATL4WLgr7/W40+Sp1WnNTSKbgVn6Pvhc/2RHAdt8fl6NsQyp4oPCi2eKcGOvA494bwf1K/W6nGgZ9TwDqvpjdw==" + "version": "18.18.13", + "resolved": "http://bnpm.byted.org/@types/node/-/node-18.18.13.tgz", + "integrity": "sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==", + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "version": "7.23.4", + "resolved": "http://bnpm.byted.org/@babel/runtime/-/runtime-7.23.4.tgz", + "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -94,64 +103,167 @@ "node": ">=6.9.0" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "optional": true, - "peer": true, + "node_modules/@dnd-kit/accessibility": { + "version": "3.1.0", + "resolved": "http://bnpm.byted.org/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz", + "integrity": "sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==", "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "tslib": "^2.0.0" }, - "engines": { - "node": ">=12" + "peerDependencies": { + "react": ">=16.8.0" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "optional": true, - "peer": true, + "node_modules/@dnd-kit/core": { + "version": "6.1.0", + "resolved": "http://bnpm.byted.org/@dnd-kit/core/-/core-6.1.0.tgz", + "integrity": "sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==", + "dependencies": { + "@dnd-kit/accessibility": "^3.1.0", + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/sortable": { + "version": "7.0.2", + "resolved": "http://bnpm.byted.org/@dnd-kit/sortable/-/sortable-7.0.2.tgz", + "integrity": "sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@dnd-kit/utilities": "^3.2.0", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@dnd-kit/core": "^6.0.7", + "react": ">=16.8.0" } }, - "node_modules/@esbuild-kit/cjs-loader": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.2.tgz", - "integrity": "sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==", - "dev": true, + "node_modules/@dnd-kit/utilities": { + "version": "3.2.2", + "resolved": "http://bnpm.byted.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", + "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", "dependencies": { - "@esbuild-kit/core-utils": "^3.0.0", - "get-tsconfig": "^4.4.0" + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" } }, - "node_modules/@esbuild-kit/core-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.1.0.tgz", - "integrity": "sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==", - "dev": true, + "node_modules/@douyinfe/semi-animation": { + "version": "2.47.1", + "resolved": "http://bnpm.byted.org/@douyinfe/semi-animation/-/semi-animation-2.47.1.tgz", + "integrity": "sha512-DG4bP3N3UZSeIoP4hDGFyKzNF83cd9vVjCJnxHUGTtVtFSpO1b47iQ0kD1qcgkUZghEqeixPFFu+6ilhq0qzZg==", "dependencies": { - "esbuild": "~0.17.6", - "source-map-support": "^0.5.21" + "bezier-easing": "^2.1.0" } }, - "node_modules/@esbuild-kit/esm-loader": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.5.5.tgz", - "integrity": "sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==", - "dev": true, + "node_modules/@douyinfe/semi-animation-react": { + "version": "2.47.1", + "resolved": "http://bnpm.byted.org/@douyinfe/semi-animation-react/-/semi-animation-react-2.47.1.tgz", + "integrity": "sha512-5BzuEHSOW06IbNotshB1RsUoq0oJdY9IpmbQQL77kmvu8DvKnIsGDeYWP6TYwoKycCCMIDyCYsD13s+qMUGvwg==", + "dependencies": { + "@douyinfe/semi-animation": "2.47.1", + "@douyinfe/semi-animation-styled": "2.47.1", + "classnames": "^2.2.6" + } + }, + "node_modules/@douyinfe/semi-animation-styled": { + "version": "2.47.1", + "resolved": "http://bnpm.byted.org/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.47.1.tgz", + "integrity": "sha512-jjEwbVMKaIh74A1svvLdSseGIiJYX0CiMisfiwWtp/f3OCJTB20CaIHrINGTti5R9bB/MD5Oe3GuHLoD6/JQMw==" + }, + "node_modules/@douyinfe/semi-foundation": { + "version": "2.47.1", + "resolved": "http://bnpm.byted.org/@douyinfe/semi-foundation/-/semi-foundation-2.47.1.tgz", + "integrity": "sha512-2yO2kPO9TX+7gzRikmUy34CRckTB3Qkt+K9eIA2FMnIQ7R00yus7nAeoLaOaU8qUJd+OrqIEtwHGxthd0V1Wrg==", + "dependencies": { + "@douyinfe/semi-animation": "2.47.1", + "async-validator": "^3.5.0", + "classnames": "^2.2.6", + "date-fns": "^2.29.3", + "date-fns-tz": "^1.3.8", + "lodash": "^4.17.21", + "memoize-one": "^5.2.1", + "scroll-into-view-if-needed": "^2.2.24" + } + }, + "node_modules/@douyinfe/semi-icons": { + "version": "2.47.1", + "resolved": "http://bnpm.byted.org/@douyinfe/semi-icons/-/semi-icons-2.47.1.tgz", + "integrity": "sha512-+gC22MWuOCKSRwB5Yxq55+NUgoO9b7stYvIkuCmPuD3kYgjFhhGRR+o9dscQmDa8Wjd98wY05zI01S4BV/ptLw==", + "dependencies": { + "classnames": "^2.2.6" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@douyinfe/semi-illustrations": { + "version": "2.47.1", + "resolved": "http://bnpm.byted.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.47.1.tgz", + "integrity": "sha512-ouhdAHzcBEW5kv5EFvHQsITSHIxlL0mnCMz63TVIywGA6QnCcxyMG6er0rlChAnu76FhlERR/Ys5Dlf2e5VhSQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@douyinfe/semi-theme-default": { + "version": "2.47.1", + "resolved": "http://bnpm.byted.org/@douyinfe/semi-theme-default/-/semi-theme-default-2.47.1.tgz", + "integrity": "sha512-GGWH6sBvwBft8eB+7V0VSueSVmsfLhabzSv/GXYwZeyljyuj4/JTRZa2qyiSgN1BOZbwn3vPW1si2QFioR0gQA==", + "dependencies": { + "glob": "^7.1.6" + } + }, + "node_modules/@douyinfe/semi-ui": { + "version": "2.47.1", + "resolved": "http://bnpm.byted.org/@douyinfe/semi-ui/-/semi-ui-2.47.1.tgz", + "integrity": "sha512-HxYvjn32DJsDPmcspM8jzHMY84f4skEAN6Zheg4FPW74uAUSnGILj5HXd/vZM4c6bbJeQSnxP0Grqa5qrZFpkg==", + "dependencies": { + "@dnd-kit/core": "^6.0.8", + "@dnd-kit/sortable": "^7.0.2", + "@dnd-kit/utilities": "^3.2.1", + "@douyinfe/semi-animation": "2.47.1", + "@douyinfe/semi-animation-react": "2.47.1", + "@douyinfe/semi-foundation": "2.47.1", + "@douyinfe/semi-icons": "2.47.1", + "@douyinfe/semi-illustrations": "2.47.1", + "@douyinfe/semi-theme-default": "2.47.1", + "async-validator": "^3.5.0", + "classnames": "^2.2.6", + "copy-text-to-clipboard": "^2.1.1", + "date-fns": "^2.29.3", + "date-fns-tz": "^1.3.8", + "lodash": "^4.17.21", + "prop-types": "^15.7.2", + "react-resizable": "^3.0.5", + "react-window": "^1.8.2", + "resize-observer-polyfill": "^1.5.1", + "scroll-into-view-if-needed": "^2.2.24", + "utility-types": "^3.10.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@douyinfe/semi-ui/node_modules/@douyinfe/semi-icons": { + "version": "2.47.1", + "resolved": "http://bnpm.byted.org/@douyinfe/semi-icons/-/semi-icons-2.47.1.tgz", + "integrity": "sha512-+gC22MWuOCKSRwB5Yxq55+NUgoO9b7stYvIkuCmPuD3kYgjFhhGRR+o9dscQmDa8Wjd98wY05zI01S4BV/ptLw==", "dependencies": { - "@esbuild-kit/core-utils": "^3.0.0", - "get-tsconfig": "^4.4.0" + "classnames": "^2.2.6" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/@esbuild/android-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", - "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", "cpu": [ "arm" ], @@ -165,9 +277,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", - "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", "cpu": [ "arm64" ], @@ -181,9 +293,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", - "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", "cpu": [ "x64" ], @@ -197,9 +309,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", - "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", "cpu": [ "arm64" ], @@ -213,9 +325,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", - "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", "cpu": [ "x64" ], @@ -229,9 +341,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", - "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", "cpu": [ "arm64" ], @@ -245,9 +357,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", - "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", "cpu": [ "x64" ], @@ -261,9 +373,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", - "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", "cpu": [ "arm" ], @@ -277,9 +389,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", - "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", "cpu": [ "arm64" ], @@ -293,9 +405,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", - "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", "cpu": [ "ia32" ], @@ -309,9 +421,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", - "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", "cpu": [ "loong64" ], @@ -325,9 +437,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", - "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", "cpu": [ "mips64el" ], @@ -341,9 +453,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", - "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", "cpu": [ "ppc64" ], @@ -357,9 +469,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", - "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", "cpu": [ "riscv64" ], @@ -373,9 +485,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", - "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", "cpu": [ "s390x" ], @@ -389,9 +501,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", - "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", "cpu": [ "x64" ], @@ -405,9 +517,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", - "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", "cpu": [ "x64" ], @@ -421,9 +533,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", - "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", "cpu": [ "x64" ], @@ -437,9 +549,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", - "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", "cpu": [ "x64" ], @@ -453,9 +565,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", - "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", "cpu": [ "arm64" ], @@ -469,9 +581,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", - "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", "cpu": [ "ia32" ], @@ -485,9 +597,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", - "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", "cpu": [ "x64" ], @@ -502,7 +614,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dependencies": { "eslint-visitor-keys": "^3.3.0" @@ -515,17 +627,17 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "version": "4.10.0", + "resolved": "http://bnpm.byted.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "version": "2.1.3", + "resolved": "http://bnpm.byted.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -545,36 +657,36 @@ } }, "node_modules/@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "version": "8.54.0", + "resolved": "http://bnpm.byted.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@floating-ui/core": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz", - "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==", + "version": "1.5.0", + "resolved": "http://bnpm.byted.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", "dependencies": { - "@floating-ui/utils": "^0.1.1" + "@floating-ui/utils": "^0.1.3" } }, "node_modules/@floating-ui/dom": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.1.tgz", - "integrity": "sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==", + "version": "1.5.3", + "resolved": "http://bnpm.byted.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", "dependencies": { - "@floating-ui/core": "^1.4.1", - "@floating-ui/utils": "^0.1.1" + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" } }, "node_modules/@floating-ui/react-dom": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.1.tgz", - "integrity": "sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==", + "version": "2.0.4", + "resolved": "http://bnpm.byted.org/@floating-ui/react-dom/-/react-dom-2.0.4.tgz", + "integrity": "sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==", "dependencies": { - "@floating-ui/dom": "^1.3.0" + "@floating-ui/dom": "^1.5.1" }, "peerDependencies": { "react": ">=16.8.0", @@ -582,16 +694,16 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.1.tgz", - "integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==" + "version": "0.1.4", + "resolved": "http://bnpm.byted.org/@floating-ui/utils/-/utils-0.1.4.tgz", + "integrity": "sha512-qprfWkn82Iw821mcKofJ5Pk9wgioHicxcQMxx+5zt5GSKoqdWvgG5AxVmpmUUjzTLPVSH5auBrhI93Deayn/DA==" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.13", + "resolved": "http://bnpm.byted.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -601,7 +713,7 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "resolved": "http://bnpm.byted.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "engines": { "node": ">=12.22" @@ -612,13 +724,13 @@ } }, "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==" + "version": "2.0.1", + "resolved": "http://bnpm.byted.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==" }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "resolved": "http://bnpm.byted.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dependencies": { "@jridgewell/set-array": "^1.0.1", @@ -631,7 +743,7 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "resolved": "http://bnpm.byted.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "engines": { "node": ">=6.0.0" @@ -639,7 +751,7 @@ }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "resolved": "http://bnpm.byted.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "engines": { "node": ">=6.0.0" @@ -647,13 +759,13 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "resolved": "http://bnpm.byted.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==", + "version": "0.3.20", + "resolved": "http://bnpm.byted.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -661,20 +773,39 @@ }, "node_modules/@next/env": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/env/-/env-13.4.12.tgz", "integrity": "sha512-RmHanbV21saP/6OEPBJ7yJMuys68cIf8OBBWd7+uj40LdpmswVAwe1uzeuFyUsd6SfeITWT3XnQfn6wULeKwDQ==" }, "node_modules/@next/eslint-plugin-next": { "version": "13.4.13", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.13.tgz", + "resolved": "http://bnpm.byted.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.13.tgz", "integrity": "sha512-RpZeXlPxQ9FLeYN84XHDqRN20XxmVNclYCraLYdifRsmibtcWUWdwE/ANp2C8kgesFRsvwfsw6eOkYNl9sLJ3A==", "dependencies": { "glob": "7.1.7" } }, + "node_modules/@next/eslint-plugin-next/node_modules/glob": { + "version": "7.1.7", + "resolved": "http://bnpm.byted.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "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/@next/swc-darwin-arm64": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.12.tgz", "integrity": "sha512-deUrbCXTMZ6ZhbOoloqecnUeNpUOupi8SE2tx4jPfNS9uyUR9zK4iXBvH65opVcA/9F5I/p8vDXSYbUlbmBjZg==", "cpu": [ "arm64" @@ -689,7 +820,7 @@ }, "node_modules/@next/swc-darwin-x64": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.12.tgz", "integrity": "sha512-WRvH7RxgRHlC1yb5oG0ZLx8F7uci9AivM5/HGGv9ZyG2Als8Ij64GC3d+mQ5sJhWjusyU6T6V1WKTUoTmOB0zQ==", "cpu": [ "x64" @@ -704,7 +835,7 @@ }, "node_modules/@next/swc-linux-arm64-gnu": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.12.tgz", "integrity": "sha512-YEKracAWuxp54tKiAvvq73PUs9lok57cc8meYRibTWe/VdPB2vLgkTVWFcw31YDuRXdEhdX0fWS6Q+ESBhnEig==", "cpu": [ "arm64" @@ -719,7 +850,7 @@ }, "node_modules/@next/swc-linux-arm64-musl": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.12.tgz", "integrity": "sha512-LhJR7/RAjdHJ2Isl2pgc/JaoxNk0KtBgkVpiDJPVExVWA1c6gzY57+3zWuxuyWzTG+fhLZo2Y80pLXgIJv7g3g==", "cpu": [ "arm64" @@ -734,7 +865,7 @@ }, "node_modules/@next/swc-linux-x64-gnu": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.12.tgz", "integrity": "sha512-1DWLL/B9nBNiQRng+1aqs3OaZcxC16Nf+mOnpcrZZSdyKHek3WQh6j/fkbukObgNGwmCoVevLUa/p3UFTTqgqg==", "cpu": [ "x64" @@ -749,7 +880,7 @@ }, "node_modules/@next/swc-linux-x64-musl": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.12.tgz", "integrity": "sha512-kEAJmgYFhp0VL+eRWmUkVxLVunn7oL9Mdue/FS8yzRBVj7Z0AnIrHpTIeIUl1bbdQq1VaoOztnKicAjfkLTRCQ==", "cpu": [ "x64" @@ -764,7 +895,7 @@ }, "node_modules/@next/swc-win32-arm64-msvc": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.12.tgz", "integrity": "sha512-GMLuL/loR6yIIRTnPRY6UGbLL9MBdw2anxkOnANxvLvsml4F0HNIgvnU3Ej4BjbqMTNjD4hcPFdlEow4XHPdZA==", "cpu": [ "arm64" @@ -779,7 +910,7 @@ }, "node_modules/@next/swc-win32-ia32-msvc": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.12.tgz", "integrity": "sha512-PhgNqN2Vnkm7XaMdRmmX0ZSwZXQAtamBVSa9A/V1dfKQCV1rjIZeiy/dbBnVYGdj63ANfsOR/30XpxP71W0eww==", "cpu": [ "ia32" @@ -794,7 +925,7 @@ }, "node_modules/@next/swc-win32-x64-msvc": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.12.tgz", "integrity": "sha512-Z+56e/Ljt0bUs+T+jPjhFyxYBcdY2RIq9ELFU+qAMQMteHo7ymbV7CKmlcX59RI9C4YzN8PgMgLyAoi916b5HA==", "cpu": [ "x64" @@ -809,7 +940,7 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "resolved": "http://bnpm.byted.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -821,7 +952,7 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "resolved": "http://bnpm.byted.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "engines": { "node": ">= 8" @@ -829,7 +960,7 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "resolved": "http://bnpm.byted.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -841,7 +972,7 @@ }, "node_modules/@pinecone-database/pinecone": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@pinecone-database/pinecone/-/pinecone-0.1.6.tgz", + "resolved": "http://bnpm.byted.org/@pinecone-database/pinecone/-/pinecone-0.1.6.tgz", "integrity": "sha512-tCnVc28udecthhgSBTdcMhYEW+xsR++AdZasp+ZE/AvUD1hOR2IR3edjk9m0sDxZyvXbno2KeqUbLIOZr7sCTw==", "dependencies": { "cross-fetch": "^3.1.5" @@ -852,7 +983,7 @@ }, "node_modules/@radix-ui/number": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", + "resolved": "http://bnpm.byted.org/@radix-ui/number/-/number-1.0.1.tgz", "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", "dependencies": { "@babel/runtime": "^7.13.10" @@ -860,7 +991,7 @@ }, "node_modules/@radix-ui/primitive": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "resolved": "http://bnpm.byted.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", "dependencies": { "@babel/runtime": "^7.13.10" @@ -868,7 +999,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-accordion/-/react-accordion-1.1.2.tgz", "integrity": "sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -899,7 +1030,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -922,7 +1053,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz", "integrity": "sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -952,7 +1083,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -978,7 +1109,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", "dependencies": { "@babel/runtime": "^7.13.10" @@ -995,7 +1126,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", "dependencies": { "@babel/runtime": "^7.13.10" @@ -1012,7 +1143,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", "dependencies": { "@babel/runtime": "^7.13.10" @@ -1028,9 +1159,9 @@ } }, "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==", + "version": "1.0.5", + "resolved": "http://bnpm.byted.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", @@ -1055,16 +1186,16 @@ } }, "node_modules/@radix-ui/react-dropdown-menu": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.5.tgz", - "integrity": "sha512-xdOrZzOTocqqkCkYo8yRPCib5OkTkqN7lqNCdxwPOdE466DOaNl4N8PkUIlsXthQvW5Wwkd+aEmWpfWlBoDPEw==", + "version": "2.0.6", + "resolved": "http://bnpm.byted.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.5", + "@radix-ui/react-menu": "2.0.6", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-use-controllable-state": "1.0.1" }, @@ -1085,7 +1216,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", "dependencies": { "@babel/runtime": "^7.13.10" @@ -1101,9 +1232,9 @@ } }, "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==", + "version": "1.0.4", + "resolved": "http://bnpm.byted.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", @@ -1127,7 +1258,7 @@ }, "node_modules/@radix-ui/react-icons": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz", + "resolved": "http://bnpm.byted.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz", "integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==", "peerDependencies": { "react": "^16.x || ^17.x || ^18.x" @@ -1135,7 +1266,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -1152,9 +1283,9 @@ } }, "node_modules/@radix-ui/react-menu": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.5.tgz", - "integrity": "sha512-Gw4f9pwdH+w5w+49k0gLjN0PfRDHvxmAgG16AbyJZ7zhwZ6PBHKtWohvnSwfusfnK3L68dpBREHpVkj8wEM7ZA==", + "version": "2.0.6", + "resolved": "http://bnpm.byted.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", @@ -1162,12 +1293,12 @@ "@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-dismissable-layer": "1.0.5", "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-focus-scope": "1.0.4", "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-popper": "1.1.2", - "@radix-ui/react-portal": "1.0.3", + "@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", @@ -1192,9 +1323,9 @@ } }, "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==", + "version": "1.1.3", + "resolved": "http://bnpm.byted.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", @@ -1224,9 +1355,9 @@ } }, "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==", + "version": "1.0.4", + "resolved": "http://bnpm.byted.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" @@ -1248,7 +1379,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -1272,7 +1403,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -1295,7 +1426,7 @@ }, "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", + "resolved": "http://bnpm.byted.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", @@ -1325,9 +1456,9 @@ } }, "node_modules/@radix-ui/react-scroll-area": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.4.tgz", - "integrity": "sha512-OIClwBkwPG+FKvC4OMTRaa/3cfD069nkKFFL/TQzRzaO42Ce5ivKU9VMKgT7UU6UIkjcQqKBrDOIzWtPGw6e6w==", + "version": "1.0.5", + "resolved": "http://bnpm.byted.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", @@ -1357,7 +1488,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -1375,7 +1506,7 @@ }, "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", + "resolved": "http://bnpm.byted.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" @@ -1392,7 +1523,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -1410,7 +1541,7 @@ }, "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", + "resolved": "http://bnpm.byted.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", @@ -1428,7 +1559,7 @@ }, "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", + "resolved": "http://bnpm.byted.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" @@ -1445,7 +1576,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", "dependencies": { "@babel/runtime": "^7.13.10", @@ -1463,7 +1594,7 @@ }, "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", + "resolved": "http://bnpm.byted.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", @@ -1481,115 +1612,103 @@ }, "node_modules/@radix-ui/rect": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "resolved": "http://bnpm.byted.org/@radix-ui/rect/-/rect-1.0.1.tgz", "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", "dependencies": { "@babel/runtime": "^7.13.10" } }, "node_modules/@rushstack/eslint-patch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", - "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==" + "version": "1.6.0", + "resolved": "http://bnpm.byted.org/@rushstack/eslint-patch/-/eslint-patch-1.6.0.tgz", + "integrity": "sha512-2/U3GXA6YiPYQDLGwtGlnNgKYBSwCFIHf8Y9LUY5VATHdtbLlU0Y1R3QoBnT0aB4qv/BEiVVsj7LJXoQCgJ2vA==" }, "node_modules/@swc/helpers": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "resolved": "http://bnpm.byted.org/@swc/helpers/-/helpers-0.5.1.tgz", "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", "dependencies": { "tslib": "^2.4.0" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "optional": true, - "peer": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "optional": true, - "peer": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "optional": true, - "peer": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "optional": true, - "peer": true + "node_modules/@swc/helpers/node_modules/tslib": { + "version": "2.6.2", + "resolved": "http://bnpm.byted.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "version": "4.1.12", + "resolved": "http://bnpm.byted.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "dependencies": { "@types/ms": "*" } }, "node_modules/@types/hast": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.5.tgz", - "integrity": "sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==", + "version": "2.3.8", + "resolved": "http://bnpm.byted.org/@types/hast/-/hast-2.3.8.tgz", + "integrity": "sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==", "dependencies": { "@types/unist": "^2" } }, + "node_modules/@types/js-cookie": { + "version": "2.2.7", + "resolved": "http://bnpm.byted.org/@types/js-cookie/-/js-cookie-2.2.7.tgz", + "integrity": "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==" + }, "node_modules/@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "resolved": "http://bnpm.byted.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "http://bnpm.byted.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==", + "dev": true + }, "node_modules/@types/mdast": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", - "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", + "version": "3.0.15", + "resolved": "http://bnpm.byted.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", "dependencies": { "@types/unist": "^2" } }, "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + "version": "0.7.34", + "resolved": "http://bnpm.byted.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/node": { "version": "20.4.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.9.tgz", + "resolved": "http://bnpm.byted.org/@types/node/-/node-20.4.9.tgz", "integrity": "sha512-8e2HYcg7ohnTUbHk8focoklEQYvemQmu9M/f43DZVx43kHn0tE3BY/6gSDxS7k0SprtS0NHvj+L80cGLnoOUcQ==" }, "node_modules/@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", + "version": "2.6.9", + "resolved": "http://bnpm.byted.org/@types/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==", "dependencies": { "@types/node": "*", - "form-data": "^3.0.0" + "form-data": "^4.0.0" } }, "node_modules/@types/pdf-parse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/pdf-parse/-/pdf-parse-1.1.1.tgz", - "integrity": "sha512-lDBKAslCwvfK2uvS1Uk+UCpGvw+JRy5vnBFANPKFSY92n/iEnunXi0KVBjPJXhsM4jtdcPnS7tuZ0zjA9x6piQ==", + "version": "1.1.3", + "resolved": "http://bnpm.byted.org/@types/pdf-parse/-/pdf-parse-1.1.3.tgz", + "integrity": "sha512-+DDIKtFsGMajapzc5A+jL9V1dpLZ5lShAd6Oq0yRu2qFHFr2hhHlZ2rkFiInXOoFSxjxGmyGdCjjHghoHj/x0w==", "dev": true }, "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "version": "15.7.11", + "resolved": "http://bnpm.byted.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "node_modules/@types/react": { "version": "18.2.19", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.19.tgz", + "resolved": "http://bnpm.byted.org/@types/react/-/react-18.2.19.tgz", "integrity": "sha512-e2S8wmY1ePfM517PqCG80CcE48Xs5k0pwJzuDZsfE8IZRRBfOMCF+XqnFxu6mWtyivum1MQm4aco+WIt6Coimw==", "dependencies": { "@types/prop-types": "*", @@ -1599,7 +1718,7 @@ }, "node_modules/@types/react-dom": { "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "resolved": "http://bnpm.byted.org/@types/react-dom/-/react-dom-18.2.7.tgz", "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", "dependencies": { "@types/react": "*" @@ -1607,33 +1726,33 @@ }, "node_modules/@types/retry": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "resolved": "http://bnpm.byted.org/@types/retry/-/retry-0.12.0.tgz", "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" }, "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "version": "0.16.8", + "resolved": "http://bnpm.byted.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" }, "node_modules/@types/unist": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", - "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" + "version": "2.0.10", + "resolved": "http://bnpm.byted.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" }, "node_modules/@types/uuid": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.2.tgz", - "integrity": "sha512-kNnC1GFBLuhImSnV7w4njQkUiJi0ZXUycu1rUaouPqiKlXkh77JKgdRnTAp1x5eBwcIwbtI+3otwzuIDEuDoxQ==" + "version": "9.0.7", + "resolved": "http://bnpm.byted.org/@types/uuid/-/uuid-9.0.7.tgz", + "integrity": "sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==" }, "node_modules/@typescript-eslint/parser": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.3.0.tgz", - "integrity": "sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==", - "dependencies": { - "@typescript-eslint/scope-manager": "6.3.0", - "@typescript-eslint/types": "6.3.0", - "@typescript-eslint/typescript-estree": "6.3.0", - "@typescript-eslint/visitor-keys": "6.3.0", + "version": "6.13.1", + "resolved": "http://bnpm.byted.org/@typescript-eslint/parser/-/parser-6.13.1.tgz", + "integrity": "sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==", + "dependencies": { + "@typescript-eslint/scope-manager": "6.13.1", + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/typescript-estree": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1", "debug": "^4.3.4" }, "engines": { @@ -1653,12 +1772,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.3.0.tgz", - "integrity": "sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ==", + "version": "6.13.1", + "resolved": "http://bnpm.byted.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.1.tgz", + "integrity": "sha512-BW0kJ7ceiKi56GbT2KKzZzN+nDxzQK2DS6x0PiSMPjciPgd/JRQGMibyaN2cPt2cAvuoH0oNvn2fwonHI+4QUQ==", "dependencies": { - "@typescript-eslint/types": "6.3.0", - "@typescript-eslint/visitor-keys": "6.3.0" + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1669,9 +1788,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.3.0.tgz", - "integrity": "sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg==", + "version": "6.13.1", + "resolved": "http://bnpm.byted.org/@typescript-eslint/types/-/types-6.13.1.tgz", + "integrity": "sha512-gjeEskSmiEKKFIbnhDXUyiqVma1gRCQNbVZ1C8q7Zjcxh3WZMbzWVfGE9rHfWd1msQtPS0BVD9Jz9jded44eKg==", "engines": { "node": "^16.0.0 || >=18.0.0" }, @@ -1681,12 +1800,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.3.0.tgz", - "integrity": "sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg==", + "version": "6.13.1", + "resolved": "http://bnpm.byted.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.1.tgz", + "integrity": "sha512-sBLQsvOC0Q7LGcUHO5qpG1HxRgePbT6wwqOiGLpR8uOJvPJbfs0mW3jPA3ujsDvfiVwVlWUDESNXv44KtINkUQ==", "dependencies": { - "@typescript-eslint/types": "6.3.0", - "@typescript-eslint/visitor-keys": "6.3.0", + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1707,11 +1826,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.3.0.tgz", - "integrity": "sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw==", + "version": "6.13.1", + "resolved": "http://bnpm.byted.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.1.tgz", + "integrity": "sha512-NDhQUy2tg6XGNBGDRm1XybOHSia8mcXmlbKWoQP+nm1BIIMxa55shyJfZkHpEBN62KNPLrocSM2PdPcaLgDKMQ==", "dependencies": { - "@typescript-eslint/types": "6.3.0", + "@typescript-eslint/types": "6.13.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -1724,7 +1843,7 @@ }, "node_modules/abort-controller": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "resolved": "http://bnpm.byted.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dependencies": { "event-target-shim": "^5.0.0" @@ -1734,9 +1853,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", + "resolved": "http://bnpm.byted.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "bin": { "acorn": "bin/acorn" }, @@ -1746,25 +1865,26 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "resolved": "http://bnpm.byted.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": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "optional": true, - "peer": true, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 14" } }, "node_modules/agentkeepalive": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "resolved": "http://bnpm.byted.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", "dependencies": { "humanize-ms": "^1.2.1" @@ -1773,9 +1893,42 @@ "node": ">= 8.0.0" } }, + "node_modules/ahooks": { + "version": "3.7.8", + "resolved": "http://bnpm.byted.org/ahooks/-/ahooks-3.7.8.tgz", + "integrity": "sha512-e/NMlQWoCjaUtncNFIZk3FG1ImSkV/JhScQSkTqnftakRwdfZWSw6zzoWSG9OMYqPNs2MguDYBUFFC6THelWXA==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@types/js-cookie": "^2.x.x", + "ahooks-v3-count": "^1.0.0", + "dayjs": "^1.9.1", + "intersection-observer": "^0.12.0", + "js-cookie": "^2.x.x", + "lodash": "^4.17.21", + "resize-observer-polyfill": "^1.5.1", + "screenfull": "^5.0.0", + "tslib": "^2.4.1" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/ahooks-v3-count": { + "version": "1.0.0", + "resolved": "http://bnpm.byted.org/ahooks-v3-count/-/ahooks-v3-count-1.0.0.tgz", + "integrity": "sha512-V7uUvAwnimu6eh/PED4mCDjE7tokeZQLKlxg9lCTMPhN+NjsSbtdacByVlR1oluXQzD3MOw55wylDmQo4+S9ZQ==" + }, + "node_modules/ahooks/node_modules/tslib": { + "version": "2.6.2", + "resolved": "http://bnpm.byted.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "resolved": "http://bnpm.byted.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -1790,7 +1943,7 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "resolved": "http://bnpm.byted.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" @@ -1798,7 +1951,7 @@ }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "resolved": "http://bnpm.byted.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" @@ -1812,12 +1965,12 @@ }, "node_modules/any-promise": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { "normalize-path": "^3.0.0", @@ -1829,17 +1982,17 @@ }, "node_modules/arg": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "resolved": "http://bnpm.byted.org/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "resolved": "http://bnpm.byted.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-hidden": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "resolved": "http://bnpm.byted.org/aria-hidden/-/aria-hidden-1.2.3.tgz", "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", "dependencies": { "tslib": "^2.0.0" @@ -1850,7 +2003,7 @@ }, "node_modules/aria-query": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "resolved": "http://bnpm.byted.org/aria-query/-/aria-query-5.3.0.tgz", "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dependencies": { "dequal": "^2.0.3" @@ -1858,7 +2011,7 @@ }, "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", + "resolved": "http://bnpm.byted.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", @@ -1869,14 +2022,14 @@ } }, "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "version": "3.1.7", + "resolved": "http://bnpm.byted.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" }, "engines": { @@ -1888,22 +2041,22 @@ }, "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "resolved": "http://bnpm.byted.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "engines": { "node": ">=8" } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "version": "1.2.3", + "resolved": "http://bnpm.byted.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.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -1913,13 +2066,13 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "version": "1.3.2", + "resolved": "http://bnpm.byted.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.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -1930,13 +2083,13 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "version": "1.3.2", + "resolved": "http://bnpm.byted.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.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -1947,25 +2100,26 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "version": "1.1.2", + "resolved": "http://bnpm.byted.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.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "version": "1.0.2", + "resolved": "http://bnpm.byted.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" @@ -1978,9 +2132,22 @@ } }, "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==" + "version": "0.0.8", + "resolved": "http://bnpm.byted.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + }, + "node_modules/async-validator": { + "version": "3.5.2", + "resolved": "http://bnpm.byted.org/async-validator/-/async-validator-3.5.2.tgz", + "integrity": "sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ==" + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "http://bnpm.byted.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", @@ -1989,7 +2156,7 @@ }, "node_modules/autoprefixer": { "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "resolved": "http://bnpm.byted.org/autoprefixer/-/autoprefixer-10.4.14.tgz", "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", "funding": [ { @@ -2021,7 +2188,7 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "resolved": "http://bnpm.byted.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "engines": { "node": ">= 0.4" @@ -2031,16 +2198,16 @@ } }, "node_modules/axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "version": "4.7.0", + "resolved": "http://bnpm.byted.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", "engines": { "node": ">=4" } }, "node_modules/axios": { "version": "0.26.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "resolved": "http://bnpm.byted.org/axios/-/axios-0.26.1.tgz", "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", "dependencies": { "follow-redirects": "^1.14.8" @@ -2048,7 +2215,7 @@ }, "node_modules/axobject-query": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "resolved": "http://bnpm.byted.org/axobject-query/-/axobject-query-3.2.1.tgz", "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "dependencies": { "dequal": "^2.0.3" @@ -2056,7 +2223,7 @@ }, "node_modules/bail": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "resolved": "http://bnpm.byted.org/bail/-/bail-2.0.2.tgz", "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", "funding": { "type": "github", @@ -2065,17 +2232,17 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "resolved": "http://bnpm.byted.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base-64": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "resolved": "http://bnpm.byted.org/base-64/-/base-64-0.1.0.tgz", "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" }, "node_modules/base64-js": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "resolved": "http://bnpm.byted.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { @@ -2092,9 +2259,14 @@ } ] }, + "node_modules/bezier-easing": { + "version": "2.1.0", + "resolved": "http://bnpm.byted.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==" + }, "node_modules/binary-extensions": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "resolved": "http://bnpm.byted.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "engines": { "node": ">=8" @@ -2102,19 +2274,12 @@ }, "node_modules/binary-search": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz", + "resolved": "http://bnpm.byted.org/binary-search/-/binary-search-1.3.6.tgz", "integrity": "sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==" }, - "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==", - "optional": true, - "peer": true - }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "resolved": "http://bnpm.byted.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { "balanced-match": "^1.0.0", @@ -2123,7 +2288,7 @@ }, "node_modules/braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "resolved": "http://bnpm.byted.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { "fill-range": "^7.0.1" @@ -2133,9 +2298,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "version": "4.22.1", + "resolved": "http://bnpm.byted.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "funding": [ { "type": "opencollective", @@ -2151,10 +2316,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -2165,13 +2330,13 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "resolved": "http://bnpm.byted.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/busboy": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "resolved": "http://bnpm.byted.org/busboy/-/busboy-1.6.0.tgz", "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { "streamsearch": "^1.1.0" @@ -2181,12 +2346,13 @@ } }, "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==", + "version": "1.0.5", + "resolved": "http://bnpm.byted.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2194,7 +2360,7 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "resolved": "http://bnpm.byted.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "engines": { "node": ">=6" @@ -2202,7 +2368,7 @@ }, "node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "resolved": "http://bnpm.byted.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { "node": ">=10" @@ -2213,16 +2379,16 @@ }, "node_modules/camelcase-css": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "resolved": "http://bnpm.byted.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "engines": { "node": ">= 6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001519", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", - "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", + "version": "1.0.30001565", + "resolved": "http://bnpm.byted.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", + "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", "funding": [ { "type": "opencollective", @@ -2240,7 +2406,7 @@ }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "http://bnpm.byted.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -2255,7 +2421,7 @@ }, "node_modules/character-entities": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "resolved": "http://bnpm.byted.org/character-entities/-/character-entities-2.0.2.tgz", "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", "funding": { "type": "github", @@ -2264,55 +2430,15 @@ }, "node_modules/charenc": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "resolved": "http://bnpm.byted.org/charenc/-/charenc-0.0.2.tgz", "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "engines": { "node": "*" } }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "optional": true, - "peer": true, - "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "optional": true, - "peer": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, "node_modules/chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "resolved": "http://bnpm.byted.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "funding": [ { @@ -2338,7 +2464,7 @@ }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "resolved": "http://bnpm.byted.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { "is-glob": "^4.0.1" @@ -2349,7 +2475,7 @@ }, "node_modules/class-variance-authority": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", + "resolved": "http://bnpm.byted.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", "dependencies": { "clsx": "2.0.0" @@ -2358,14 +2484,19 @@ "url": "https://joebell.co.uk" } }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "http://bnpm.byted.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, "node_modules/client-only": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "resolved": "http://bnpm.byted.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, "node_modules/clsx": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "resolved": "http://bnpm.byted.org/clsx/-/clsx-2.0.0.tgz", "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", "engines": { "node": ">=6" @@ -2373,7 +2504,7 @@ }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "resolved": "http://bnpm.byted.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" @@ -2384,7 +2515,7 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "resolved": "http://bnpm.byted.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/combined-stream": { @@ -2400,7 +2531,7 @@ }, "node_modules/comma-separated-tokens": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "resolved": "http://bnpm.byted.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", "funding": { "type": "github", @@ -2408,28 +2539,37 @@ } }, "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "version": "10.0.1", + "resolved": "http://bnpm.byted.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "engines": { - "node": ">= 6" + "node": ">=14" } }, + "node_modules/compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "http://bnpm.byted.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "http://bnpm.byted.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "optional": true, - "peer": true + "node_modules/copy-text-to-clipboard": { + "version": "2.2.0", + "resolved": "http://bnpm.byted.org/copy-text-to-clipboard/-/copy-text-to-clipboard-2.2.0.tgz", + "integrity": "sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/cross-fetch": { "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "resolved": "http://bnpm.byted.org/cross-fetch/-/cross-fetch-3.1.8.tgz", "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "dependencies": { "node-fetch": "^2.6.12" @@ -2437,7 +2577,7 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "resolved": "http://bnpm.byted.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dependencies": { "path-key": "^3.1.0", @@ -2450,45 +2590,15 @@ }, "node_modules/crypt": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "resolved": "http://bnpm.byted.org/crypt/-/crypt-0.0.2.tgz", "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "engines": { "node": "*" } }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "optional": true, - "peer": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "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==", - "optional": true, - "peer": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, "node_modules/cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "resolved": "http://bnpm.byted.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "bin": { "cssesc": "bin/cssesc" @@ -2497,16 +2607,67 @@ "node": ">=4" } }, + "node_modules/cssstyle": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/csstype": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "http://bnpm.byted.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/date-fns-tz": { + "version": "1.3.8", + "resolved": "http://bnpm.byted.org/date-fns-tz/-/date-fns-tz-1.3.8.tgz", + "integrity": "sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==", + "peerDependencies": { + "date-fns": ">=2.0.0" + } + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "http://bnpm.byted.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -2525,15 +2686,20 @@ }, "node_modules/decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "resolved": "http://bnpm.byted.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "engines": { "node": ">=0.10.0" } }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, "node_modules/decode-named-character-reference": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "resolved": "http://bnpm.byted.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", "dependencies": { "character-entities": "^2.0.0" @@ -2545,14 +2711,28 @@ }, "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "resolved": "http://bnpm.byted.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "http://bnpm.byted.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "http://bnpm.byted.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" }, @@ -2573,7 +2753,7 @@ }, "node_modules/dequal": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "resolved": "http://bnpm.byted.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "engines": { "node": ">=6" @@ -2581,27 +2761,25 @@ }, "node_modules/detect-node-es": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/detect-node-es/-/detect-node-es-1.1.0.tgz", "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" }, "node_modules/didyoumean": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "resolved": "http://bnpm.byted.org/didyoumean/-/didyoumean-1.2.2.tgz", "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "optional": true, - "peer": true, + "version": "5.1.0", + "resolved": "http://bnpm.byted.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "engines": { "node": ">=0.3.1" } }, "node_modules/digest-fetch": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz", + "resolved": "http://bnpm.byted.org/digest-fetch/-/digest-fetch-1.3.0.tgz", "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==", "dependencies": { "base-64": "^0.1.0", @@ -2610,7 +2788,7 @@ }, "node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "resolved": "http://bnpm.byted.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dependencies": { "path-type": "^4.0.0" @@ -2621,12 +2799,12 @@ }, "node_modules/dlv": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "resolved": "http://bnpm.byted.org/dlv/-/dlv-1.1.3.tgz", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "resolved": "http://bnpm.byted.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dependencies": { "esutils": "^2.0.2" @@ -2635,68 +2813,15 @@ "node": ">=6.0.0" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "optional": true, - "peer": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.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" - } - ], - "optional": true, - "peer": true - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "optional": true, - "peer": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "optional": true, - "peer": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } + "node_modules/dommatrix": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dommatrix/-/dommatrix-1.0.3.tgz", + "integrity": "sha512-l32Xp/TLgWb8ReqbVJAFIvXmY7go4nTxxlWiAFyhoQw9RKEOHBZNnyGvJWqDVSPmq3Y9HlM4npqF/T6VMOXhww==", + "deprecated": "dommatrix is no longer maintained. Please use @thednp/dommatrix." }, "node_modules/dotenv": { "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "resolved": "http://bnpm.byted.org/dotenv/-/dotenv-16.3.1.tgz", "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", "engines": { "node": ">=12" @@ -2706,18 +2831,18 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.488", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.488.tgz", - "integrity": "sha512-Dv4sTjiW7t/UWGL+H8ZkgIjtUAVZDgb/PwGWvMsCT7jipzUV/u5skbLXPFKb6iV0tiddVi/bcS2/kUrczeWgIQ==" + "version": "1.4.596", + "resolved": "http://bnpm.byted.org/electron-to-chromium/-/electron-to-chromium-1.4.596.tgz", + "integrity": "sha512-zW3zbZ40Icb2BCWjm47nxwcFGYlIgdXkAx85XDO7cyky9J4QQfq8t0W19/TLZqq3JPQXtlv8BPIGmfa9Jb4scg==" }, "node_modules/emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "resolved": "http://bnpm.byted.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/enhanced-resolve": { "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "resolved": "http://bnpm.byted.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dependencies": { "graceful-fs": "^4.2.4", @@ -2731,8 +2856,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "optional": true, - "peer": true, "engines": { "node": ">=0.12" }, @@ -2741,17 +2864,17 @@ } }, "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "version": "1.22.2", + "resolved": "http://bnpm.byted.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.1", + "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.5", + "function.prototype.name": "^1.1.6", "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", @@ -2767,23 +2890,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "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.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "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.10" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -2792,9 +2915,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "http://bnpm.byted.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-set-tostringtag": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "resolved": "http://bnpm.byted.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dependencies": { "get-intrinsic": "^1.1.3", @@ -2807,7 +2951,7 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dependencies": { "has": "^1.0.3" @@ -2815,7 +2959,7 @@ }, "node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "resolved": "http://bnpm.byted.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dependencies": { "is-callable": "^1.1.4", @@ -2830,9 +2974,9 @@ } }, "node_modules/esbuild": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", - "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "version": "0.18.20", + "resolved": "http://bnpm.byted.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "dev": true, "hasInstallScript": true, "bin": { @@ -2842,33 +2986,33 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" } }, "node_modules/escalade": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "resolved": "http://bnpm.byted.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { "node": ">=6" @@ -2876,7 +3020,7 @@ }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "resolved": "http://bnpm.byted.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { "node": ">=10" @@ -2887,7 +3031,7 @@ }, "node_modules/eslint": { "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "resolved": "http://bnpm.byted.org/eslint/-/eslint-8.46.0.tgz", "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", @@ -2940,7 +3084,7 @@ }, "node_modules/eslint-config-next": { "version": "13.4.13", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.13.tgz", + "resolved": "http://bnpm.byted.org/eslint-config-next/-/eslint-config-next-13.4.13.tgz", "integrity": "sha512-EXAh5h1yG/YTNa5YdskzaSZncBjKjvFe2zclMCi2KXyTsXha22wB6MPs/U7idB6a2qjpBdbZcruQY1TWjfNMZw==", "dependencies": { "@next/eslint-plugin-next": "13.4.13", @@ -2965,7 +3109,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dependencies": { "debug": "^3.2.7", @@ -2975,16 +3119,16 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "resolved": "http://bnpm.byted.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.0.tgz", - "integrity": "sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==", + "version": "3.6.1", + "resolved": "http://bnpm.byted.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", "dependencies": { "debug": "^4.3.4", "enhanced-resolve": "^5.12.0", @@ -3007,7 +3151,7 @@ }, "node_modules/eslint-module-utils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "resolved": "http://bnpm.byted.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dependencies": { "debug": "^3.2.7" @@ -3023,33 +3167,32 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "resolved": "http://bnpm.byted.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "version": "2.29.0", + "resolved": "http://bnpm.byted.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", + "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", + "eslint-import-resolver-node": "^0.3.9", "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", "semver": "^6.3.1", "tsconfig-paths": "^3.14.2" }, @@ -3062,7 +3205,7 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "resolved": "http://bnpm.byted.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { "ms": "^2.1.1" @@ -3070,7 +3213,7 @@ }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "resolved": "http://bnpm.byted.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { "esutils": "^2.0.2" @@ -3081,33 +3224,33 @@ }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "http://bnpm.byted.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, "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", + "version": "6.8.0", + "resolved": "http://bnpm.byted.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.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", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" }, "engines": { "node": ">=4.0" @@ -3116,23 +3259,16 @@ "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.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", - "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", + "version": "7.33.2", + "resolved": "http://bnpm.byted.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", @@ -3154,7 +3290,7 @@ }, "node_modules/eslint-plugin-react-hooks": { "version": "5.0.0-canary-7118f5dd7-20230705", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "resolved": "http://bnpm.byted.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", "engines": { "node": ">=10" @@ -3165,7 +3301,7 @@ }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "resolved": "http://bnpm.byted.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { "esutils": "^2.0.2" @@ -3175,11 +3311,11 @@ } }, "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==", + "version": "2.0.0-next.5", + "resolved": "http://bnpm.byted.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -3192,7 +3328,7 @@ }, "node_modules/eslint-plugin-react/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "http://bnpm.byted.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" @@ -3200,7 +3336,7 @@ }, "node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "resolved": "http://bnpm.byted.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dependencies": { "esrecurse": "^4.3.0", @@ -3214,9 +3350,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "http://bnpm.byted.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" }, @@ -3226,7 +3362,7 @@ }, "node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "resolved": "http://bnpm.byted.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dependencies": { "acorn": "^8.9.0", @@ -3242,7 +3378,7 @@ }, "node_modules/esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "resolved": "http://bnpm.byted.org/esquery/-/esquery-1.5.0.tgz", "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dependencies": { "estraverse": "^5.1.0" @@ -3253,7 +3389,7 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "resolved": "http://bnpm.byted.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { "estraverse": "^5.2.0" @@ -3264,7 +3400,7 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "resolved": "http://bnpm.byted.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { "node": ">=4.0" @@ -3272,7 +3408,7 @@ }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "resolved": "http://bnpm.byted.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "engines": { "node": ">=0.10.0" @@ -3280,7 +3416,7 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "resolved": "http://bnpm.byted.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "engines": { "node": ">=6" @@ -3288,28 +3424,28 @@ }, "node_modules/eventemitter3": { "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "resolved": "http://bnpm.byted.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "node_modules/expr-eval": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expr-eval/-/expr-eval-2.0.2.tgz", + "resolved": "http://bnpm.byted.org/expr-eval/-/expr-eval-2.0.2.tgz", "integrity": "sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg==" }, "node_modules/extend": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "resolved": "http://bnpm.byted.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "resolved": "http://bnpm.byted.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==", + "version": "3.3.2", + "resolved": "http://bnpm.byted.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -3323,7 +3459,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { "is-glob": "^4.0.1" @@ -3334,17 +3470,22 @@ }, "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", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dependencies": { "reusify": "^1.0.4" @@ -3352,7 +3493,7 @@ }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "resolved": "http://bnpm.byted.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dependencies": { "flat-cache": "^3.0.4" @@ -3363,7 +3504,7 @@ }, "node_modules/fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "resolved": "http://bnpm.byted.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dependencies": { "to-regex-range": "^5.0.1" @@ -3374,7 +3515,7 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "resolved": "http://bnpm.byted.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dependencies": { "locate-path": "^6.0.0", @@ -3389,18 +3530,19 @@ }, "node_modules/flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "resolved": "http://bnpm.byted.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.2.0", + "resolved": "http://bnpm.byted.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -3408,14 +3550,14 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + "version": "3.2.9", + "resolved": "http://bnpm.byted.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.3", + "resolved": "http://bnpm.byted.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ { "type": "individual", @@ -3433,16 +3575,16 @@ }, "node_modules/for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "resolved": "http://bnpm.byted.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dependencies": { "is-callable": "^1.1.3" } }, "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==", + "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", @@ -3454,12 +3596,12 @@ }, "node_modules/form-data-encoder": { "version": "1.7.2", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "resolved": "http://bnpm.byted.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" }, "node_modules/formdata-node": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "resolved": "http://bnpm.byted.org/formdata-node/-/formdata-node-4.4.1.tgz", "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", "dependencies": { "node-domexception": "1.0.0", @@ -3469,27 +3611,35 @@ "node": ">= 12.20" } }, + "node_modules/formdata-node/node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "http://bnpm.byted.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "engines": { + "node": ">= 14" + } + }, "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "version": "4.3.7", + "resolved": "http://bnpm.byted.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "engines": { "node": "*" }, "funding": { "type": "patreon", - "url": "https://www.patreon.com/infusion" + "url": "https://github.com/sponsors/rawify" } }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "http://bnpm.byted.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, "optional": true, "os": [ @@ -3500,19 +3650,22 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "http://bnpm.byted.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "http://bnpm.byted.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.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -3523,21 +3676,21 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "resolved": "http://bnpm.byted.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/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==", + "version": "1.2.2", + "resolved": "http://bnpm.byted.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3545,7 +3698,7 @@ }, "node_modules/get-nonce": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "resolved": "http://bnpm.byted.org/get-nonce/-/get-nonce-1.0.1.tgz", "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", "engines": { "node": ">=6" @@ -3553,7 +3706,7 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dependencies": { "call-bind": "^1.0.2", @@ -3567,9 +3720,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.2.tgz", - "integrity": "sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==", + "version": "4.7.2", + "resolved": "http://bnpm.byted.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", "dependencies": { "resolve-pkg-maps": "^1.0.0" }, @@ -3578,14 +3731,14 @@ } }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.3", + "resolved": "http://bnpm.byted.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.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -3598,7 +3751,7 @@ }, "node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "resolved": "http://bnpm.byted.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dependencies": { "is-glob": "^4.0.3" @@ -3609,13 +3762,13 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "resolved": "http://bnpm.byted.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "http://bnpm.byted.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dependencies": { "type-fest": "^0.20.2" }, @@ -3628,7 +3781,7 @@ }, "node_modules/globalthis": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "resolved": "http://bnpm.byted.org/globalthis/-/globalthis-1.0.3.tgz", "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dependencies": { "define-properties": "^1.1.3" @@ -3642,7 +3795,7 @@ }, "node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "resolved": "http://bnpm.byted.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dependencies": { "array-union": "^2.1.0", @@ -3661,7 +3814,7 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "resolved": "http://bnpm.byted.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { "get-intrinsic": "^1.1.3" @@ -3672,17 +3825,17 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "resolved": "http://bnpm.byted.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dependencies": { "function-bind": "^1.1.1" @@ -3693,7 +3846,7 @@ }, "node_modules/has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "resolved": "http://bnpm.byted.org/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3701,7 +3854,7 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "resolved": "http://bnpm.byted.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" @@ -3709,7 +3862,7 @@ }, "node_modules/has-property-descriptors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dependencies": { "get-intrinsic": "^1.1.1" @@ -3720,7 +3873,7 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "resolved": "http://bnpm.byted.org/has-proto/-/has-proto-1.0.1.tgz", "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "engines": { "node": ">= 0.4" @@ -3731,7 +3884,7 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "resolved": "http://bnpm.byted.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" @@ -3742,7 +3895,7 @@ }, "node_modules/has-tostringtag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dependencies": { "has-symbols": "^1.0.2" @@ -3754,54 +3907,91 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "http://bnpm.byted.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hast-util-whitespace": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "resolved": "http://bnpm.byted.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "optional": true, - "peer": true, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" } }, "node_modules/humanize-ms": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "resolved": "http://bnpm.byted.org/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dependencies": { "ms": "^2.0.0" } }, + "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/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.0", + "resolved": "http://bnpm.byted.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "resolved": "http://bnpm.byted.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dependencies": { "parent-module": "^1.0.0", @@ -3816,7 +4006,7 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "resolved": "http://bnpm.byted.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "engines": { "node": ">=0.8.19" @@ -3824,7 +4014,7 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "resolved": "http://bnpm.byted.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { "once": "^1.3.0", @@ -3833,17 +4023,17 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "resolved": "http://bnpm.byted.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/inline-style-parser": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "resolved": "http://bnpm.byted.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, "node_modules/internal-slot": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "resolved": "http://bnpm.byted.org/internal-slot/-/internal-slot-1.0.5.tgz", "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dependencies": { "get-intrinsic": "^1.2.0", @@ -3854,9 +4044,14 @@ "node": ">= 0.4" } }, + "node_modules/intersection-observer": { + "version": "0.12.2", + "resolved": "http://bnpm.byted.org/intersection-observer/-/intersection-observer-0.12.2.tgz", + "integrity": "sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==" + }, "node_modules/invariant": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "resolved": "http://bnpm.byted.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dependencies": { "loose-envify": "^1.0.0" @@ -3864,12 +4059,12 @@ }, "node_modules/is-any-array": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz", + "resolved": "http://bnpm.byted.org/is-any-array/-/is-any-array-2.0.1.tgz", "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==" }, "node_modules/is-array-buffer": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "resolved": "http://bnpm.byted.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dependencies": { "call-bind": "^1.0.2", @@ -3880,9 +4075,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { "has-bigints": "^1.0.1" @@ -3893,7 +4102,7 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "resolved": "http://bnpm.byted.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dependencies": { "binary-extensions": "^2.0.0" @@ -3904,7 +4113,7 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "resolved": "http://bnpm.byted.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { "call-bind": "^1.0.2", @@ -3919,12 +4128,12 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "resolved": "http://bnpm.byted.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "resolved": "http://bnpm.byted.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { "node": ">= 0.4" @@ -3934,11 +4143,11 @@ } }, "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==", + "version": "2.13.1", + "resolved": "http://bnpm.byted.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3946,7 +4155,7 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "resolved": "http://bnpm.byted.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { "has-tostringtag": "^1.0.0" @@ -3960,15 +4169,40 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "resolved": "http://bnpm.byted.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": "http://bnpm.byted.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-generator-function": { + "version": "1.0.10", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { "is-extglob": "^2.1.1" @@ -3977,9 +4211,17 @@ "node": ">=0.10.0" } }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "http://bnpm.byted.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-negative-zero": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "resolved": "http://bnpm.byted.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "engines": { "node": ">= 0.4" @@ -3990,7 +4232,7 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "resolved": "http://bnpm.byted.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "engines": { "node": ">=0.12.0" @@ -3998,7 +4240,7 @@ }, "node_modules/is-number-object": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "resolved": "http://bnpm.byted.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { "has-tostringtag": "^1.0.0" @@ -4012,7 +4254,7 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "resolved": "http://bnpm.byted.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "engines": { "node": ">=8" @@ -4020,7 +4262,7 @@ }, "node_modules/is-plain-obj": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "resolved": "http://bnpm.byted.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "engines": { "node": ">=12" @@ -4029,9 +4271,14 @@ "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", + "resolved": "http://bnpm.byted.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { "call-bind": "^1.0.2", @@ -4044,9 +4291,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.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" @@ -4057,7 +4312,7 @@ }, "node_modules/is-string": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "resolved": "http://bnpm.byted.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dependencies": { "has-tostringtag": "^1.0.0" @@ -4071,7 +4326,7 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "resolved": "http://bnpm.byted.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { "has-symbols": "^1.0.2" @@ -4085,7 +4340,7 @@ }, "node_modules/is-typed-array": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "resolved": "http://bnpm.byted.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" @@ -4097,9 +4352,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dependencies": { "call-bind": "^1.0.2" @@ -4108,28 +4371,57 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "http://bnpm.byted.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/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "http://bnpm.byted.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/jiti": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", - "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", + "version": "1.21.0", + "resolved": "http://bnpm.byted.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", "bin": { "jiti": "bin/jiti.js" } }, + "node_modules/js-cookie": { + "version": "2.2.1", + "resolved": "http://bnpm.byted.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + }, "node_modules/js-tiktoken": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.7.tgz", - "integrity": "sha512-biba8u/clw7iesNEWLOLwrNGoBP2lA+hTaBLs/D45pJdUPFXyxD6nhcDVtADChghv4GgyAiMKYMiRx7x6h7Biw==", + "version": "1.0.8", + "resolved": "http://bnpm.byted.org/js-tiktoken/-/js-tiktoken-1.0.8.tgz", + "integrity": "sha512-r7XK3E9/I+SOrbAGqb39pyO/rHAS1diAOSRAvaaLfHgXjkUSK9AiSd+r84Vn2f/GvXJYRAxKj8NHrUvqlaH5qg==", "dependencies": { "base64-js": "^1.5.1" } @@ -4141,7 +4433,7 @@ }, "node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "resolved": "http://bnpm.byted.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { "argparse": "^2.0.1" @@ -4150,19 +4442,63 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsdom": { + "version": "23.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.0.0.tgz", + "integrity": "sha512-cbL/UCtohJguhFC7c2/hgW6BeZCNvP7URQGnx9tSJRYKCdnfbfWOrtuLTMfiB2VxKsx5wPHVsh/J0aBy9lIIhQ==", + "dependencies": { + "cssstyle": "^3.0.0", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.7", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.3", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.14.2", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "http://bnpm.byted.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "resolved": "http://bnpm.byted.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" @@ -4173,7 +4509,7 @@ }, "node_modules/jsonpointer": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "resolved": "http://bnpm.byted.org/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", "engines": { "node": ">=0.10.0" @@ -4181,7 +4517,7 @@ }, "node_modules/jsx-ast-utils": { "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "resolved": "http://bnpm.byted.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dependencies": { "array-includes": "^3.1.6", @@ -4193,9 +4529,17 @@ "node": ">=4.0" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "http://bnpm.byted.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kleur": { "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "resolved": "http://bnpm.byted.org/kleur/-/kleur-4.1.5.tgz", "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", "engines": { "node": ">=6" @@ -4203,7 +4547,7 @@ }, "node_modules/langchain": { "version": "0.0.126", - "resolved": "https://registry.npmjs.org/langchain/-/langchain-0.0.126.tgz", + "resolved": "http://bnpm.byted.org/langchain/-/langchain-0.0.126.tgz", "integrity": "sha512-Z57WjAwLN+ZbJ9D4h2oTN7iDt1Aa67mcXhKYVCQFRu4w8PIPH5k0VBvmrzKyRj2iFIWdUaqVsHch/jz5+1mGnA==", "dependencies": { "@anthropic-ai/sdk": "^0.5.7", @@ -4490,7 +4834,7 @@ }, "node_modules/langchain/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "http://bnpm.byted.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { "node": ">=10" @@ -4500,9 +4844,9 @@ } }, "node_modules/langsmith": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.0.20.tgz", - "integrity": "sha512-5VCBELL3YECxm0UA8TlX0K9B7Ecme9L1jd1Lly2TSPVCgABEcNDGAXrXKJ+o72hwWlf6XL5sQejzQCXspXRdVw==", + "version": "0.0.49", + "resolved": "http://bnpm.byted.org/langsmith/-/langsmith-0.0.49.tgz", + "integrity": "sha512-TC2RkjDizxtubClLNjLkB0m53NHtom9LHIhbdRYJ5O6gqUpcXkN/pefb8w734lBp9VYfnYBk/JJ8AiCq+ooeDQ==", "dependencies": { "@types/uuid": "^9.0.1", "commander": "^10.0.1", @@ -4514,30 +4858,25 @@ "langsmith": "dist/cli/main.cjs" } }, - "node_modules/langsmith/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "engines": { - "node": ">=14" - } - }, "node_modules/language-subtag-registry": { "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "resolved": "http://bnpm.byted.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==", + "version": "1.0.9", + "resolved": "http://bnpm.byted.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dependencies": { - "language-subtag-registry": "~0.3.2" + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" } }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "resolved": "http://bnpm.byted.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dependencies": { "prelude-ls": "^1.2.1", @@ -4549,7 +4888,7 @@ }, "node_modules/lilconfig": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "resolved": "http://bnpm.byted.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "engines": { "node": ">=10" @@ -4557,12 +4896,12 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "resolved": "http://bnpm.byted.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "resolved": "http://bnpm.byted.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dependencies": { "p-locate": "^5.0.0" @@ -4574,9 +4913,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "http://bnpm.byted.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.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "resolved": "http://bnpm.byted.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "node_modules/loose-envify": { @@ -4592,7 +4941,7 @@ }, "node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "resolved": "http://bnpm.byted.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { "yallist": "^4.0.0" @@ -4603,22 +4952,15 @@ }, "node_modules/lucide-react": { "version": "0.265.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.265.0.tgz", + "resolved": "http://bnpm.byted.org/lucide-react/-/lucide-react-0.265.0.tgz", "integrity": "sha512-znyvziBEUQ7CKR31GiU4viomQbJrpDLG5ac+FajwiZIavC3YbPFLkzQx3dCXT4JWJx/pB34EwmtiZ0ElGZX0PA==", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "optional": true, - "peer": true - }, "node_modules/md5": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "resolved": "http://bnpm.byted.org/md5/-/md5-2.3.0.tgz", "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "dependencies": { "charenc": "0.0.2", @@ -4628,7 +4970,7 @@ }, "node_modules/mdast-util-definitions": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "resolved": "http://bnpm.byted.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", "dependencies": { "@types/mdast": "^3.0.0", @@ -4642,7 +4984,7 @@ }, "node_modules/mdast-util-from-markdown": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "resolved": "http://bnpm.byted.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", "dependencies": { "@types/mdast": "^3.0.0", @@ -4665,7 +5007,7 @@ }, "node_modules/mdast-util-to-hast": { "version": "12.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "resolved": "http://bnpm.byted.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", "dependencies": { "@types/hast": "^2.0.0", @@ -4684,7 +5026,7 @@ }, "node_modules/mdast-util-to-string": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "resolved": "http://bnpm.byted.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", "dependencies": { "@types/mdast": "^3.0.0" @@ -4694,9 +5036,14 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "http://bnpm.byted.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "resolved": "http://bnpm.byted.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "engines": { "node": ">= 8" @@ -4704,7 +5051,7 @@ }, "node_modules/micromark": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "resolved": "http://bnpm.byted.org/micromark/-/micromark-3.2.0.tgz", "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", "funding": [ { @@ -4738,7 +5085,7 @@ }, "node_modules/micromark-core-commonmark": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", "funding": [ { @@ -4771,7 +5118,7 @@ }, "node_modules/micromark-factory-destination": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", "funding": [ { @@ -4791,7 +5138,7 @@ }, "node_modules/micromark-factory-label": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", "funding": [ { @@ -4812,7 +5159,7 @@ }, "node_modules/micromark-factory-space": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", "funding": [ { @@ -4831,7 +5178,7 @@ }, "node_modules/micromark-factory-title": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", "funding": [ { @@ -4852,7 +5199,7 @@ }, "node_modules/micromark-factory-whitespace": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", "funding": [ { @@ -4873,7 +5220,7 @@ }, "node_modules/micromark-util-character": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", "funding": [ { @@ -4892,7 +5239,7 @@ }, "node_modules/micromark-util-chunked": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", "funding": [ { @@ -4910,7 +5257,7 @@ }, "node_modules/micromark-util-classify-character": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", "funding": [ { @@ -4930,7 +5277,7 @@ }, "node_modules/micromark-util-combine-extensions": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", "funding": [ { @@ -4949,7 +5296,7 @@ }, "node_modules/micromark-util-decode-numeric-character-reference": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", "funding": [ { @@ -4967,7 +5314,7 @@ }, "node_modules/micromark-util-decode-string": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", "funding": [ { @@ -4988,7 +5335,7 @@ }, "node_modules/micromark-util-encode": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", "funding": [ { @@ -5003,7 +5350,7 @@ }, "node_modules/micromark-util-html-tag-name": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", "funding": [ { @@ -5018,7 +5365,7 @@ }, "node_modules/micromark-util-normalize-identifier": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", "funding": [ { @@ -5036,7 +5383,7 @@ }, "node_modules/micromark-util-resolve-all": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", "funding": [ { @@ -5054,7 +5401,7 @@ }, "node_modules/micromark-util-sanitize-uri": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", "funding": [ { @@ -5074,7 +5421,7 @@ }, "node_modules/micromark-util-subtokenize": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", "funding": [ { @@ -5095,7 +5442,7 @@ }, "node_modules/micromark-util-symbol": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", "funding": [ { @@ -5110,7 +5457,7 @@ }, "node_modules/micromark-util-types": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", "funding": [ { @@ -5125,7 +5472,7 @@ }, "node_modules/micromatch": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "resolved": "http://bnpm.byted.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dependencies": { "braces": "^3.0.2", @@ -5156,7 +5503,7 @@ }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "resolved": "http://bnpm.byted.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" @@ -5167,7 +5514,7 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "resolved": "http://bnpm.byted.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5175,7 +5522,7 @@ }, "node_modules/ml-array-mean": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ml-array-mean/-/ml-array-mean-1.1.6.tgz", + "resolved": "http://bnpm.byted.org/ml-array-mean/-/ml-array-mean-1.1.6.tgz", "integrity": "sha512-MIdf7Zc8HznwIisyiJGRH9tRigg3Yf4FldW8DxKxpCCv/g5CafTw0RRu51nojVEOXuCQC7DRVVu5c7XXO/5joQ==", "dependencies": { "ml-array-sum": "^1.1.6" @@ -5183,16 +5530,16 @@ }, "node_modules/ml-array-sum": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ml-array-sum/-/ml-array-sum-1.1.6.tgz", + "resolved": "http://bnpm.byted.org/ml-array-sum/-/ml-array-sum-1.1.6.tgz", "integrity": "sha512-29mAh2GwH7ZmiRnup4UyibQZB9+ZLyMShvt4cH4eTK+cL2oEMIZFnSyB3SS8MlsTh6q/w/yh48KmqLxmovN4Dw==", "dependencies": { "is-any-array": "^2.0.0" } }, "node_modules/ml-distance": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ml-distance/-/ml-distance-4.0.1.tgz", - "integrity": "sha512-feZ5ziXs01zhyFUUUeZV5hwc0f5JW0Sh0ckU1koZe/wdVkJdGxcP06KNQuF0WBTj8FttQUzcvQcpcrOp/XrlEw==", + "version": "4.0.0", + "resolved": "http://bnpm.byted.org/ml-distance/-/ml-distance-4.0.0.tgz", + "integrity": "sha512-zj7+UGZpHk3uL7n79XTfGNUjIGnhLn8xVvrxYvBHvXFxo3jq1q+/UjP311hZxnLVhbxbXCjUniThX8gozjacYA==", "dependencies": { "ml-array-mean": "^1.1.6", "ml-distance-euclidean": "^2.0.0", @@ -5201,12 +5548,12 @@ }, "node_modules/ml-distance-euclidean": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz", + "resolved": "http://bnpm.byted.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz", "integrity": "sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==" }, "node_modules/ml-tree-similarity": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ml-tree-similarity/-/ml-tree-similarity-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/ml-tree-similarity/-/ml-tree-similarity-1.0.0.tgz", "integrity": "sha512-XJUyYqjSuUQkNQHMscr6tcjldsOoAekxADTplt40QKfwW6nd++1wHWV9AArl0Zvw/TIHgNaZZNvr8QGvE8wLRg==", "dependencies": { "binary-search": "^1.3.5", @@ -5215,7 +5562,7 @@ }, "node_modules/mri": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "resolved": "http://bnpm.byted.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "engines": { "node": ">=4" @@ -5228,7 +5575,7 @@ }, "node_modules/mz": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "resolved": "http://bnpm.byted.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dependencies": { "any-promise": "^1.0.0", @@ -5237,9 +5584,9 @@ } }, "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==", + "version": "3.3.7", + "resolved": "http://bnpm.byted.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", @@ -5255,12 +5602,12 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "resolved": "http://bnpm.byted.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/next": { "version": "13.4.12", - "resolved": "https://registry.npmjs.org/next/-/next-13.4.12.tgz", + "resolved": "http://bnpm.byted.org/next/-/next-13.4.12.tgz", "integrity": "sha512-eHfnru9x6NRmTMcjQp6Nz0J4XH9OubmzOa7CkWL+AUrUxpibub3vWwttjduu9No16dug1kq04hiUUpo7J3m3Xw==", "dependencies": { "@next/env": "13.4.12", @@ -5310,7 +5657,7 @@ }, "node_modules/next-themes": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz", + "resolved": "http://bnpm.byted.org/next-themes/-/next-themes-0.2.1.tgz", "integrity": "sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==", "peerDependencies": { "next": "*", @@ -5320,7 +5667,7 @@ }, "node_modules/next/node_modules/postcss": { "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "resolved": "http://bnpm.byted.org/postcss/-/postcss-8.4.14.tgz", "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", "funding": [ { @@ -5341,9 +5688,17 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/next/node_modules/zod": { + "version": "3.21.4", + "resolved": "http://bnpm.byted.org/zod/-/zod-3.21.4.tgz", + "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/node-domexception": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/node-domexception/-/node-domexception-1.0.0.tgz", "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", "funding": [ { @@ -5361,13 +5716,13 @@ }, "node_modules/node-ensure": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/node-ensure/-/node-ensure-0.0.0.tgz", + "resolved": "http://bnpm.byted.org/node-ensure/-/node-ensure-0.0.0.tgz", "integrity": "sha512-DRI60hzo2oKN1ma0ckc6nQWlHU69RH6xN0sjQTjMpChPfTYvKZdcQFfdYK2RWbJcKyUizSIy/l8OTGxMAM1QDw==" }, "node_modules/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "version": "2.7.0", + "resolved": "http://bnpm.byted.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -5383,14 +5738,33 @@ } } }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "http://bnpm.byted.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "http://bnpm.byted.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": "http://bnpm.byted.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-releases": { "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "resolved": "http://bnpm.byted.org/node-releases/-/node-releases-2.0.13.tgz", "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "resolved": "http://bnpm.byted.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { "node": ">=0.10.0" @@ -5398,28 +5772,15 @@ }, "node_modules/normalize-range": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "resolved": "http://bnpm.byted.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "engines": { "node": ">=0.10.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==", - "optional": true, - "peer": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, "node_modules/num-sort": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/num-sort/-/num-sort-2.1.0.tgz", + "resolved": "http://bnpm.byted.org/num-sort/-/num-sort-2.1.0.tgz", "integrity": "sha512-1MQz1Ed8z2yckoBeSfkQHHO9K1yDRxxtotKSJ9yvcTUUxSvfvzEq5GwBrjjHEpMlq/k5gvXdmJ1SbYxWtpNoVg==", "engines": { "node": ">=8" @@ -5428,6 +5789,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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", @@ -5438,23 +5804,23 @@ }, "node_modules/object-hash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "resolved": "http://bnpm.byted.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==", + "version": "1.13.1", + "resolved": "http://bnpm.byted.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "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", + "resolved": "http://bnpm.byted.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "engines": { "node": ">= 0.4" @@ -5462,7 +5828,7 @@ }, "node_modules/object.assign": { "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "resolved": "http://bnpm.byted.org/object.assign/-/object.assign-4.1.4.tgz", "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dependencies": { "call-bind": "^1.0.2", @@ -5478,26 +5844,26 @@ } }, "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "version": "1.1.7", + "resolved": "http://bnpm.byted.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.7", + "resolved": "http://bnpm.byted.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.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -5507,36 +5873,36 @@ } }, "node_modules/object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "version": "1.0.1", + "resolved": "http://bnpm.byted.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.21.2", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1" } }, "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "version": "1.1.3", + "resolved": "http://bnpm.byted.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "version": "1.1.7", + "resolved": "http://bnpm.byted.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -5547,7 +5913,7 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "resolved": "http://bnpm.byted.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" @@ -5555,34 +5921,21 @@ }, "node_modules/openai": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/openai/-/openai-3.3.0.tgz", + "resolved": "http://bnpm.byted.org/openai/-/openai-3.3.0.tgz", "integrity": "sha512-uqxI/Au+aPRnsaQRe8CojU0eCR7I0mBiKjD3sNMzY6DaC1ZVrc85u98mtJW6voDug8fgGN+DIZmTDxTthxb7dQ==", "dependencies": { "axios": "^0.26.0", "form-data": "^4.0.0" } }, - "node_modules/openai/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/openapi-types": { "version": "12.1.3", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", + "resolved": "http://bnpm.byted.org/openapi-types/-/openapi-types-12.1.3.tgz", "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==" }, "node_modules/optionator": { "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "resolved": "http://bnpm.byted.org/optionator/-/optionator-0.9.3.tgz", "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", @@ -5598,7 +5951,7 @@ }, "node_modules/p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "engines": { "node": ">=4" @@ -5606,7 +5959,7 @@ }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "resolved": "http://bnpm.byted.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dependencies": { "yocto-queue": "^0.1.0" @@ -5620,7 +5973,7 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "resolved": "http://bnpm.byted.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dependencies": { "p-limit": "^3.0.2" @@ -5634,7 +5987,7 @@ }, "node_modules/p-queue": { "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "resolved": "http://bnpm.byted.org/p-queue/-/p-queue-6.6.2.tgz", "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", "dependencies": { "eventemitter3": "^4.0.4", @@ -5649,7 +6002,7 @@ }, "node_modules/p-retry": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "resolved": "http://bnpm.byted.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dependencies": { "@types/retry": "0.12.0", @@ -5661,7 +6014,7 @@ }, "node_modules/p-timeout": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "resolved": "http://bnpm.byted.org/p-timeout/-/p-timeout-3.2.0.tgz", "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", "dependencies": { "p-finally": "^1.0.0" @@ -5672,7 +6025,7 @@ }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "resolved": "http://bnpm.byted.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dependencies": { "callsites": "^3.0.0" @@ -5685,8 +6038,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "optional": true, - "peer": true, "dependencies": { "entities": "^4.4.0" }, @@ -5694,23 +6045,9 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "optional": true, - "peer": true, - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "resolved": "http://bnpm.byted.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "engines": { "node": ">=8" @@ -5718,7 +6055,7 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "http://bnpm.byted.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" @@ -5726,7 +6063,7 @@ }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "resolved": "http://bnpm.byted.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "engines": { "node": ">=8" @@ -5734,12 +6071,12 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "resolved": "http://bnpm.byted.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "resolved": "http://bnpm.byted.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "engines": { "node": ">=8" @@ -5747,7 +6084,7 @@ }, "node_modules/pdf-parse": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pdf-parse/-/pdf-parse-1.1.1.tgz", + "resolved": "http://bnpm.byted.org/pdf-parse/-/pdf-parse-1.1.1.tgz", "integrity": "sha512-v6ZJ/efsBpGrGGknjtq9J/oC8tZWq0KWL5vQrk2GlzLEQPUDB1ex+13Rmidl1neNN358Jn9EHZw5y07FFtaC7A==", "dependencies": { "debug": "^3.1.0", @@ -5759,20 +6096,37 @@ }, "node_modules/pdf-parse/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "resolved": "http://bnpm.byted.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { "ms": "^2.1.1" } }, + "node_modules/pdfjs-dist": { + "version": "2.16.105", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.16.105.tgz", + "integrity": "sha512-J4dn41spsAwUxCpEoVf6GVoz908IAA3mYiLmNxg8J9kfRXc2jxpbUepcP0ocp0alVNLFthTAM8DZ1RaHh8sU0A==", + "dependencies": { + "dommatrix": "^1.0.3", + "web-streams-polyfill": "^3.2.1" + }, + "peerDependencies": { + "worker-loader": "^3.0.8" + }, + "peerDependenciesMeta": { + "worker-loader": { + "optional": true + } + } + }, "node_modules/picocolors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "engines": { "node": ">=8.6" @@ -5783,7 +6137,7 @@ }, "node_modules/pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://bnpm.byted.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { "node": ">=0.10.0" @@ -5791,7 +6145,7 @@ }, "node_modules/pirates": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "resolved": "http://bnpm.byted.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "engines": { "node": ">= 6" @@ -5799,7 +6153,7 @@ }, "node_modules/postcss": { "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "resolved": "http://bnpm.byted.org/postcss/-/postcss-8.4.27.tgz", "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", "funding": [ { @@ -5826,7 +6180,7 @@ }, "node_modules/postcss-import": { "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "resolved": "http://bnpm.byted.org/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dependencies": { "postcss-value-parser": "^4.0.0", @@ -5842,7 +6196,7 @@ }, "node_modules/postcss-js": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "resolved": "http://bnpm.byted.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dependencies": { "camelcase-css": "^2.0.1" @@ -5859,20 +6213,26 @@ } }, "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==", + "version": "4.0.2", + "resolved": "http://bnpm.byted.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { "node": ">= 14" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" @@ -5886,9 +6246,17 @@ } } }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "http://bnpm.byted.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "engines": { + "node": ">=14" + } + }, "node_modules/postcss-nested": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "resolved": "http://bnpm.byted.org/postcss-nested/-/postcss-nested-6.0.1.tgz", "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", "dependencies": { "postcss-selector-parser": "^6.0.11" @@ -5906,7 +6274,7 @@ }, "node_modules/postcss-selector-parser": { "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "resolved": "http://bnpm.byted.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dependencies": { "cssesc": "^3.0.0", @@ -5918,12 +6286,12 @@ }, "node_modules/postcss-value-parser": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "engines": { "node": ">= 0.8.0" @@ -5940,25 +6308,35 @@ } }, "node_modules/property-information": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", - "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==", + "version": "6.3.0", + "resolved": "http://bnpm.byted.org/property-information/-/property-information-6.3.0.tgz", + "integrity": "sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, + "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==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "resolved": "http://bnpm.byted.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ { @@ -5975,9 +6353,21 @@ } ] }, + "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", + "resolved": "http://bnpm.byted.org/react/-/react-18.2.0.tgz", "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { "loose-envify": "^1.1.0" @@ -5988,7 +6378,7 @@ }, "node_modules/react-dom": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "resolved": "http://bnpm.byted.org/react-dom/-/react-dom-18.2.0.tgz", "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dependencies": { "loose-envify": "^1.1.0", @@ -5998,6 +6388,27 @@ "react": "^18.2.0" } }, + "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-draggable/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/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -6005,7 +6416,7 @@ }, "node_modules/react-markdown": { "version": "8.0.7", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", + "resolved": "http://bnpm.byted.org/react-markdown/-/react-markdown-8.0.7.tgz", "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", "dependencies": { "@types/hast": "^2.0.0", @@ -6035,12 +6446,26 @@ }, "node_modules/react-markdown/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "resolved": "http://bnpm.byted.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/react-pdf-highlighter": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-pdf-highlighter/-/react-pdf-highlighter-6.1.0.tgz", + "integrity": "sha512-PD7l+0q1v+pZahLA/2AeWIb0n8d1amL6o+mOKnldIqtyChBHSE3gfnY5ZNMSFrhWXdlM6l4Eet+aydnYo6Skow==", + "dependencies": { + "lodash.debounce": "^4.0.8", + "pdfjs-dist": "2.16.105", + "react-rnd": "^10.1.10" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.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", + "resolved": "http://bnpm.byted.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", @@ -6064,7 +6489,7 @@ }, "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", + "resolved": "http://bnpm.byted.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", @@ -6083,9 +6508,35 @@ } } }, + "node_modules/react-resizable": { + "version": "3.0.5", + "resolved": "http://bnpm.byted.org/react-resizable/-/react-resizable-3.0.5.tgz", + "integrity": "sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w==", + "dependencies": { + "prop-types": "15.x", + "react-draggable": "^4.0.3" + }, + "peerDependencies": { + "react": ">= 16.3" + } + }, + "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-style-singleton": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "resolved": "http://bnpm.byted.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", "dependencies": { "get-nonce": "^1.0.0", @@ -6105,17 +6556,33 @@ } } }, + "node_modules/react-window": { + "version": "1.8.10", + "resolved": "http://bnpm.byted.org/react-window/-/react-window-1.8.10.tgz", + "integrity": "sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "memoize-one": ">=3.1.1 <6" + }, + "engines": { + "node": ">8.0.0" + }, + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-wrap-balancer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/react-wrap-balancer/-/react-wrap-balancer-1.0.0.tgz", - "integrity": "sha512-yjDH+I8WGyDfh95gKhX/6ckfSBAltwQkxiYxtLPlyIRQNUVSjvz1uHR6Hpy+zHyOkJQw6GEC5RPglA41QXvzyw==", + "version": "1.1.0", + "resolved": "http://bnpm.byted.org/react-wrap-balancer/-/react-wrap-balancer-1.1.0.tgz", + "integrity": "sha512-EhF3jOZm5Fjx+Cx41e423qOv2c2aOvXAtym2OHqrGeMUnwERIyNsRBgnfT3plB170JmuYvts8K2KSPEIerKr5A==", "peerDependencies": { "react": ">=16.8.0 || ^17.0.0 || ^18" } }, "node_modules/read-cache": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dependencies": { "pify": "^2.3.0" @@ -6123,7 +6590,7 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "resolved": "http://bnpm.byted.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dependencies": { "picomatch": "^2.2.1" @@ -6132,19 +6599,38 @@ "node": ">=8.10.0" } }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "http://bnpm.byted.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/regenerator-runtime": { "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "resolved": "http://bnpm.byted.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "http://bnpm.byted.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", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -6155,7 +6641,7 @@ }, "node_modules/remark-parse": { "version": "10.0.2", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", + "resolved": "http://bnpm.byted.org/remark-parse/-/remark-parse-10.0.2.tgz", "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", "dependencies": { "@types/mdast": "^3.0.0", @@ -6169,7 +6655,7 @@ }, "node_modules/remark-rehype": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "resolved": "http://bnpm.byted.org/remark-rehype/-/remark-rehype-10.1.0.tgz", "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", "dependencies": { "@types/hast": "^2.0.0", @@ -6182,10 +6668,20 @@ "url": "https://opencollective.com/unified" } }, + "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/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "http://bnpm.byted.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "version": "1.22.8", + "resolved": "http://bnpm.byted.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -6200,7 +6696,7 @@ }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "resolved": "http://bnpm.byted.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "engines": { "node": ">=4" @@ -6208,7 +6704,7 @@ }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" @@ -6216,7 +6712,7 @@ }, "node_modules/retry": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "resolved": "http://bnpm.byted.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "engines": { "node": ">= 4" @@ -6224,7 +6720,7 @@ }, "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "resolved": "http://bnpm.byted.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "engines": { "iojs": ">=1.0.0", @@ -6233,7 +6729,7 @@ }, "node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "resolved": "http://bnpm.byted.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dependencies": { "glob": "^7.1.3" @@ -6245,9 +6741,14 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==" + }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "resolved": "http://bnpm.byted.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { @@ -6269,7 +6770,7 @@ }, "node_modules/sade": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "resolved": "http://bnpm.byted.org/sade/-/sade-1.8.1.tgz", "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", "dependencies": { "mri": "^1.1.0" @@ -6279,12 +6780,12 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "version": "1.0.1", + "resolved": "http://bnpm.byted.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.0", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -6297,7 +6798,7 @@ }, "node_modules/safe-regex-test": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dependencies": { "call-bind": "^1.0.2", @@ -6308,17 +6809,52 @@ "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/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, "node_modules/scheduler": { "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "resolved": "http://bnpm.byted.org/scheduler/-/scheduler-0.23.0.tgz", "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dependencies": { "loose-envify": "^1.1.0" } }, + "node_modules/screenfull": { + "version": "5.2.0", + "resolved": "http://bnpm.byted.org/screenfull/-/screenfull-5.2.0.tgz", + "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "http://bnpm.byted.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "dependencies": { + "compute-scroll-into-view": "^1.0.20" + } + }, "node_modules/semver": { "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "resolved": "http://bnpm.byted.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" @@ -6330,9 +6866,36 @@ "node": ">=10" } }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "http://bnpm.byted.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "http://bnpm.byted.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/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "resolved": "http://bnpm.byted.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dependencies": { "shebang-regex": "^3.0.0" @@ -6343,7 +6906,7 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "resolved": "http://bnpm.byted.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "engines": { "node": ">=8" @@ -6351,7 +6914,7 @@ }, "node_modules/side-channel": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "resolved": "http://bnpm.byted.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dependencies": { "call-bind": "^1.0.0", @@ -6364,7 +6927,7 @@ }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "resolved": "http://bnpm.byted.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" @@ -6372,7 +6935,7 @@ }, "node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "http://bnpm.byted.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { @@ -6381,7 +6944,7 @@ }, "node_modules/source-map-js": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "resolved": "http://bnpm.byted.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "engines": { "node": ">=0.10.0" @@ -6389,7 +6952,7 @@ }, "node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "resolved": "http://bnpm.byted.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { @@ -6399,7 +6962,7 @@ }, "node_modules/space-separated-tokens": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "resolved": "http://bnpm.byted.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", "funding": { "type": "github", @@ -6408,24 +6971,25 @@ }, "node_modules/streamsearch": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "resolved": "http://bnpm.byted.org/streamsearch/-/streamsearch-1.1.0.tgz", "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { "node": ">=10.0.0" } }, "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "version": "4.0.10", + "resolved": "http://bnpm.byted.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", "side-channel": "^1.0.4" }, "funding": { @@ -6433,13 +6997,13 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "version": "1.2.8", + "resolved": "http://bnpm.byted.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -6449,26 +7013,26 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "version": "1.0.7", + "resolved": "http://bnpm.byted.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.1.4", - "es-abstract": "^1.20.4" + "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.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.7", + "resolved": "http://bnpm.byted.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.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6476,7 +7040,7 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "resolved": "http://bnpm.byted.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" @@ -6487,7 +7051,7 @@ }, "node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "resolved": "http://bnpm.byted.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "engines": { "node": ">=4" @@ -6495,7 +7059,7 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "resolved": "http://bnpm.byted.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "engines": { "node": ">=8" @@ -6505,16 +7069,16 @@ } }, "node_modules/style-to-object": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.2.tgz", - "integrity": "sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==", + "version": "0.4.4", + "resolved": "http://bnpm.byted.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", "dependencies": { "inline-style-parser": "0.1.1" } }, "node_modules/styled-jsx": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "resolved": "http://bnpm.byted.org/styled-jsx/-/styled-jsx-5.1.1.tgz", "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", "dependencies": { "client-only": "0.0.1" @@ -6536,7 +7100,7 @@ }, "node_modules/sucrase": { "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "resolved": "http://bnpm.byted.org/sucrase/-/sucrase-3.34.0.tgz", "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", @@ -6555,9 +7119,17 @@ "node": ">=8" } }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dependencies": { "fs.realpath": "^1.0.0", @@ -6576,7 +7148,7 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "resolved": "http://bnpm.byted.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" @@ -6587,7 +7159,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { "node": ">= 0.4" @@ -6596,9 +7168,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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/tailwind-merge": { "version": "1.14.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", + "resolved": "http://bnpm.byted.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==", "funding": { "type": "github", @@ -6607,7 +7184,7 @@ }, "node_modules/tailwindcss": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "resolved": "http://bnpm.byted.org/tailwindcss/-/tailwindcss-3.3.3.tgz", "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", "dependencies": { "@alloc/quick-lru": "^5.2.0", @@ -6643,7 +7220,7 @@ }, "node_modules/tailwindcss-animate": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.6.tgz", + "resolved": "http://bnpm.byted.org/tailwindcss-animate/-/tailwindcss-animate-1.0.6.tgz", "integrity": "sha512-4WigSGMvbl3gCCact62ZvOngA+PRqhAn7si3TQ3/ZuPuQZcIEtVap+ENSXbzWhpojKB8CpvnIsrwBu8/RnHtuw==", "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders" @@ -6651,7 +7228,7 @@ }, "node_modules/tapable": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "resolved": "http://bnpm.byted.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "engines": { "node": ">=6" @@ -6659,12 +7236,12 @@ }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dependencies": { "any-promise": "^1.0.0" @@ -6672,7 +7249,7 @@ }, "node_modules/thenify-all": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "resolved": "http://bnpm.byted.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dependencies": { "thenify": ">= 3.1.0 < 4" @@ -6683,7 +7260,7 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "resolved": "http://bnpm.byted.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { "is-number": "^7.0.0" @@ -6692,14 +7269,34 @@ "node": ">=8.0" } }, + "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/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } }, "node_modules/trim-lines": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "resolved": "http://bnpm.byted.org/trim-lines/-/trim-lines-3.0.1.tgz", "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", "funding": { "type": "github", @@ -6708,7 +7305,7 @@ }, "node_modules/trough": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "resolved": "http://bnpm.byted.org/trough/-/trough-2.1.0.tgz", "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", "funding": { "type": "github", @@ -6716,9 +7313,9 @@ } }, "node_modules/ts-api-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", - "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", + "version": "1.0.3", + "resolved": "http://bnpm.byted.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", "engines": { "node": ">=16.13.0" }, @@ -6728,63 +7325,12 @@ }, "node_modules/ts-interface-checker": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "resolved": "http://bnpm.byted.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "optional": true, - "peer": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "optional": true, - "peer": true - }, "node_modules/tsconfig-paths": { "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "resolved": "http://bnpm.byted.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", @@ -6794,30 +7340,30 @@ } }, "node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, "node_modules/tsx": { - "version": "3.12.7", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-3.12.7.tgz", - "integrity": "sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==", + "version": "3.14.0", + "resolved": "http://bnpm.byted.org/tsx/-/tsx-3.14.0.tgz", + "integrity": "sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==", "dev": true, "dependencies": { - "@esbuild-kit/cjs-loader": "^2.4.2", - "@esbuild-kit/core-utils": "^3.0.0", - "@esbuild-kit/esm-loader": "^2.5.5" + "esbuild": "~0.18.20", + "get-tsconfig": "^4.7.2", + "source-map-support": "^0.5.21" }, "bin": { - "tsx": "dist/cli.js" + "tsx": "dist/cli.mjs" }, "optionalDependencies": { - "fsevents": "~2.3.2" + "fsevents": "~2.3.3" } }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "resolved": "http://bnpm.byted.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dependencies": { "prelude-ls": "^1.2.1" @@ -6828,7 +7374,7 @@ }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "resolved": "http://bnpm.byted.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "engines": { "node": ">=10" @@ -6839,7 +7385,7 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "resolved": "http://bnpm.byted.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dependencies": { "call-bind": "^1.0.2", @@ -6852,7 +7398,7 @@ }, "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", + "resolved": "http://bnpm.byted.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", @@ -6869,7 +7415,7 @@ }, "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", + "resolved": "http://bnpm.byted.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dependencies": { "available-typed-arrays": "^1.0.5", @@ -6887,7 +7433,7 @@ }, "node_modules/typed-array-length": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "resolved": "http://bnpm.byted.org/typed-array-length/-/typed-array-length-1.0.4.tgz", "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dependencies": { "call-bind": "^1.0.2", @@ -6900,7 +7446,7 @@ }, "node_modules/typescript": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "resolved": "http://bnpm.byted.org/typescript/-/typescript-5.1.6.tgz", "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", "bin": { "tsc": "bin/tsc", @@ -6912,7 +7458,7 @@ }, "node_modules/unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "resolved": "http://bnpm.byted.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dependencies": { "call-bind": "^1.0.2", @@ -6924,9 +7470,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "http://bnpm.byted.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/unified": { "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "resolved": "http://bnpm.byted.org/unified/-/unified-10.1.2.tgz", "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", "dependencies": { "@types/unist": "^2.0.0", @@ -6944,7 +7495,7 @@ }, "node_modules/unified/node_modules/is-buffer": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "resolved": "http://bnpm.byted.org/is-buffer/-/is-buffer-2.0.5.tgz", "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "funding": [ { @@ -6966,7 +7517,7 @@ }, "node_modules/unist-util-generated": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "resolved": "http://bnpm.byted.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", "funding": { "type": "opencollective", @@ -6975,7 +7526,7 @@ }, "node_modules/unist-util-is": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "resolved": "http://bnpm.byted.org/unist-util-is/-/unist-util-is-5.2.1.tgz", "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", "dependencies": { "@types/unist": "^2.0.0" @@ -6987,7 +7538,7 @@ }, "node_modules/unist-util-position": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "resolved": "http://bnpm.byted.org/unist-util-position/-/unist-util-position-4.0.4.tgz", "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", "dependencies": { "@types/unist": "^2.0.0" @@ -6999,7 +7550,7 @@ }, "node_modules/unist-util-stringify-position": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "resolved": "http://bnpm.byted.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", "dependencies": { "@types/unist": "^2.0.0" @@ -7011,7 +7562,7 @@ }, "node_modules/unist-util-visit": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "resolved": "http://bnpm.byted.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", "dependencies": { "@types/unist": "^2.0.0", @@ -7025,7 +7576,7 @@ }, "node_modules/unist-util-visit-parents": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "resolved": "http://bnpm.byted.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", "dependencies": { "@types/unist": "^2.0.0", @@ -7036,10 +7587,18 @@ "url": "https://opencollective.com/unified" } }, + "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/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.0.13", + "resolved": "http://bnpm.byted.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "funding": [ { "type": "opencollective", @@ -7067,15 +7626,24 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "resolved": "http://bnpm.byted.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", + "resolved": "http://bnpm.byted.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", "dependencies": { "tslib": "^2.0.0" @@ -7095,7 +7663,7 @@ }, "node_modules/use-sidecar": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "resolved": "http://bnpm.byted.org/use-sidecar/-/use-sidecar-1.1.2.tgz", "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", "dependencies": { "detect-node-es": "^1.1.0", @@ -7116,20 +7684,32 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "resolved": "http://bnpm.byted.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "http://bnpm.byted.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, "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==", + "version": "9.0.1", + "resolved": "http://bnpm.byted.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/uvu": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "resolved": "http://bnpm.byted.org/uvu/-/uvu-0.5.6.tgz", "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", "dependencies": { "dequal": "^2.0.0", @@ -7144,24 +7724,9 @@ "node": ">=8" } }, - "node_modules/uvu/node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "optional": true, - "peer": true - }, "node_modules/vfile": { "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "resolved": "http://bnpm.byted.org/vfile/-/vfile-5.3.7.tgz", "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", "dependencies": { "@types/unist": "^2.0.0", @@ -7176,7 +7741,7 @@ }, "node_modules/vfile-message": { "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "resolved": "http://bnpm.byted.org/vfile-message/-/vfile-message-3.1.4.tgz", "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", "dependencies": { "@types/unist": "^2.0.0", @@ -7189,7 +7754,7 @@ }, "node_modules/vfile/node_modules/is-buffer": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "resolved": "http://bnpm.byted.org/is-buffer/-/is-buffer-2.0.5.tgz", "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "funding": [ { @@ -7209,9 +7774,20 @@ "node": ">=4" } }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/watchpack": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "resolved": "http://bnpm.byted.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dependencies": { "glob-to-regexp": "^0.4.1", @@ -7222,30 +7798,55 @@ } }, "node_modules/web-streams-polyfill": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", - "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", "engines": { - "node": ">= 14" + "node": ">= 8" } }, "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==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "engines": { + "node": ">=18" + } }, "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==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" } }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "resolved": "http://bnpm.byted.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { "isexe": "^2.0.0" @@ -7259,7 +7860,7 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "resolved": "http://bnpm.byted.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dependencies": { "is-bigint": "^1.0.1", @@ -7272,13 +7873,52 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "http://bnpm.byted.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": "http://bnpm.byted.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==", + "version": "1.1.12", + "resolved": "http://bnpm.byted.org/which-typed-array/-/which-typed-array-1.1.12.tgz", + "integrity": "sha512-H287jkk4q9wRAQTStQoqm+zGjoMqOxBKAdwnENVwav5/ngW76883g6EwLH9GUPPD7m7yj60xP7wtzQhh6//04w==", "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" @@ -7292,35 +7932,58 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "http://bnpm.byted.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, + "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/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "engines": { + "node": ">=18" + } + }, + "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/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "resolved": "http://bnpm.byted.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "version": "2.3.4", + "resolved": "http://bnpm.byted.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "engines": { "node": ">= 14" } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "resolved": "http://bnpm.byted.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "engines": { "node": ">=10" @@ -7330,19 +7993,19 @@ } }, "node_modules/zod": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", - "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", + "version": "3.22.4", + "resolved": "http://bnpm.byted.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", "funding": { "url": "https://github.com/sponsors/colinhacks" } }, "node_modules/zod-to-json-schema": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.21.4.tgz", - "integrity": "sha512-fjUZh4nQ1s6HMccgIeE0VP4QG/YRGPmyjO9sAh890aQKPEk3nqbfUXhMFaC+Dr5KvYBm8BCyvfpZf2jY9aGSsw==", + "version": "3.22.1", + "resolved": "http://bnpm.byted.org/zod-to-json-schema/-/zod-to-json-schema-3.22.1.tgz", + "integrity": "sha512-bVSWQ2JF3ZglQefafkM+Kk9KQ2fqqSi4VhxWaup1NJX9FS5jDg0EkEioVCWui0PiIQvcXJUjmN71bg672+a+tA==", "peerDependencies": { - "zod": "^3.21.4" + "zod": "^3.22.4" } } } diff --git a/package.json b/package.json index d282e12..96d7ba6 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ "prepare:data": "tsx -r dotenv/config ./src/scripts/pinecone-prepare-docs.ts" }, "dependencies": { + "@douyinfe/semi-icons": "^2.47.1", + "@douyinfe/semi-ui": "^2.47.1", "@pinecone-database/pinecone": "^0.1.6", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.0.5", @@ -20,12 +22,14 @@ "@types/node": "20.4.9", "@types/react": "18.2.19", "@types/react-dom": "18.2.7", + "ahooks": "^3.7.8", "autoprefixer": "10.4.14", "class-variance-authority": "^0.7.0", "clsx": "^2.0.0", "dotenv": "^16.3.1", "eslint": "8.46.0", "eslint-config-next": "13.4.13", + "jsdom": "^23.0.0", "langchain": "^0.0.126", "lucide-react": "^0.265.0", "next": "13.4.12", @@ -35,6 +39,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-markdown": "^8.0.7", + "react-pdf-highlighter": "^6.1.0", "react-wrap-balancer": "^1.0.0", "tailwind-merge": "^1.14.0", "tailwindcss": "3.3.3", @@ -43,6 +48,7 @@ "zod": "^3.21.4" }, "devDependencies": { + "@types/lodash": "^4.14.202", "@types/pdf-parse": "^1.1.1", "tsx": "^3.12.7" } diff --git a/src/app/PdfDisplayer.tsx b/src/app/PdfDisplayer.tsx new file mode 100644 index 0000000..a69ac2f --- /dev/null +++ b/src/app/PdfDisplayer.tsx @@ -0,0 +1,267 @@ +"use client"; + +import React, { Component } from "react"; + +import { + PdfLoader, + AreaHighlight, + Popup +} from "react-pdf-highlighter"; +import { Highlight } from "./components/Highlight"; +import Tip from "./components/Tip"; + +// import type { IHighlight, NewHighlight } from "react-pdf-highlighter"; + +import { Sidebar } from "./Sidebar"; +import { Spinner } from "./Spinner"; +import { testHighlights as _testHighlights } from "./test-highlights"; + +import "./style/App.css"; +import { PdfHighlighter } from "./components/PdfHighlighter"; +import { PdfContext } from "./page"; +import { IHighlight, NewHighlight } from "./types/types"; + +const testHighlights: Record> = _testHighlights; + +interface State { + url: string; +} + +const getNextId = () => String(Math.random()).slice(2); + +const parseIdFromHash = () => + document.location.hash.slice("#highlight-".length); + +export const resetHash = () => { + document.location.hash = ""; +}; + +const HighlightPopup = ({ + comment, +}: { + comment: { text: string; emoji: string }; +}) => + comment.text ? ( +
+ {comment.emoji} {comment.text} +
+ ) : null; + +// https://arxiv.org/pdf/1708.08021.pdf +const PRIMARY_PDF_URL = "https://arxiv.org/pdf/1708.08021.pdf"; +// const PRIMARY_PDF_URL = "file:///Users/bytedance/pdf.js/web/compressed.tracemonkey-pldi-09.pdf"; +const SECONDARY_PDF_URL = "https://arxiv.org/pdf/1604.02480.pdf"; + +const searchParams = new URLSearchParams(document.location.search); + +const initialUrl = searchParams.get("url") || PRIMARY_PDF_URL; + +class PdfDisplayer extends Component<{ + highlights: IHighlight[], + setHighlights: React.Dispatch>, + setSelectedHighlight: React.Dispatch>, + addHighlight?: ((highlight: NewHighlight) => void) | undefined, + setSummary?: React.Dispatch>; + isAIBusy: boolean, + setIsAIBusy?: React.Dispatch>; +}, State> { + state = { + url: initialUrl, + }; + + deleteHighlight = (id: string) => { + const highlightsCopy = [...this.props.highlights]; + this.props.setHighlights(highlightsCopy.filter(i => i.id !== id)); + } + + handleOpenFile = async (file: File) => { + const url = URL.createObjectURL(file); + this.setState({ + url: url, + }); + const key = file.name.replace(/[^a-zA-Z0-9]/g, '').toLowerCase(); + const formData = new FormData(); + formData.append('file', file); + formData.append('key', key); + try { + this.props.setIsAIBusy?.(true); + const response = await fetch("/api/upload", { + method: "POST", + body: formData, + }); + const reader = response?.body?.getReader(); + let streamingSummary = ""; + let tokensEnded = false; + while (true) { + const { done, value } = (await reader?.read()) || {}; + if (done) { + break; + } + const text = new TextDecoder().decode(value); + if (text.includes("tokens-ended") && !tokensEnded) { + tokensEnded = true; + let texts = text.split("tokens-ended"); + if (texts.length > 1) { + streamingSummary = streamingSummary + texts[0]; + } + } else { + streamingSummary = streamingSummary + text; + } + } + console.log("streaming summary", streamingSummary); + this.props.setSummary?.(streamingSummary); + } catch (err) { + console.log(err); + } finally { + this.props.setIsAIBusy?.(false); + } + }; + + scrollViewerTo = (highlight: any) => {}; + + scrollToHighlightFromHash = () => { + const highlight = this.getHighlightById(parseIdFromHash()); + + if (highlight) { + this.scrollViewerTo(highlight); + } + }; + + componentDidMount() { + window.addEventListener( + "hashchange", + this.scrollToHighlightFromHash, + false + ); + } + + getHighlightById(id: string) { + const { highlights } = this.props; + + return highlights.find((highlight) => highlight.id === id); + } + + updateHighlight(highlightId: string, position: Object, content: Object) { + console.log("Updating highlight", highlightId, position, content); + + this.props.setHighlights(this.props.highlights.map((h) => { + const { + id, + position: originalPosition, + content: originalContent, + ...rest + } = h; + return id === highlightId + ? { + id, + position: { ...originalPosition, ...position }, + content: { ...originalContent, ...content }, + ...rest, + } + : h; + })); + } + + render() { + const { url } = this.state; + const { highlights, setHighlights, setSelectedHighlight, setSummary } = this.props; + + return ( +
+ h.isSaved) || []} + deleteHighlight={this.deleteHighlight} + onFileOpen={this.handleOpenFile} + /> +
+ }> + {(pdfDocument) => ( + event.altKey} + onScrollChange={resetHash} + pdfScaleValue="auto" + scrollRef={(scrollTo) => { + this.scrollViewerTo = scrollTo; + + this.scrollToHighlightFromHash(); + }} + onSelectionFinished={( + position, + content, + hideTipAndSelection, + transformSelection + ) => ( + { + const tempHighlight = { content, position, comment }; + this.props.addHighlight?.(tempHighlight); + hideTipAndSelection(); + }} + /> + )} + highlightTransform={( + highlight, + index, + setTip, + hideTip, + viewportToScaled, + screenshot, + isScrolledTo + ) => { + const isTextHighlight = !Boolean( + highlight.content && highlight.content.image + ); + + const component = isTextHighlight ? ( + + ) : ( + { + this.updateHighlight( + highlight.id, + { boundingRect: viewportToScaled(boundingRect) }, + { image: screenshot(boundingRect) } + ); + }} + /> + ); + + return ( + } + onMouseOver={(popupContent) => + setTip(highlight, (highlight) => popupContent) + } + onMouseOut={hideTip} + key={index} + > + {component} + + ); + }} + highlights={highlights} + /> + )} + +
+
+ ); + } +} + +export default PdfDisplayer; diff --git a/src/app/Sidebar.tsx b/src/app/Sidebar.tsx new file mode 100644 index 0000000..855e8ca --- /dev/null +++ b/src/app/Sidebar.tsx @@ -0,0 +1,112 @@ +import React, { useContext, useEffect, useState } from "react"; +import type { IHighlight } from "react-pdf-highlighter"; +import { PdfContext } from "./page"; +import { resetHash } from "./PdfDisplayer"; + +interface Props { + highlights: Array; + deleteHighlight: (id: string) => void; + onFileOpen?: (file: File) => void; +} + +export const updateHash = (highlight: IHighlight) => { + document.location.hash = `highlight-${highlight.id}`; +}; + +declare const APP_VERSION: string; + +export function Sidebar({ + highlights, + deleteHighlight, + onFileOpen +}: Props): React.ReactElement { + const [selectedFile, setSelectedFile] = useState(null); + const { setFileName, setIndexKey } = useContext(PdfContext); + + const handleFileSelection = (event: React.ChangeEvent) => { + if (event.target.files && event.target.files.length > 0) { + setSelectedFile(event.target.files[0]); + } + }; + + useEffect(() => { + if (!selectedFile) { + return; + } + console.log(selectedFile); + setFileName?.(selectedFile.name); + const key = selectedFile.name.replace(/[^a-zA-Z0-9]/g, '').toLowerCase(); + setIndexKey?.(key) + onFileOpen?.(selectedFile); + localStorage.setItem('fileName', selectedFile.name); + }, [selectedFile]); + + return ( +
+
+ +
+ {/* {highlights.length > 0 ? ( +
+ +
+ ) : null} */} + {highlights.length > 0 ? ( +
+ Annotations +
+ ) : null} + +
+ {highlights.map((highlight, index) => ( +
{ + updateHash(highlight); + }} + > +
+ {highlight?.comment?.text} + {highlight?.content?.text ? ( +
+ {`${highlight.content.text.slice(0, 90).trim()}…`} +
+ ) : null} + {highlight?.content?.image ? ( +
+ {"Screenshot"} +
+ ) : null} +
+
+
{ + deleteHighlight(highlight.id); + resetHash(); + }} + > + Delete +
+ Page {highlight?.position?.pageNumber} +
+
+ ))} +
+
+ ); +} diff --git a/src/app/Spinner.tsx b/src/app/Spinner.tsx new file mode 100644 index 0000000..57fd0aa --- /dev/null +++ b/src/app/Spinner.tsx @@ -0,0 +1,30 @@ +import React from "react"; + +import "./style/Spinner.css"; + +export function Spinner() { + return ( +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/app/api/chat/route.ts b/src/app/api/chat/route.ts index 4118600..f811d08 100644 --- a/src/app/api/chat/route.ts +++ b/src/app/api/chat/route.ts @@ -2,7 +2,14 @@ import { NextRequest, NextResponse } from "next/server"; import { callChain } from "@/lib/langchain"; export async function POST(req: NextRequest) { - const { question, chatHistory } = await req.json(); + const { question, phrase, chatHistory, translation, targetLang, indexKey } = await req.json(); + + + if(!indexKey){ + return NextResponse.json("Error: No index key in the request", { + status: 400, + }); + } if (!question) { return NextResponse.json("Error: No question in the request", { @@ -10,12 +17,19 @@ export async function POST(req: NextRequest) { }); } + let realPhrase="" + realPhrase= phrase||"" + + let realQuestion= "\""+realPhrase+"\""+question try { const transformStream = new TransformStream(); const readableStream = callChain({ - question, + question: realQuestion, chatHistory, transformStream, + translation: translation || question.includes("translate"), + targetLang: targetLang || "Chinese", + indexKey:indexKey||"a", }); return new Response(await readableStream); diff --git a/src/app/api/explain/route.ts b/src/app/api/explain/route.ts new file mode 100644 index 0000000..dbaa299 --- /dev/null +++ b/src/app/api/explain/route.ts @@ -0,0 +1,29 @@ +import { NextRequest, NextResponse } from "next/server"; +import { callDirectQuery } from "@/lib/direct-query"; + +export async function POST(req: NextRequest) { + const { language, question } = await req.json(); + + if (!question) { + return NextResponse.json("Error: No question in the request", { + status: 400, + }); + } + + try { + const transformStream = new TransformStream(); + const readableStream = callDirectQuery({ + language, + question, + transformStream, + useExplainTemplate:true, + }); + + return new Response(await readableStream); + } catch (error) { + console.log("Internal server error ", error, 1234); + return NextResponse.json("Error: Something went wrong. Try again!", { + status: 500, + }); + } +} diff --git a/src/app/api/translate/route.ts b/src/app/api/translate/route.ts new file mode 100644 index 0000000..0414d1b --- /dev/null +++ b/src/app/api/translate/route.ts @@ -0,0 +1,28 @@ +import { NextRequest, NextResponse } from "next/server"; +import { callDirectQuery } from "@/lib/direct-query"; + +export async function POST(req: NextRequest) { + const { language, question } = await req.json(); + + if (!question) { + return NextResponse.json("Error: No question in the request", { + status: 400, + }); + } + + try { + const transformStream = new TransformStream(); + const readableStream = callDirectQuery({ + language, + question, + transformStream, + }); + + return new Response(await readableStream); + } catch (error) { + console.log("Internal server error ", error, 1234); + return NextResponse.json("Error: Something went wrong. Try again!", { + status: 500, + }); + } +} diff --git a/src/app/api/upload/route.ts b/src/app/api/upload/route.ts new file mode 100644 index 0000000..345d07c --- /dev/null +++ b/src/app/api/upload/route.ts @@ -0,0 +1,47 @@ +import { NextRequest, NextResponse } from "next/server"; +import { getChunkedDocsFromPDF } from "@/lib/pdf-loader"; +import { pineconeEmbedAndStore } from "@/lib/vector-store"; +import { getPineconeClient } from "@/lib/pinecone-client"; +import { summarize } from "@/lib/summarize"; + + +export async function POST(req: NextRequest) { + const formData = await req.formData(); + const file = formData.get("file") as File; + if (!file) { + return NextResponse.json("Error: No file in the request", { + status: 400, + }); + } + const key = formData.get("key") as string; + if (!key) { + return NextResponse.json("Error: No key in the request", { + status: 400, + }); + } + try { + + const pineconeClient = await getPineconeClient(key,true, file); + if (pineconeClient===null){ + return + } + console.log("Preparing chunks from PDF file", 1234343); + const docs = await getChunkedDocsFromPDF(file); + console.log(`Loading ${docs.length} chunks into pinecone...`); + await pineconeEmbedAndStore(pineconeClient, docs,key); + console.log("Data embedded and stored in pine-cone index"); + const transformStream = new TransformStream(); + const readableStream = summarize({ + docs, + transformStream, + }); + + return new Response(await readableStream); + } + catch (error) { + console.error("Internal server error ", error); + return NextResponse.json("Error: Something went wrong. Try again!", { + status: 500, + }); + } +} \ No newline at end of file diff --git a/src/app/components/AreaHighlight.tsx b/src/app/components/AreaHighlight.tsx new file mode 100644 index 0000000..178f38a --- /dev/null +++ b/src/app/components/AreaHighlight.tsx @@ -0,0 +1,67 @@ +import React, { Component } from "react"; + +import { Rnd } from "react-rnd"; +import { getPageFromElement } from "../lib/pdfjs-dom"; + +import "../style/AreaHighlight.css"; + +import type { LTWHP, ViewportHighlight } from "../types"; + +interface Props { + highlight: ViewportHighlight; + onChange: (rect: LTWHP) => void; + isScrolledTo: boolean; +} + +export class AreaHighlight extends Component { + render() { + const { highlight, onChange, isScrolledTo, ...otherProps } = this.props; + + return ( +
+ { + const boundingRect: LTWHP = { + ...highlight.position.boundingRect, + top: data.y, + left: data.x, + }; + + onChange(boundingRect); + }} + onResizeStop={(_mouseEvent, _direction, ref, _delta, position) => { + const boundingRect: LTWHP = { + top: position.y, + left: position.x, + width: ref.offsetWidth, + height: ref.offsetHeight, + pageNumber: getPageFromElement(ref)?.number || -1, + }; + + onChange(boundingRect); + }} + position={{ + x: highlight.position.boundingRect.left, + y: highlight.position.boundingRect.top, + }} + size={{ + width: highlight.position.boundingRect.width, + height: highlight.position.boundingRect.height, + }} + onClick={(event: Event) => { + event.stopPropagation(); + event.preventDefault(); + }} + {...otherProps} + /> +
+ ); + } +} + +export default AreaHighlight; diff --git a/src/app/components/Highlight.tsx b/src/app/components/Highlight.tsx new file mode 100644 index 0000000..1d8aa92 --- /dev/null +++ b/src/app/components/Highlight.tsx @@ -0,0 +1,72 @@ +import React, { Component } from "react"; + +import "../style/Highlight.css"; + +import type { IHighlight, LTWHP } from "../types/types"; +import { updateHash } from "../Sidebar"; + +interface Props { + position: { + boundingRect: LTWHP; + rects: Array; + }; + onClick?: () => void; + onMouseOver?: () => void; + onMouseOut?: () => void; + comment: { + emoji: string; + text: string; + }; + highlight: IHighlight; + isScrolledTo: boolean; +} + +export class Highlight extends Component { + render() { + const { + position, + onClick, + onMouseOver, + onMouseOut, + comment, + highlight, + isScrolledTo, + } = this.props; + + const { rects, boundingRect } = position; + + return ( +
updateHash(highlight)} + > + {comment ? ( +
+ {comment.emoji} +
+ ) : null} +
+ {rects.map((rect, index) => ( +
+ ))} +
+
+ ); + } +} + +export default Highlight; diff --git a/src/app/components/HighlightLayer.tsx b/src/app/components/HighlightLayer.tsx new file mode 100644 index 0000000..2e087da --- /dev/null +++ b/src/app/components/HighlightLayer.tsx @@ -0,0 +1,91 @@ +import { viewportToScaled } from "../../lib/coordinates"; +import React from "react"; +import { + IHighlight, + LTWH, + LTWHP, + Position, + Scaled, + ScaledPosition, +} from "../types/types"; + +interface HighlightLayerProps { + highlightsByPage: { [pageNumber: string]: Array }; + pageNumber: string; + scrolledToHighlightId: string; + highlightTransform: ( + highlight: any, + index: number, + setTip: (highlight: any, callback: (highlight: any) => JSX.Element) => void, + hideTip: () => void, + viewportToScaled: (rect: LTWHP) => Scaled, + screenshot: (position: LTWH) => string, + isScrolledTo: boolean + ) => JSX.Element; + tip: { + highlight: any; + callback: (highlight: any) => JSX.Element; + } | null; + scaledPositionToViewport: (scaledPosition: ScaledPosition) => Position; + hideTipAndSelection: () => void; + viewer: any; + screenshot: (position: LTWH, pageNumber: number) => string; + showTip: (highlight: any, content: JSX.Element) => void; + setState: (state: any) => void; +} + +export function HighlightLayer({ + highlightsByPage, + scaledPositionToViewport, + pageNumber, + scrolledToHighlightId, + highlightTransform, + tip, + hideTipAndSelection, + viewer, + screenshot, + showTip, + setState, +}: HighlightLayerProps) { + const currentHighlights = highlightsByPage[String(pageNumber)] || []; + return ( +
+ {currentHighlights.map(({ position, id, ...highlight }, index) => { + // @ts-ignore + const viewportHighlight: any = { + id, + position: scaledPositionToViewport(position), + ...highlight, + }; + + if (tip && tip.highlight.id === String(id)) { + showTip(tip.highlight, tip.callback(viewportHighlight)); + } + + const isScrolledTo = Boolean(scrolledToHighlightId === id); + + return highlightTransform( + viewportHighlight, + index, + (highlight, callback) => { + setState({ + tip: { highlight, callback }, + }); + + showTip(highlight, callback(highlight)); + }, + hideTipAndSelection, + (rect) => { + const viewport = viewer.getPageView( + (rect.pageNumber || parseInt(pageNumber)) - 1 + ).viewport; + + return viewportToScaled(rect, viewport); + }, + (boundingRect) => screenshot(boundingRect, parseInt(pageNumber)), + isScrolledTo + ); + })} +
+ ); +} diff --git a/src/app/components/MouseMonitor.tsx b/src/app/components/MouseMonitor.tsx new file mode 100644 index 0000000..20c44c5 --- /dev/null +++ b/src/app/components/MouseMonitor.tsx @@ -0,0 +1,62 @@ +import React, { Component } from "react"; + +interface Props { + onMoveAway: () => void; + paddingX: number; + paddingY: number; + children: JSX.Element; +} + +class MouseMonitor extends Component { + container: HTMLDivElement | null = null; + unsubscribe = () => {}; + + onMouseMove = (event: MouseEvent) => { + if (!this.container) { + return; + } + + const { onMoveAway, paddingX, paddingY } = this.props; + + const { clientX, clientY } = event; + + // TODO: see if possible to optimize + const { left, top, width, height } = this.container.getBoundingClientRect(); + + const inBoundsX = + clientX > left - paddingX && clientX < left + width + paddingX; + const inBoundsY = + clientY > top - paddingY && clientY < top + height + paddingY; + + const isNear = inBoundsX && inBoundsY; + + if (!isNear) { + onMoveAway(); + } + }; + + attachRef = (ref: HTMLDivElement | null) => { + this.container = ref; + this.unsubscribe(); + + if (ref) { + const { ownerDocument: doc } = ref; + doc.addEventListener("mousemove", this.onMouseMove); + this.unsubscribe = () => { + doc.removeEventListener("mousemove", this.onMouseMove); + }; + } + }; + + render() { + // eslint-disable-next-line + const { onMoveAway, paddingX, paddingY, children, ...restProps } = + this.props; + + return ( +
{React.cloneElement(children, restProps)}
+ ); + } +} + +export default MouseMonitor; diff --git a/src/app/components/MouseSelection.tsx b/src/app/components/MouseSelection.tsx new file mode 100644 index 0000000..6129bc6 --- /dev/null +++ b/src/app/components/MouseSelection.tsx @@ -0,0 +1,212 @@ +import React, { Component } from "react"; + +import { asElement, isHTMLElement } from "../../lib/pdfjs-dom"; +import "../style/MouseSelection.css"; + +import type { LTWH } from "../types/types"; + +interface Coords { + x: number; + y: number; +} + +interface State { + locked: boolean; + start: Coords | null; + end: Coords | null; +} + +interface Props { + onSelection: ( + startTarget: HTMLElement, + boundingRect: LTWH, + resetSelection: () => void + ) => void; + onDragStart: () => void; + onDragEnd: () => void; + shouldStart: (event: MouseEvent) => boolean; + onChange: (isVisible: boolean) => void; +} + +class MouseSelection extends Component { + state: State = { + locked: false, + start: null, + end: null, + }; + + root?: HTMLElement; + + reset = () => { + const { onDragEnd } = this.props; + + onDragEnd(); + this.setState({ start: null, end: null, locked: false }); + }; + + getBoundingRect(start: Coords, end: Coords): LTWH { + return { + left: Math.min(end.x, start.x), + top: Math.min(end.y, start.y), + + width: Math.abs(end.x - start.x), + height: Math.abs(end.y - start.y), + }; + } + + componentDidUpdate() { + const { onChange } = this.props; + const { start, end } = this.state; + + const isVisible = Boolean(start && end); + + onChange(isVisible); + } + + componentDidMount() { + if (!this.root) { + return; + } + + const that = this; + + const { onSelection, onDragStart, onDragEnd, shouldStart } = this.props; + + const container = asElement(this.root.parentElement); + + if (!isHTMLElement(container)) { + return; + } + + let containerBoundingRect: DOMRect | null = null; + + const containerCoords = (pageX: number, pageY: number) => { + if (!containerBoundingRect) { + containerBoundingRect = container.getBoundingClientRect(); + } + + return { + x: pageX - containerBoundingRect.left + container.scrollLeft, + y: + pageY - + containerBoundingRect.top + + container.scrollTop - + window.scrollY, + }; + }; + + container.addEventListener("mousemove", (event: MouseEvent) => { + const { start, locked } = this.state; + + if (!start || locked) { + return; + } + + that.setState({ + ...this.state, + end: containerCoords(event.pageX, event.pageY), + }); + }); + + container.addEventListener("mousedown", (event: MouseEvent) => { + if (!shouldStart(event)) { + this.reset(); + return; + } + + const startTarget = asElement(event.target); + if (!isHTMLElement(startTarget)) { + return; + } + + onDragStart(); + + this.setState({ + start: containerCoords(event.pageX, event.pageY), + end: null, + locked: false, + }); + + const onMouseUp = (event: MouseEvent): void => { + // emulate listen once + event.currentTarget?.removeEventListener( + "mouseup", + onMouseUp as EventListener + ); + + const { start } = this.state; + + if (!start) { + return; + } + + const end = containerCoords(event.pageX, event.pageY); + + const boundingRect = that.getBoundingRect(start, end); + + if ( + !isHTMLElement(event.target) || + !container.contains(asElement(event.target)) || + !that.shouldRender(boundingRect) + ) { + that.reset(); + return; + } + + that.setState( + { + end, + locked: true, + }, + () => { + const { start, end } = that.state; + + if (!start || !end) { + return; + } + + if (isHTMLElement(event.target)) { + onSelection(startTarget, boundingRect, that.reset); + + onDragEnd(); + } + } + ); + }; + + const { ownerDocument: doc } = container; + if (doc.body) { + doc.body.addEventListener("mouseup", onMouseUp); + } + }); + } + + shouldRender(boundingRect: LTWH) { + return boundingRect.width >= 1 && boundingRect.height >= 1; + } + + render() { + const { start, end } = this.state; + + return ( +
{ + if (!node) { + return; + } + this.root = node; + }} + > + {start && end ? ( +
+ ) : null} +
+ ); + } +} + +export default MouseSelection; diff --git a/src/app/components/PdfHighlighter.tsx b/src/app/components/PdfHighlighter.tsx new file mode 100644 index 0000000..d12d3a0 --- /dev/null +++ b/src/app/components/PdfHighlighter.tsx @@ -0,0 +1,675 @@ +import "pdfjs-dist/web/pdf_viewer.css"; +import "../style/pdf_viewer.css"; +import "../style/PdfHighlighter.css"; + +import { + EventBus, + NullL10n, + PDFLinkService, + PDFViewer, +} from "pdfjs-dist/legacy/web/pdf_viewer"; +import type { + IHighlight, + LTWH, + LTWHP, + Position, + Scaled, + ScaledPosition, +} from "../types/types"; +import React, { PointerEventHandler, PureComponent, RefObject } from "react"; +import { + asElement, + findOrCreateContainerLayer, + getPageFromElement, + getPagesFromRange, + getWindow, + isHTMLElement, +} from "../../lib/pdfjs-dom"; +import { scaledToViewport, viewportToScaled } from "../../lib/coordinates"; +import MouseSelection from "./MouseSelection"; +import type { PDFDocumentProxy } from "pdfjs-dist"; +import TipContainer from "./TipContainer"; +import { createRoot, Root } from "react-dom/client"; +import { debounce } from "lodash"; +import getAreaAsPng from "../../lib/get-area-as-png"; +import getBoundingRect from "../../lib/get-bounding-rect"; +import getClientRects from "../../lib/get-client-rects"; +import { HighlightLayer } from "./HighlightLayer"; + +export type T_ViewportHighlight = { position: Position } & T_HT; + +interface State { + ghostHighlight: { + position: ScaledPosition; + content?: { text?: string; image?: string }; + } | null; + isCollapsed: boolean; + range: Range | null; + tip: { + highlight: T_ViewportHighlight; + callback: (highlight: T_ViewportHighlight) => JSX.Element; + } | null; + tipPosition: Position | null; + tipChildren: JSX.Element | null; + isAreaSelectionInProgress: boolean; + scrolledToHighlightId: string; +} + +interface Props { + highlightTransform: ( + highlight: T_ViewportHighlight, + index: number, + setTip: ( + highlight: T_ViewportHighlight, + callback: (highlight: T_ViewportHighlight) => JSX.Element + ) => void, + hideTip: () => void, + viewportToScaled: (rect: LTWHP) => Scaled, + screenshot: (position: LTWH) => string, + isScrolledTo: boolean + ) => JSX.Element; + highlights: Array; + onScrollChange: () => void; + scrollRef: (scrollTo: (highlight: T_HT) => void) => void; + pdfDocument: PDFDocumentProxy; + pdfScaleValue: string; + onSelectionFinished: ( + position: ScaledPosition, + content: { text?: string; image?: string }, + hideTipAndSelection: () => void, + transformSelection: () => void + ) => JSX.Element | null; + enableAreaSelection: (event: MouseEvent) => boolean; +} + +const EMPTY_ID = "empty-id"; + +export class PdfHighlighter extends PureComponent< + Props, + State +> { + static defaultProps = { + pdfScaleValue: "auto", + }; + + state: State = { + ghostHighlight: null, + isCollapsed: true, + range: null, + scrolledToHighlightId: EMPTY_ID, + isAreaSelectionInProgress: false, + tip: null, + tipPosition: null, + tipChildren: null, + }; + + eventBus = new EventBus(); + linkService = new PDFLinkService({ + eventBus: this.eventBus, + externalLinkTarget: 2, + }); + + viewer!: PDFViewer; + + resizeObserver: ResizeObserver | null = null; + containerNode?: HTMLDivElement | null = null; + containerNodeRef: RefObject; + highlightRoots: { + [page: number]: { reactRoot: Root; container: Element }; + } = {}; + unsubscribe = () => {}; + + constructor(props: Props) { + super(props); + if (typeof ResizeObserver !== "undefined") { + this.resizeObserver = new ResizeObserver(this.debouncedScaleValue); + } + this.containerNodeRef = React.createRef(); + } + + componentDidMount() { + this.init(); + } + + attachRef = () => { + const { eventBus, resizeObserver: observer } = this; + const ref = (this.containerNode = this.containerNodeRef!.current); + this.unsubscribe(); + + if (ref) { + const { ownerDocument: doc } = ref; + eventBus.on("textlayerrendered", this.onTextLayerRendered); + eventBus.on("pagesinit", this.onDocumentReady); + doc.addEventListener("selectionchange", this.onSelectionChange); + doc.addEventListener("keydown", this.handleKeyDown); + doc.defaultView?.addEventListener("resize", this.debouncedScaleValue); + if (observer) observer.observe(ref); + + this.unsubscribe = () => { + eventBus.off("pagesinit", this.onDocumentReady); + eventBus.off("textlayerrendered", this.onTextLayerRendered); + doc.removeEventListener("selectionchange", this.onSelectionChange); + doc.removeEventListener("keydown", this.handleKeyDown); + doc.defaultView?.removeEventListener( + "resize", + this.debouncedScaleValue + ); + if (observer) observer.disconnect(); + }; + } + }; + + componentDidUpdate(prevProps: Props) { + if (prevProps.pdfDocument !== this.props.pdfDocument) { + this.init(); + return; + } + if (prevProps.highlights !== this.props.highlights) { + this.renderHighlightLayers(); + } + } + + init() { + const { pdfDocument } = this.props; + this.attachRef(); + + this.viewer = + this.viewer || + new PDFViewer({ + container: this.containerNodeRef!.current!, + eventBus: this.eventBus, + // enhanceTextSelection: true, // deprecated. https://github.com/mozilla/pdf.js/issues/9943#issuecomment-409369485 + textLayerMode: 2, + removePageBorders: true, + linkService: this.linkService, + l10n: NullL10n, + }); + + this.linkService.setDocument(pdfDocument); + this.linkService.setViewer(this.viewer); + this.viewer.setDocument(pdfDocument); + // debug + (window as any).PdfViewer = this; + } + + componentWillUnmount() { + this.unsubscribe(); + } + + findOrCreateHighlightLayer(page: number) { + const { textLayer } = this.viewer.getPageView(page - 1) || {}; + + if (!textLayer) { + return null; + } + + return findOrCreateContainerLayer( + textLayer.textLayerDiv, + "PdfHighlighter__highlight-layer" + ); + } + + groupHighlightsByPage(highlights: Array): { + [pageNumber: string]: Array; + } { + const { ghostHighlight } = this.state; + + const allHighlights = [...highlights, ghostHighlight].filter(Boolean); + + const pageNumbers = new Set(); + for (const highlight of allHighlights) { + pageNumbers.add(highlight!.position?.pageNumber); + if (highlight!.position?.rects) { + for (const rect of highlight!.position.rects) { + if (rect.pageNumber) { + pageNumbers.add(rect?.pageNumber); + } + } + } + } + + const groupedHighlights = {} as Record; + + for (const pageNumber of pageNumbers) { + groupedHighlights[pageNumber] = groupedHighlights[pageNumber] || []; + for (const highlight of allHighlights) { + const pageSpecificHighlight = { + ...highlight, + position: { + pageNumber, + boundingRect: highlight!.position.boundingRect, + rects: [], + usePdfCoordinates: highlight!.position.usePdfCoordinates, + } as ScaledPosition, + }; + let anyRectsOnPage = false; + for (const rect of highlight!.position.rects) { + if ( + pageNumber === (rect.pageNumber || highlight!.position.pageNumber) + ) { + pageSpecificHighlight.position.rects.push(rect); + anyRectsOnPage = true; + } + } + if (anyRectsOnPage || pageNumber === highlight!.position.pageNumber) { + groupedHighlights[pageNumber].push(pageSpecificHighlight); + } + } + } + + return groupedHighlights; + } + + showTip(highlight: T_ViewportHighlight, content: JSX.Element) { + const { isCollapsed, ghostHighlight, isAreaSelectionInProgress } = + this.state; + + const highlightInProgress = !isCollapsed || ghostHighlight; + + if (highlightInProgress || isAreaSelectionInProgress) { + return; + } + + this.setTip(highlight.position, content); + } + + scaledPositionToViewport({ + pageNumber, + boundingRect, + rects, + usePdfCoordinates, + }: ScaledPosition): Position { + const viewport = this.viewer.getPageView(pageNumber - 1).viewport; + + return { + boundingRect: scaledToViewport(boundingRect, viewport, usePdfCoordinates), + rects: (rects || []).map((rect) => + scaledToViewport(rect, viewport, usePdfCoordinates) + ), + pageNumber, + }; + } + + viewportPositionToScaled({ + pageNumber, + boundingRect, + rects, + }: Position): ScaledPosition { + const viewport = this.viewer.getPageView(pageNumber - 1).viewport; + + return { + boundingRect: viewportToScaled(boundingRect, viewport), + rects: (rects || []).map((rect) => viewportToScaled(rect, viewport)), + pageNumber, + }; + } + + screenshot(position: LTWH, pageNumber: number) { + const canvas = this.viewer.getPageView(pageNumber - 1).canvas; + + return getAreaAsPng(canvas, position); + } + + hideTipAndSelection = () => { + this.setState({ + tipPosition: null, + tipChildren: null, + }); + + this.setState({ ghostHighlight: null, tip: null }, () => + this.renderHighlightLayers() + ); + }; + + setTip(position: Position, inner: JSX.Element | null) { + this.setState({ + tipPosition: position, + tipChildren: inner, + }); + } + + renderTip = () => { + const { tipPosition, tipChildren } = this.state; + if (!tipPosition) return null; + + const { boundingRect, pageNumber } = tipPosition; + const page = { + node: this.viewer.getPageView((boundingRect.pageNumber || pageNumber) - 1) + .div, + pageNumber: boundingRect.pageNumber || pageNumber, + }; + + const pageBoundingClientRect = page.node.getBoundingClientRect(); + + const pageBoundingRect = { + bottom: pageBoundingClientRect.bottom, + height: pageBoundingClientRect.height, + left: pageBoundingClientRect.left, + right: pageBoundingClientRect.right, + top: pageBoundingClientRect.top, + width: pageBoundingClientRect.width, + x: pageBoundingClientRect.x, + y: pageBoundingClientRect.y, + pageNumber: page.pageNumber, + }; + + return ( + + {tipChildren} + + ); + }; + + onTextLayerRendered = () => { + this.renderHighlightLayers(); + }; + + scrollTo = (highlight: T_HT) => { + const { pageNumber, boundingRect, usePdfCoordinates } = highlight.position; + + this.viewer.container.removeEventListener("scroll", this.onScroll); + + const pageViewport = this.viewer.getPageView(pageNumber - 1).viewport; + + const scrollMargin = window.innerHeight * 0.35; + + this.viewer.scrollPageIntoView({ + pageNumber, + destArray: [ + null, + { name: "XYZ" }, + ...pageViewport.convertToPdfPoint( + 0, + scaledToViewport(boundingRect, pageViewport, usePdfCoordinates).top - + scrollMargin + ), + 0, + ], + }); + + this.setState( + { + scrolledToHighlightId: highlight.id, + }, + () => this.renderHighlightLayers() + ); + + // wait for scrolling to finish + setTimeout(() => { + this.viewer.container.addEventListener("scroll", this.onScroll); + }, 100); + }; + + onDocumentReady = () => { + const { scrollRef } = this.props; + + this.handleScaleValue(); + + scrollRef(this.scrollTo); + }; + + onSelectionChange = () => { + const container = this.containerNode; + const selection = getWindow(container).getSelection(); + + if (!selection) { + return; + } + + const range = selection.rangeCount > 0 ? selection.getRangeAt(0) : null; + + if (selection.isCollapsed) { + this.setState({ isCollapsed: true }); + return; + } + + if ( + !range || + !container || + !container.contains(range.commonAncestorContainer) + ) { + return; + } + + this.setState({ + isCollapsed: false, + range, + }); + + this.debouncedAfterSelection(); + }; + + onScroll = () => { + const { onScrollChange } = this.props; + + // onScrollChange(); + + // this.setState( + // { + // scrolledToHighlightId: EMPTY_ID, + // }, + // () => this.renderHighlightLayers() + // ); + + this.viewer.container.removeEventListener("scroll", this.onScroll); + }; + + onMouseDown: PointerEventHandler = (event) => { + if (!isHTMLElement(event.target)) { + return; + } + + if (asElement(event.target).closest(".PdfHighlighter__tip-container")) { + return; + } + + this.hideTipAndSelection(); + }; + + handleKeyDown = (event: KeyboardEvent) => { + if (event.code === "Escape") { + this.hideTipAndSelection(); + } + }; + + afterSelection = () => { + const { onSelectionFinished } = this.props; + + const { isCollapsed, range } = this.state; + + if (!range || isCollapsed) { + return; + } + + const pages = getPagesFromRange(range); + + if (!pages || pages.length === 0) { + return; + } + + const rects = getClientRects(range, pages); + + if (rects.length === 0) { + return; + } + + const boundingRect = getBoundingRect(rects); + + const viewportPosition: Position = { + boundingRect, + rects, + pageNumber: pages[0].number, + }; + + const content = { + text: range.toString(), + }; + const scaledPosition = this.viewportPositionToScaled(viewportPosition); + + this.setTip( + viewportPosition, + onSelectionFinished( + scaledPosition, + content, + () => this.hideTipAndSelection(), + () => + this.setState( + { + ghostHighlight: { position: scaledPosition }, + }, + () => this.renderHighlightLayers() + ) + ) + ); + }; + + debouncedAfterSelection: () => void = debounce(this.afterSelection, 500); + + toggleTextSelection(flag: boolean) { + this.viewer.viewer!.classList.toggle( + "PdfHighlighter--disable-selection", + flag + ); + } + + handleScaleValue = () => { + if (this.viewer) { + this.viewer.currentScaleValue = this.props.pdfScaleValue; //"page-width"; + } + }; + + debouncedScaleValue: () => void = debounce(this.handleScaleValue, 500); + + render() { + const { onSelectionFinished, enableAreaSelection } = this.props; + + return ( +
+
e.preventDefault()} + > +
+ {this.renderTip()} + {typeof enableAreaSelection === "function" ? ( + this.toggleTextSelection(true)} + onDragEnd={() => this.toggleTextSelection(false)} + onChange={(isVisible) => + this.setState({ isAreaSelectionInProgress: isVisible }) + } + shouldStart={(event) => + enableAreaSelection(event) && + isHTMLElement(event.target) && + Boolean(asElement(event.target).closest(".page")) + } + onSelection={(startTarget, boundingRect, resetSelection) => { + const page = getPageFromElement(startTarget); + + if (!page) { + return; + } + + const pageBoundingRect = { + ...boundingRect, + top: boundingRect.top - page.node.offsetTop, + left: boundingRect.left - page.node.offsetLeft, + pageNumber: page.number, + }; + + const viewportPosition = { + boundingRect: pageBoundingRect, + rects: [], + pageNumber: page.number, + }; + + const scaledPosition = + this.viewportPositionToScaled(viewportPosition); + + const image = this.screenshot( + pageBoundingRect, + pageBoundingRect.pageNumber + ); + + this.setTip( + viewportPosition, + onSelectionFinished( + scaledPosition, + { image }, + () => this.hideTipAndSelection(), + () => { + console.log("setting ghost highlight", scaledPosition); + this.setState( + { + ghostHighlight: { + position: scaledPosition, + content: { image }, + }, + }, + () => { + resetSelection(); + this.renderHighlightLayers(); + } + ); + } + ) + ); + }} + /> + ) : null} +
+
+ ); + } + + private renderHighlightLayers() { + const { pdfDocument } = this.props; + for (let pageNumber = 1; pageNumber <= pdfDocument.numPages; pageNumber++) { + const highlightRoot = this.highlightRoots[pageNumber]; + /** Need to check if container is still attached to the DOM as PDF.js can unload pages. */ + if (highlightRoot && highlightRoot.container.isConnected) { + this.renderHighlightLayer(highlightRoot.reactRoot, pageNumber); + } else { + const highlightLayer = this.findOrCreateHighlightLayer(pageNumber); + if (highlightLayer) { + const reactRoot = createRoot(highlightLayer); + this.highlightRoots[pageNumber] = { + reactRoot, + container: highlightLayer, + }; + this.renderHighlightLayer(reactRoot, pageNumber); + } + } + } + } + + private renderHighlightLayer(root: Root, pageNumber: number) { + const { highlightTransform, highlights } = this.props; + const { tip, scrolledToHighlightId } = this.state; + root.render( + + ); + } +} diff --git a/src/app/components/PdfLoader.tsx b/src/app/components/PdfLoader.tsx new file mode 100644 index 0000000..2792fa6 --- /dev/null +++ b/src/app/components/PdfLoader.tsx @@ -0,0 +1,117 @@ +import React, { Component } from "react"; + +import { getDocument, GlobalWorkerOptions } from "pdfjs-dist/legacy/build/pdf"; +import type { PDFDocumentProxy } from "pdfjs-dist"; + +interface Props { + /** See `GlobalWorkerOptionsType`. */ + workerSrc: string; + + url: string; + beforeLoad: JSX.Element; + errorMessage?: JSX.Element; + children: (pdfDocument: PDFDocumentProxy) => JSX.Element; + onError?: (error: Error) => void; + cMapUrl?: string; + cMapPacked?: boolean; +} + +interface State { + pdfDocument: PDFDocumentProxy | null; + error: Error | null; +} + +export class PdfLoader extends Component { + state: State = { + pdfDocument: null, + error: null, + }; + + static defaultProps = { + workerSrc: "https://unpkg.com/pdfjs-dist@2.16.105/build/pdf.worker.min.js", + }; + + documentRef = React.createRef(); + + componentDidMount() { + this.load(); + } + + componentWillUnmount() { + const { pdfDocument: discardedDocument } = this.state; + if (discardedDocument) { + discardedDocument.destroy(); + } + } + + componentDidUpdate({ url }: Props) { + if (this.props.url !== url) { + this.load(); + } + } + + componentDidCatch(error: Error, info?: any) { + const { onError } = this.props; + + if (onError) { + onError(error); + } + + this.setState({ pdfDocument: null, error }); + } + + load() { + const { ownerDocument = document } = this.documentRef.current || {}; + const { url, cMapUrl, cMapPacked, workerSrc } = this.props; + const { pdfDocument: discardedDocument } = this.state; + this.setState({ pdfDocument: null, error: null }); + + if (typeof workerSrc === "string") { + GlobalWorkerOptions.workerSrc = workerSrc; + } + + Promise.resolve() + .then(() => discardedDocument && discardedDocument.destroy()) + .then(() => { + if (!url) { + return; + } + + return getDocument({ + ...this.props, + ownerDocument, + cMapUrl, + cMapPacked, + }).promise.then((pdfDocument) => { + this.setState({ pdfDocument }); + }); + }) + .catch((e) => this.componentDidCatch(e)); + } + + render() { + const { children, beforeLoad } = this.props; + const { pdfDocument, error } = this.state; + return ( + <> + + {error + ? this.renderError() + : !pdfDocument || !children + ? beforeLoad + : children(pdfDocument)} + + ); + } + + renderError() { + const { errorMessage } = this.props; + if (errorMessage) { + return React.cloneElement(errorMessage, { error: this.state.error }); + } + + return null; + } +} + +export default PdfLoader; diff --git a/src/app/components/Popup.tsx b/src/app/components/Popup.tsx new file mode 100644 index 0000000..343f4c1 --- /dev/null +++ b/src/app/components/Popup.tsx @@ -0,0 +1,54 @@ +import React, { Component } from "react"; + +import MouseMonitor from "./MouseMonitor"; + +interface Props { + onMouseOver: (content: JSX.Element) => void; + popupContent: JSX.Element; + onMouseOut: () => void; + children: JSX.Element; +} + +interface State { + mouseIn: boolean; +} + +export class Popup extends Component { + state: State = { + mouseIn: false, + }; + + render() { + const { onMouseOver, popupContent, onMouseOut } = this.props; + + return ( +
{ + this.setState({ mouseIn: true }); + + onMouseOver( + { + if (this.state.mouseIn) { + return; + } + + onMouseOut(); + }} + paddingX={60} + paddingY={30} + children={popupContent} + /> + ); + }} + onMouseOut={() => { + this.setState({ mouseIn: false }); + }} + > + {this.props.children} +
+ ); + } +} + +export default Popup; diff --git a/src/app/components/Tip.tsx b/src/app/components/Tip.tsx new file mode 100644 index 0000000..db729e1 --- /dev/null +++ b/src/app/components/Tip.tsx @@ -0,0 +1,82 @@ +import React, { + Component, + useContext, + useEffect, + useRef, + useState, +} from "react"; +import { Button, Popover } from "@douyinfe/semi-ui"; +import { IconCustomerSupport, IconLanguage } from "@douyinfe/semi-icons"; +import { PdfContext } from "@/app/page"; + +import "../style/Tip.css"; + +interface State { + compact: boolean; + text: string; + emoji: string; +} + +interface TipProps { + onConfirm: (comment: { text: string; emoji: string }) => void; + onOpen: () => void; + onUpdate?: () => void; +} + +const Tip = ({ onConfirm, onOpen, onUpdate }: TipProps) => { + const { setShowChat, setSelectedText, setAiMode } = useContext(PdfContext); + const [state, setState] = useState({ + compact: true, + text: "", + emoji: "", + }); + + const prevState = useRef(state); + + useEffect(() => { + if (onUpdate && prevState.current.compact !== state.compact) { + onUpdate(); + } + prevState.current = state; + }, [state, onUpdate]); + + const { compact, text, emoji } = state; + + const onClickAction = (aiMode: 'chat' | 'translate') => { + setAiMode?.(aiMode); + setShowChat?.(true); + setSelectedText?.(window.getSelection()?.toString() || ""); + onOpen(); + onConfirm({ + text: '', + emoji: '', + }); + setState((prevState) => ({ ...prevState, compact: false })); + }; + + return ( +
+
+
+
+ ); +}; + +export default Tip; diff --git a/src/app/components/TipContainer.tsx b/src/app/components/TipContainer.tsx new file mode 100644 index 0000000..343449f --- /dev/null +++ b/src/app/components/TipContainer.tsx @@ -0,0 +1,106 @@ +import React, { Component } from "react"; + +import type { LTWHP } from "../types"; + +interface State { + height: number; + width: number; +} + +interface Props { + children: JSX.Element | null; + style: { top: number; left: number; bottom: number }; + scrollTop: number; + pageBoundingRect: LTWHP; +} + +const clamp = (value: number, left: number, right: number) => + Math.min(Math.max(value, left), right); + +class TipContainer extends Component { + state: State = { + height: 0, + width: 0, + }; + + node: HTMLDivElement | null = null; + + componentDidUpdate(nextProps: Props) { + if (this.props.children !== nextProps.children) { + this.updatePosition(); + } + } + + componentDidMount() { + setTimeout(this.updatePosition, 0); + } + + updatePosition = () => { + if (!this.node) { + return; + } + + const { offsetHeight, offsetWidth } = this.node; + + this.setState({ + height: offsetHeight, + width: offsetWidth, + }); + }; + + render() { + const { children, style, scrollTop, pageBoundingRect } = this.props; + + const { height, width } = this.state; + + const isStyleCalculationInProgress = width === 0 && height === 0; + + const shouldMove = style.top - height - 5 < scrollTop; + + const top = shouldMove ? style.bottom + 5 : style.top - height - 5; + + const left = clamp( + style.left - width / 2, + 0, + pageBoundingRect.width - width + ); + + const childrenWithProps = React.Children.map(children, (child) => + // @ts-ignore + React.cloneElement(child, { + onUpdate: () => { + this.setState( + { + width: 0, + height: 0, + }, + () => { + setTimeout(this.updatePosition, 0); + } + ); + }, + popup: { + position: shouldMove ? "below" : "above", + }, + }) + ); + + return ( +
{ + this.node = node; + }} + > + {childrenWithProps} +
+ ); + } +} + +export default TipContainer; diff --git a/src/app/page.tsx b/src/app/page.tsx index 1edd7a9..a09d56c 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,18 +1,178 @@ +"use client"; + import { DarkModeToggle } from "@/components/dark-mode-toggle"; -import { Chat } from "@/components/chat"; +import { Chat, FileStorage } from "@/components/chat"; +import PdfDisplayer from "./PdfDisplayer"; +import { createContext, useEffect, useRef, useState } from "react"; +import { Button, Layout } from "@douyinfe/semi-ui"; +import { useHover } from "ahooks"; +import { IHighlight, NewHighlight } from "./types/types"; +import { updateHash } from "./Sidebar"; + +export type PdfContextProps = { + showChat: boolean; + setShowChat?: React.Dispatch>; + selectedText: string; + setSelectedText?: React.Dispatch>; + aiMode: "chat" | "translate"; + setAiMode?: React.Dispatch>; + fileName: string; + setFileName?: React.Dispatch>; + indexKey: string; + setIndexKey?: React.Dispatch>; + highlights: IHighlight[]; + setHighlights?: React.Dispatch>; + addHighlight?: (highlight: NewHighlight) => void; + selectedHighlight?: IHighlight; + setSelectedHighlight?: React.Dispatch< + React.SetStateAction + >; + summary: string; + setSummary?: React.Dispatch>; + isAIBusy: boolean, + setIsAIBusy?: React.Dispatch>; + storage: FileStorage[]; +}; + +export const PdfContext = createContext({ + showChat: false, + setShowChat: undefined, + selectedText: "", + setSelectedText: undefined, + aiMode: "chat", + setAiMode: undefined, + fileName: "", + setFileName: undefined, + indexKey: "", + setIndexKey: undefined, + highlights: [], + setHighlights: undefined, + addHighlight: undefined, + selectedHighlight: undefined, + setSelectedHighlight: undefined, + summary: "", + setSummary: undefined, + isAIBusy: false, + setIsAIBusy: undefined, + storage: [], +}); + +const getNextId = () => String(Math.random()).slice(2); export default function Home() { + const [showChat, setShowChat] = useState(false); + const [selectedText, setSelectedText] = useState(""); + const [aiMode, setAiMode] = useState<"chat" | "translate">("chat"); + const [fileName, setFileName] = useState(""); + const [indexKey, setIndexKey] = useState(""); + const [highlights, setHighlights] = useState([]); + const [summary, setSummary] = useState(""); + const titleRef = useRef(null); + const isHovering = useHover(titleRef); + const [selectedHighlight, setSelectedHighlight] = useState(); + const [isAIBusy, setIsAIBusy] = useState(false); + const [storage, setStorage] = useState([]); + + useEffect(() => { + const storage = JSON.parse( + localStorage.getItem("chatStorage") || "[]" + ) as FileStorage[]; + setStorage(storage); + const highlights = + storage + .find((i) => i.fileName === fileName) + ?.histories.map((h) => h.highlight) || []; + setHighlights(highlights); + }, [fileName]); + + useEffect(() => { + const allHighlightIds = highlights.map((h) => h.id); + const storageIndex = storage.findIndex((s) => s.fileName === fileName); + if (storageIndex >= 0) { + storage[storageIndex].histories = storage[storageIndex].histories.filter( + (h) => allHighlightIds.includes(h.highlightId) + ); + localStorage.setItem("chatStorage", JSON.stringify(storage)); + } + }, [highlights]); + + const addHighlight = (highlight: NewHighlight) => { + console.log("Saving highlight", highlight); + const newHighlight = { ...highlight, id: getNextId(), isSaved: false }; + updateHash(newHighlight); + setSelectedHighlight({ ...newHighlight }); + setHighlights([newHighlight, ...highlights]); + }; + return ( -
-
- pdf-chat-ai - -
-
-
- + <> +
+
+
{fileName}
+ {isHovering ? ( + + ) : null}
-
+
+ + + {showChat ? : null} + +
+ ); } diff --git a/src/app/style/App.css b/src/app/style/App.css new file mode 100644 index 0000000..319235b --- /dev/null +++ b/src/app/style/App.css @@ -0,0 +1,77 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", + "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; + background-color: #ffffff; + color: #fff; + scrollbar-width: none; /* Firefox 64 */ + -ms-overflow-style: none; /* IE 11 */ + } + + .sidebar { + overflow-y: auto; + overflow-x: hidden; + color: black; + } + + .sidebar__highlights { + overflow-x: visible; + padding: 0; + } + + .highlight__location { + display: flex; + justify-content: space-between; + margin-top: 0.5rem; + text-align: right; + font-size: 10px; + } + + .highlight__image { + overflow: auto; + max-width: 260px; + border: 1px dashed; + } + + .sidebar__highlight { + position: relative; + left: 0; + margin: 8px 0; + width: 100%; + padding: 1.5rem; + cursor: pointer; + border-radius: 0; + background-color: white; + transition: 120ms ease-in-out; + } + + .sidebar__highlight:hover { + position: relative; + left: 4px; + scale: 1.01; + background: rgba(58, 56, 52, 0.08); + transition: 220ms ease-in-out; + + } + + a { + color: #d35400; + } + + blockquote { + padding: 0; + margin: 0; + quotes: "\201c" "\201d"; + } + blockquote:before { + content: open-quote; + } + blockquote:after { + content: close-quote; + } + +::-webkit-scrollbar { + display: none; +} + \ No newline at end of file diff --git a/src/app/style/AreaHighlight.css b/src/app/style/AreaHighlight.css new file mode 100644 index 0000000..381a356 --- /dev/null +++ b/src/app/style/AreaHighlight.css @@ -0,0 +1,17 @@ +.AreaHighlight { + border: 1px solid #333; + background-color: rgba(252, 232, 151, 1.0); + opacity: 1; + mix-blend-mode: multiply; +} + +.AreaHighlight__part { + cursor: pointer; + position: absolute; + background: rgba(255, 226, 143, 1); + transition: background 0.3s; +} + +.AreaHighlight--scrolledTo .AreaHighlight__part { + background: #ff4141; +} \ No newline at end of file diff --git a/src/app/style/Highlight.css b/src/app/style/Highlight.css new file mode 100644 index 0000000..14c30d5 --- /dev/null +++ b/src/app/style/Highlight.css @@ -0,0 +1,36 @@ +.Highlight { + position: absolute; +} + +.Highlight__emoji { + position: absolute; + color: black; + opacity: 1; + font-size: 28px; +} + +.Highlight__parts { + opacity: 1; +} + +.Highlight__part { + cursor: pointer; + position: absolute; + background: rgba(255, 226, 143, 1); + transition: background 0.3s; +} + +.Highlight__popup { + background-color: #3d464d; + border: 1px solid rgba(255, 255, 255, 0.25); + color: white; + padding: 0.5rem 1rem; + border-radius: 3px; + max-width: 300px; + max-height: 100px; + overflow-y: scroll; +} + +.Highlight--scrolledTo .Highlight__part { + background: #ff4141; +} diff --git a/src/app/style/MouseSelection.css b/src/app/style/MouseSelection.css new file mode 100644 index 0000000..e4333e7 --- /dev/null +++ b/src/app/style/MouseSelection.css @@ -0,0 +1,15 @@ +.MouseSelection { + position: absolute; + border: 1px dashed #333; + background: rgba(252, 232, 151, 1); + mix-blend-mode: multiply; +} +/* Internet Explorer support method */ +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .MouseSelection {opacity: 0.5 } +} + +/* Microsoft Edge Browser 12+ (All) - @supports method */ +@supports (-ms-ime-align:auto) { + .MouseSelection {opacity: 0.5 } +} diff --git a/src/app/style/PdfHighlighter.css b/src/app/style/PdfHighlighter.css new file mode 100644 index 0000000..0d1ea7e --- /dev/null +++ b/src/app/style/PdfHighlighter.css @@ -0,0 +1,22 @@ +.PdfHighlighter { + position: absolute; + overflow: auto; + width: 100%; + height: 100%; +} + +.PdfHighlighter__highlight-layer { + position: absolute; + z-index: 3; + left: 0; +} + +.PdfHighlighter__tip-container { + z-index: 6; + position: absolute; +} + +.PdfHighlighter--disable-selection { + user-select: none; + pointer-events: none; +} diff --git a/src/app/style/Spinner.css b/src/app/style/Spinner.css new file mode 100644 index 0000000..4979e43 --- /dev/null +++ b/src/app/style/Spinner.css @@ -0,0 +1,147 @@ +.sk-fading-circle { + margin: 100px auto; + width: 40px; + height: 40px; + position: relative; + } + + .sk-fading-circle .sk-circle { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + } + + .sk-fading-circle .sk-circle:before { + content: ""; + display: block; + margin: 0 auto; + width: 15%; + height: 15%; + background-color: #333; + border-radius: 100%; + -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; + animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; + } + .sk-fading-circle .sk-circle2 { + -webkit-transform: rotate(30deg); + -ms-transform: rotate(30deg); + transform: rotate(30deg); + } + .sk-fading-circle .sk-circle3 { + -webkit-transform: rotate(60deg); + -ms-transform: rotate(60deg); + transform: rotate(60deg); + } + .sk-fading-circle .sk-circle4 { + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + } + .sk-fading-circle .sk-circle5 { + -webkit-transform: rotate(120deg); + -ms-transform: rotate(120deg); + transform: rotate(120deg); + } + .sk-fading-circle .sk-circle6 { + -webkit-transform: rotate(150deg); + -ms-transform: rotate(150deg); + transform: rotate(150deg); + } + .sk-fading-circle .sk-circle7 { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + } + .sk-fading-circle .sk-circle8 { + -webkit-transform: rotate(210deg); + -ms-transform: rotate(210deg); + transform: rotate(210deg); + } + .sk-fading-circle .sk-circle9 { + -webkit-transform: rotate(240deg); + -ms-transform: rotate(240deg); + transform: rotate(240deg); + } + .sk-fading-circle .sk-circle10 { + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); + } + .sk-fading-circle .sk-circle11 { + -webkit-transform: rotate(300deg); + -ms-transform: rotate(300deg); + transform: rotate(300deg); + } + .sk-fading-circle .sk-circle12 { + -webkit-transform: rotate(330deg); + -ms-transform: rotate(330deg); + transform: rotate(330deg); + } + .sk-fading-circle .sk-circle2:before { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; + } + .sk-fading-circle .sk-circle3:before { + -webkit-animation-delay: -1s; + animation-delay: -1s; + } + .sk-fading-circle .sk-circle4:before { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; + } + .sk-fading-circle .sk-circle5:before { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; + } + .sk-fading-circle .sk-circle6:before { + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; + } + .sk-fading-circle .sk-circle7:before { + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; + } + .sk-fading-circle .sk-circle8:before { + -webkit-animation-delay: -0.5s; + animation-delay: -0.5s; + } + .sk-fading-circle .sk-circle9:before { + -webkit-animation-delay: -0.4s; + animation-delay: -0.4s; + } + .sk-fading-circle .sk-circle10:before { + -webkit-animation-delay: -0.3s; + animation-delay: -0.3s; + } + .sk-fading-circle .sk-circle11:before { + -webkit-animation-delay: -0.2s; + animation-delay: -0.2s; + } + .sk-fading-circle .sk-circle12:before { + -webkit-animation-delay: -0.1s; + animation-delay: -0.1s; + } + + @-webkit-keyframes sk-circleFadeDelay { + 0%, + 39%, + 100% { + opacity: 0; + } + 40% { + opacity: 1; + } + } + + @keyframes sk-circleFadeDelay { + 0%, + 39%, + 100% { + opacity: 0; + } + 40% { + opacity: 1; + } + } \ No newline at end of file diff --git a/src/app/style/Tip.css b/src/app/style/Tip.css new file mode 100644 index 0000000..dd0efce --- /dev/null +++ b/src/app/style/Tip.css @@ -0,0 +1,28 @@ +.Tip__compact { + cursor: pointer; + background-color: white; + /* border-color: rgba(var(--semi-grey-6), 1); */ + box-shadow: 0 0 1px rgba(0, 0, 0, .3), 0 4px 14px rgba(0, 0, 0, .3); + border-radius: 40px; + padding: 5px 10px; +} + +.Tip__card { + padding: 10px; + background: #fff; + background-clip: padding-box; + border: 1px solid #e8e8e8; + border-radius: 4px; + box-shadow: 0 2px 4px rgba(37, 40, 43, 0.2); +} + +.Tip__card textarea { + font-size: 16px; + width: 200px; + height: 70px; +} + +.Tip__card input[type="submit"] { + margin-top: 5px; + font-size: large; +} diff --git a/src/app/style/pdf_viewer.css b/src/app/style/pdf_viewer.css new file mode 100644 index 0000000..587bbd9 --- /dev/null +++ b/src/app/style/pdf_viewer.css @@ -0,0 +1,42 @@ +/* overrides for pdf_viewer.css from PDF.JS web viewer */ + +.textLayer { + z-index: 2; + opacity: 1; + mix-blend-mode: multiply; + display: flex; +} + +.annotationLayer { + position: absolute; + top: 0; + + z-index: 3; +} + +html + body + .textLayer + > div:not(.PdfHighlighter__highlight-layer):not(.Highlight):not(.Highlight-emoji) { + opacity: 1; + mix-blend-mode: multiply; +} + +.textLayer ::selection { + background: rgba(252, 232, 151, 1); + mix-blend-mode: multiply; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .textLayer {opacity: 0.5;} +} + +/* Internet Explorer support method */ +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .textLayer {opacity: 0.5 } +} + +/* Microsoft Edge Browser 12+ (All) - @supports method */ +@supports (-ms-ime-align:auto) { + .textLayer {opacity: 0.5 } +} diff --git a/src/app/test-highlights.ts b/src/app/test-highlights.ts new file mode 100644 index 0000000..14c9636 --- /dev/null +++ b/src/app/test-highlights.ts @@ -0,0 +1,317 @@ +export const testHighlights = { + "https://arxiv.org/pdf/1708.08021.pdf": [ + { + content: { + text: " Type Checking for JavaScript", + }, + position: { + boundingRect: { + x1: 255.73419189453125, + y1: 139.140625, + x2: 574.372314453125, + y2: 165.140625, + width: 809.9999999999999, + height: 1200, + }, + rects: [ + { + x1: 255.73419189453125, + y1: 139.140625, + x2: 574.372314453125, + y2: 165.140625, + width: 809.9999999999999, + height: 1200, + }, + ], + pageNumber: 1, + }, + comment: { + text: "Flow or TypeScript?", + emoji: "🔥", + }, + id: "8245652131754351", + }, + { + content: { + text: " millions of lines of code atFacebookevery day", + }, + position: { + boundingRect: { + x1: 353.080810546875, + y1: 346.390625, + x2: 658.6533203125, + y2: 363.390625, + width: 809.9999999999999, + height: 1200, + }, + rects: [ + { + x1: 353.080810546875, + y1: 346.390625, + x2: 658.6533203125, + y2: 363.390625, + width: 809.9999999999999, + height: 1200, + }, + ], + pageNumber: 1, + }, + comment: { + text: "impressive", + emoji: "", + }, + id: "812807243318874", + }, + { + content: { + text: "This fuels a fast edit-refresh cycle, whichpromises an immersive coding experience that is quite appealing to creative developers.", + }, + position: { + boundingRect: { + x1: 76.375, + y1: 666.21875, + x2: 733.61328125, + y2: 706.140625, + width: 809.9999999999999, + height: 1200, + pageNumber: 1, + }, + rects: [ + { + x1: 459.168701171875, + y1: 666.21875, + x2: 733.61328125, + y2: 686.21875, + width: 809.9999999999999, + height: 1200, + pageNumber: 1, + }, + { + x1: 76.375, + y1: 686.140625, + x2: 671.4954833984375, + y2: 706.140625, + width: 809.9999999999999, + height: 1200, + pageNumber: 1, + }, + ], + pageNumber: 1, + }, + comment: { + text: "immersive coding experience!", + emoji: "", + }, + id: "2599712881412761", + }, + { + content: { + image: + "data:image/png;base64,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", + }, + position: { + boundingRect: { + x1: 410.8125, + y1: 133, + x2: 744.8125, + y2: 261, + width: 809.9999999999999, + height: 1200, + pageNumber: 3, + }, + rects: [], + pageNumber: 3, + }, + comment: { + text: "lisp!", + emoji: "😱", + }, + id: "9120567402727258", + }, + { + content: { + text: "We consider a minimal subset of JavaScript that includes functions, mutable variables, primitivevalues and records", + }, + position: { + boundingRect: { + x1: 75.578125, + y1: 1039.3125, + x2: 733.607421875, + y2: 1079.234375, + width: 809.9999999999999, + height: 1200, + pageNumber: 4, + }, + rects: [ + { + x1: 75.578125, + y1: 1039.3125, + x2: 733.607421875, + y2: 1059.3125, + width: 809.9999999999999, + height: 1200, + pageNumber: 4, + }, + { + x1: 75.953125, + y1: 1059.234375, + x2: 206.6217041015625, + y2: 1079.234375, + width: 809.9999999999999, + height: 1200, + pageNumber: 4, + }, + ], + pageNumber: 4, + }, + comment: { + text: "", + emoji: "", + }, + id: "32839601376722394", + }, + { + content: { + image: + "data:image/png;base64,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", + }, + position: { + boundingRect: { + x1: 65.8125, + y1: 133, + x2: 406.8125, + y2: 417, + width: 809.9999999999999, + height: 1200, + pageNumber: 24, + }, + rects: [], + pageNumber: 24, + }, + comment: { + text: "", + emoji: "", + }, + id: "46570518065661615", + }, + { + id: "46570518065661616", + comment: { text: "Fast type checking?!?!", emoji: "😱" }, + content: { + text: "Fast type checking.The key toFlow’s speed is modularity: the ability to break the analysis intofile-sized chunks that can be assembled later. Fortunately, JavaScript is already written using files4Avik Chaudhuri, Panagiotis Vekris, Sam Goldman, Marshall Roch, and Gabriel Levias modules, so we modularize our analysis simply by asking that modules have explicitly typedsignatures. (We still infer types for the vast majority of code “local” to modules.) Coincidentally,developers consider this good software engineering practice anyway.", + }, + position: { + boundingRect: { + x1: 76.375, + y1: 1058.4271240234375, + x2: 733.626220703125, + y2: 1097.0208740234375, + width: 809.9999999999999, + height: 1200, + pageNumber: 3, + }, + rects: [ + { + x1: 75.989501953125, + y1: 96.9896240234375, + x2: 85.2291259765625, + y2: 115.65625, + width: 809.9999999999999, + height: 1200, + pageNumber: 4, + }, + { + x1: 167.583251953125, + y1: 96.9896240234375, + x2: 733.6123046875, + y2: 115.65625, + width: 809.9999999999999, + height: 1200, + pageNumber: 4, + }, + { + x1: 76.375, + y1: 142.82293701171875, + x2: 733.613525390625, + y2: 161.4896240234375, + width: 809.9999999999999, + height: 1200, + pageNumber: 4, + }, + { + x1: 76.375, + y1: 162.7396240234375, + x2: 735.43798828125, + y2: 181.40625, + width: 809.9999999999999, + height: 1200, + pageNumber: 4, + }, + { + x1: 76.375, + y1: 182.66668701171875, + x2: 544.7579345703125, + y2: 201.3333740234375, + width: 809.9999999999999, + height: 1200, + pageNumber: 4, + }, + { + x1: 92.9791259765625, + y1: 1058.4271240234375, + x2: 733.619140625, + y2: 1077.09375, + width: 809.9999999999999, + height: 1200, + pageNumber: 3, + }, + { + x1: 76.375, + y1: 1078.3541870117188, + x2: 733.626220703125, + y2: 1097.0208740234375, + width: 809.9999999999999, + height: 1200, + pageNumber: 3, + }, + ], + pageNumber: 3, + }, + }, + ], + "https://arxiv.org/pdf/1604.02480.pdf": [ + { + content: { + text: "SSA", + }, + position: { + boundingRect: { + x1: 816.4599609375, + y1: 360.1875, + x2: 848.4677734375, + y2: 380.1875, + width: 1019.9999999999999, + height: 1319.9999999999998, + pageNumber: 1, + }, + rects: [ + { + x1: 816.4599609375, + y1: 360.1875, + x2: 848.4677734375, + y2: 380.1875, + width: 1019.9999999999999, + height: 1319.9999999999998, + pageNumber: 1, + }, + ], + pageNumber: 1, + }, + comment: { + text: "Static Single Assignment", + emoji: "😎", + }, + id: "29668244118038056", + }, + ], + }; \ No newline at end of file diff --git a/src/app/types/types.ts b/src/app/types/types.ts new file mode 100644 index 0000000..0e8c119 --- /dev/null +++ b/src/app/types/types.ts @@ -0,0 +1,83 @@ +export interface LTWH { + left: number; + top: number; + width: number; + height: number; + } + + export interface LTWHP extends LTWH { + pageNumber?: number; + } + + export interface Scaled { + x1: number; + y1: number; + + x2: number; + y2: number; + + width: number; + height: number; + + pageNumber?: number; + } + + export interface Position { + boundingRect: LTWHP; + rects: Array; + pageNumber: number; + } + + export interface ScaledPosition { + boundingRect: Scaled; + rects: Array; + pageNumber: number; + usePdfCoordinates?: boolean; + } + + export interface Content { + text?: string; + image?: string; + } + + export interface HighlightContent { + content: Content; + } + + export interface Comment { + text: string; + emoji: string; + } + + export interface HighlightComment { + comment: Comment; + } + + export interface HighlightStatus { + isSaved?: boolean; + } + + export interface NewHighlight extends HighlightContent, HighlightComment, HighlightStatus { + position: ScaledPosition; + } + + export interface IHighlight extends NewHighlight { + id: string; + } + + export interface ViewportHighlight extends HighlightContent, HighlightComment { + position: Position; + } + + export interface Viewport { + convertToPdfPoint: (x: number, y: number) => Array; + convertToViewportRectangle: (pdfRectangle: Array) => Array; + width: number; + height: number; + } + + export interface Page { + node: HTMLElement; + number: number; + } + \ No newline at end of file diff --git a/src/components/chat-line.tsx b/src/components/chat-line.tsx index 51a842e..30138af 100644 --- a/src/components/chat-line.tsx +++ b/src/components/chat-line.tsx @@ -1,12 +1,5 @@ import Balancer from "react-wrap-balancer"; -import { - Card, - CardContent, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from "@/components/ui/card"; +import { Card, Collapse } from "@douyinfe/semi-ui"; import { ChatGPTMessage } from "@/types"; import { Accordion, @@ -36,44 +29,54 @@ export function ChatLine({ } const formattedMessage = convertNewLines(content); - return ( -
- - - - {role == "assistant" ? "AI" : "You"} - - - - {formattedMessage} - - - - {sources ? ( - - {sources.map((source, index) => ( - - {`Source ${index + 1}`} - - - {sanitizeAndFormatText(source)} - - - - ))} - - ) : ( - <> - )} - - + if (role === "assistant") { + return ( + +
AI
+
{formattedMessage}
+ {sources ? ( + + {sources?.slice(0, 3)?.map((source, index) => ( + +
+ {sanitizeAndFormatText(source.pageContent)} +
+
+ ))} +
+ ) : null} +
+ ); + } else { + return ( + +
You
+
{formattedMessage}
-
- ); + ); + } } diff --git a/src/components/chat.css b/src/components/chat.css new file mode 100644 index 0000000..7cb0e29 --- /dev/null +++ b/src/components/chat.css @@ -0,0 +1,37 @@ +.semi-collapse-header { + font-size: 12px; + margin: 0; + padding: 8px 4px; +} + +.semi-input-textarea-wrapper-focus { + border-color: black; +} + +.save-annotation:hover { + background-color: rgba(255, 226, 143, 1) !important; + transition: all 400ms; +} + +.semi-typography-ellipsis-expand { + background-color: rgba(255, 226, 143, 1) !important; + color: black !important; +} +<<<<<<< HEAD + +@keyframes slideIn { + from { + transform: translateX(100%); + opacity: 0.2; + } + to { + transform: translateX(0); + opacity: 1; + } + } + +.slide-in { +animation: slideIn 250ms forwards; +} +======= +>>>>>>> master diff --git a/src/components/chat.tsx b/src/components/chat.tsx index f7948c7..0468449 100644 --- a/src/components/chat.tsx +++ b/src/components/chat.tsx @@ -1,12 +1,57 @@ "use client"; -import { useRef, useState } from "react"; +import { useContext, useEffect, useRef, useState } from "react"; import { InputMessage } from "./input-message"; import { scrollToBottom, initialMessage } from "@/lib/utils"; import { ChatLine } from "./chat-line"; -import { ChatGPTMessage } from "@/types"; +import { ChatGPTMessage, DocumentInfo } from "@/types"; +import { Document } from "langchain/document"; +import { PdfContext } from "@/app/page"; +import { Button, Input, TextArea, Typography } from "@douyinfe/semi-ui"; +import "./chat.css"; +import { IHighlight } from "@/app/types/types"; -export function Chat() { +interface ITempChat { + selectedText: string; + chatHistory: [string, string][]; +} + +export interface History { + highlightId: string; + chatHistory: [string, string][]; + highlight: IHighlight; +} + +export interface FileStorage { + fileName: string; + histories: History[]; +} +export interface ChatStorage { + files: FileStorage[]; +} + +const aiModeToEndpoint = { + translate: "/api/translate", + chat: "/api/chat", +}; + +export const Chat = () => { + const { Paragraph } = Typography; + const { + addHighlight, + setHighlights, + selectedHighlight, + highlights, + fileName, + storage, + indexKey, + selectedText, + aiMode, + summary, + isAIBusy, + setIsAIBusy, + showChat, + } = useContext(PdfContext); const endpoint = "/api/chat"; const [input, setInput] = useState(""); const containerRef = useRef(null); @@ -14,10 +59,50 @@ export function Chat() { const [chatHistory, setChatHistory] = useState<[string, string][]>([]); const [streamingAIContent, setStreamingAIContent] = useState(""); const [isLoading, setIsLoading] = useState(false); + const [userQuestion, setUserQuestion] = useState(""); + const [currHighlightId, setCurrHighlightId] = useState(""); + + console.log("chatHistory: ", chatHistory); + + useEffect(() => { + const handleHashChange = () => { + const hash = window.location.hash; + const id = hash.split("-")[1]; + setCurrHighlightId(id); + }; + + handleHashChange(); + window.addEventListener("hashchange", handleHashChange); + + return () => { + window.removeEventListener("hashchange", handleHashChange); + }; + }, [fileName]); + + useEffect(() => { + const chatHistory = + storage + .find((s) => s.fileName === localStorage.getItem("fileName") || "") + ?.histories.find((h) => h.highlightId === currHighlightId) + ?.chatHistory || []; + setChatHistory(chatHistory); + const msgList: ChatGPTMessage[] = []; + chatHistory.forEach((item) => { + msgList.push({ + role: "user", + content: item[0], + }); + msgList.push({ + role: "assistant", + content: item[1], + }); + }); + setMessages(msgList); + }, [currHighlightId]); const updateMessages = (message: ChatGPTMessage) => { setMessages((previousMessages) => [...previousMessages, message]); - setTimeout(() => scrollToBottom(containerRef), 100); + setTimeout(() => scrollToBottom(containerRef), 50); }; const updateChatHistory = (question: string, answer: string) => { @@ -29,16 +114,44 @@ export function Chat() { const updateStreamingAIContent = (streamingAIContent: string) => { setStreamingAIContent(streamingAIContent); - setTimeout(() => scrollToBottom(containerRef), 100); + setTimeout(() => scrollToBottom(containerRef), 50); }; + useEffect(() => { + if (!isLoading) { + localStorage.setItem( + "tempChat", + JSON.stringify({ + selectedText, + chatHistory, + }) + ); + } + }, [isLoading]); + + useEffect(() => { + if (showChat) { + setTimeout(() => { + (document.querySelector('#chat-box') as HTMLElement).focus(); + }, 500); + + } + }, [showChat]); + const handleStreamEnd = ( question: string, streamingAIContent: string, sourceDocuments: string ) => { - const sources = JSON.parse(sourceDocuments); + let sourceContents: DocumentInfo[] = []; + if (sourceDocuments) { + sourceContents = JSON.parse(sourceDocuments); + } + let sources: DocumentInfo[] = []; + sourceContents.forEach((element) => { + sources.push(element); + }); // Add the streamed message as the AI response // And clear the streamingAIContent state updateMessages({ @@ -51,9 +164,17 @@ export function Chat() { }; // send message to API /api/chat endpoint - const sendQuestion = async (question: string) => { + const sendQuestion = async ( + question: string, + aiMode: "translate" | "chat" = "chat" + ) => { + const endpoint = aiModeToEndpoint[aiMode]; + setIsLoading(true); - updateMessages({ role: "user", content: question }); + updateMessages({ + role: "user", + content: aiMode === "translate" ? `Translate ${question}` : question, + }); try { const response = await fetch(endpoint, { @@ -63,7 +184,10 @@ export function Chat() { }, body: JSON.stringify({ question, + phrase: selectedHighlight?.content.text, chatHistory, + indexKey, + ...(aiMode === "translate" && { language: "Chinese" }), }), }); @@ -80,16 +204,24 @@ export function Chat() { } const text = new TextDecoder().decode(value); - if (text === "tokens-ended" && !tokensEnded) { + if (text.includes("tokens-ended") && !tokensEnded) { tokensEnded = true; + + let texts = text.split("tokens-ended"); + if (texts.length > 1) { + streamingAIContent = streamingAIContent + texts[0]; + updateStreamingAIContent(streamingAIContent); + } + if (texts.length > 2) { + sourceDocuments += texts[1]; + } } else if (tokensEnded) { - sourceDocuments = text; + sourceDocuments += text; } else { streamingAIContent = streamingAIContent + text; updateStreamingAIContent(streamingAIContent); } } - handleStreamEnd(question, streamingAIContent, sourceDocuments); } catch (error) { console.log("Error occured ", error); @@ -98,15 +230,131 @@ export function Chat() { } }; + useEffect(() => { + if (aiMode === "translate" && selectedText !== "") { + sendQuestion(selectedText, "translate"); + } + }, [aiMode, selectedText]); + + useEffect(() => { + if (summary !== "") { + updateMessages({ + role: "assistant", + content: "Summary:\n" + summary, + }); + } + }, [summary]); + + useEffect(() => { + if (!isLoading && chatHistory.length) { + setTimeout(() => { + saveCurrChat(); + }, 500); + } + }, [chatHistory, isLoading]); + + const saveCurrChat = () => { + const highlightsCopy = [...highlights]; + const index = highlightsCopy.findIndex( + (h) => h.id === selectedHighlight?.id + ); + console.log("selectedHighlight: ", selectedHighlight); + highlightsCopy[index] = { + ...highlightsCopy[index], + isSaved: true, + }; + console.log("highlightsCopy: ", highlightsCopy); + setHighlights && setHighlights(highlightsCopy); + + let storage: FileStorage[] = []; + if (localStorage.getItem("chatStorage")) { + storage = JSON.parse( + localStorage.getItem("chatStorage") || "[]" + ) as FileStorage[]; + } + const currFileStorage: FileStorage = storage.find( + (i) => i.fileName === localStorage.getItem("fileName") + ) || { + fileName: localStorage.getItem("fileName") || "", + histories: [], + }; + const historyItemIndex = + currFileStorage?.histories.findIndex( + (h) => h.highlightId === selectedHighlight?.id + ) || -1; + const newHistoryItem: History = { + highlight: { ...selectedHighlight, isSaved: true } as IHighlight, + highlightId: selectedHighlight?.id || "", + chatHistory, + }; + if (historyItemIndex >= 0 && currFileStorage?.histories) { + currFileStorage.histories[historyItemIndex] = newHistoryItem; + } else { + currFileStorage?.histories.push(newHistoryItem); + } + console.log("currFileStorage: ", currFileStorage); + if (currFileStorage) { + const fileStorageIndex = storage.findIndex( + (i) => i.fileName === localStorage.getItem("fileName") + ); + if (fileStorageIndex >= 0) { + storage[ + storage.findIndex( + (i) => i.fileName === localStorage.getItem("fileName") + ) + ] = currFileStorage; + } else { + storage.push(currFileStorage); + } + console.log("storage: ", storage); + } + localStorage.setItem("chatStorage", JSON.stringify(storage)); + }; + + useEffect(() => { + let storage: FileStorage[] = []; + if (localStorage.getItem("chatStorage")) { + storage = JSON.parse( + localStorage.getItem("chatStorage") || "[]" + ) as FileStorage[]; + } + }, [highlights]); + let placeholder = "Type a message to start ..."; if (messages.length > 2) { placeholder = "Type to continue your conversation"; } + console.log("messages: ", messages); return ( -
-
+
+ {selectedHighlight?.content?.text ? ( + <> +
Ask about...
+ + {`"${selectedHighlight?.content?.text}":`} + + + ) : null} +
{messages.map(({ content, role, sources }, index) => ( - + /> */} + {/*
{selectedText}
*/} +
+