From ee0829d8db66a865d841dd14cdd93510fad006c0 Mon Sep 17 00:00:00 2001 From: lencx Date: Thu, 25 May 2023 09:52:33 +0800 Subject: [PATCH] chore: scripts --- README.md | 2 +- pnpm-lock.yaml | 1417 ++++++++++++----------- scripts/README.md | 4 +- scripts/chat.js | 10 +- scripts/cmd.js | 346 +++--- scripts/core.js | 11 +- scripts/dalle2.js | 6 +- scripts/export.js | 10 +- scripts/main.js | 5 + scripts/manifest.json | 4 + scripts/popup.core.js | 6 +- src-tauri/src/app/gpt.rs | 10 +- src-tauri/src/app/menu.rs | 5 - src-tauri/src/app/mod.rs | 1 + src-tauri/src/app/script.rs | 90 +- src-tauri/src/app/setup.rs | 20 +- src-tauri/src/app/template.rs | 110 ++ src-tauri/src/app/window.rs | 19 +- src-tauri/src/conf.rs | 3 +- src-tauri/src/main.rs | 4 +- src-tauri/src/utils.rs | 39 +- src/components/FilePath/index.tsx | 3 +- src/hooks/useColumns.tsx | 1 + src/main.scss | 22 + src/routes.tsx | 6 + src/utils.ts | 4 + src/view/markdown/index.scss | 16 - src/view/markdown/index.tsx | 3 +- src/view/notes/config.tsx | 2 +- src/view/prompts/SyncPrompts/config.tsx | 7 +- src/view/prompts/SyncPrompts/index.tsx | 5 +- src/view/prompts/SyncRecord/config.tsx | 5 - src/view/prompts/SyncRecord/index.tsx | 2 +- src/view/prompts/UserCustom/Form.tsx | 12 +- src/view/scripts/Editor.tsx | 74 +- src/view/scripts/Head.tsx | 97 -- src/view/scripts/config.tsx | 71 +- src/view/scripts/index.scss | 10 - src/view/scripts/index.tsx | 85 +- 39 files changed, 1370 insertions(+), 1177 deletions(-) create mode 100644 scripts/main.js create mode 100644 src-tauri/src/app/template.rs delete mode 100644 src/view/markdown/index.scss delete mode 100644 src/view/scripts/Head.tsx delete mode 100644 src/view/scripts/index.scss diff --git a/README.md b/README.md index 5d071d4..7eb4d7f 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

[![English badge](https://img.shields.io/badge/%E8%8B%B1%E6%96%87-English-blue)](./README.md) -[![简体中文 badge](https://img.shields.io/badge/%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87-Simplified%20Chinese-blue)](./README-ZH_CN.md) +[![简体中文 badge](https://img.shields.io/badge/%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87-Simplified%20Chinese-blue)](./README-ZH_CN.md)\ [![ChatGPT downloads](https://img.shields.io/github/downloads/lencx/ChatGPT/total.svg?style=flat-square)](https://github.com/lencx/ChatGPT/releases) [![chat](https://img.shields.io/badge/chat-discord-blue?style=flat&logo=discord)](https://discord.gg/aPhCRf4zZr) [![lencx](https://img.shields.io/badge/follow-lencx__-blue?style=flat&logo=Twitter)](https://twitter.com/lencx_) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 556c592..90b8951 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,83 +1,116 @@ -lockfileVersion: 5.4 - -specifiers: - '@ant-design/icons': ^4.8.0 - '@monaco-editor/react': ^4.4.6 - '@tauri-apps/api': ^1.2.0 - '@tauri-apps/cli': ^1.3.1 - '@tauri-release/cli': ^0.2.5 - '@types/lodash': ^4.14.191 - '@types/node': ^18.7.10 - '@types/react': ^18.0.15 - '@types/react-dom': ^18.0.6 - '@types/react-syntax-highlighter': ^15.5.6 - '@types/uuid': ^9.0.0 - '@vitejs/plugin-react': ^3.0.0 - antd: ^5.1.0 - clsx: ^1.2.1 - dayjs: ^1.11.7 - github-markdown-css: ^5.1.0 - husky: ^8.0.3 - lodash: ^4.17.21 - monaco-editor: ^0.34.1 - prettier: ^2.8.3 - pretty-quick: ^3.1.3 - react: ^18.2.0 - react-dom: ^18.2.0 - react-markdown: ^8.0.4 - react-resizable-panels: ^0.0.33 - react-router-dom: ^6.4.5 - react-syntax-highlighter: ^15.5.0 - rehype-raw: ^6.1.1 - remark-comment-config: ^7.0.1 - remark-gfm: ^3.0.1 - sass: ^1.56.2 - typescript: ^4.9.4 - uuid: ^9.0.0 - vite: ^4.0.0 - vite-tsconfig-paths: ^4.0.2 +lockfileVersion: '6.0' dependencies: - '@ant-design/icons': 4.8.0_biqbaboplfbrettd7655fr4n2y - '@monaco-editor/react': 4.4.6_6vrjaj6ridxbohi43n7zt4gn7q - '@tauri-apps/api': 1.2.0 - antd: 5.1.7_biqbaboplfbrettd7655fr4n2y - clsx: 1.2.1 - dayjs: 1.11.7 - github-markdown-css: 5.1.0 - lodash: 4.17.21 - monaco-editor: 0.34.1 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-markdown: 8.0.5_3stiutgnnbnfnf3uowm5cip22i - react-resizable-panels: 0.0.33_biqbaboplfbrettd7655fr4n2y - react-router-dom: 6.8.0_biqbaboplfbrettd7655fr4n2y - react-syntax-highlighter: 15.5.0_react@18.2.0 - rehype-raw: 6.1.1 - remark-comment-config: 7.0.1 - remark-gfm: 3.0.1 - uuid: 9.0.0 + '@ant-design/icons': + specifier: ^4.8.0 + version: 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@monaco-editor/react': + specifier: ^4.4.6 + version: 4.4.6(monaco-editor@0.34.1)(react-dom@18.2.0)(react@18.2.0) + '@tauri-apps/api': + specifier: ^1.2.0 + version: 1.2.0 + antd: + specifier: ^5.1.0 + version: 5.1.7(react-dom@18.2.0)(react@18.2.0) + clsx: + specifier: ^1.2.1 + version: 1.2.1 + dayjs: + specifier: ^1.11.7 + version: 1.11.7 + github-markdown-css: + specifier: ^5.1.0 + version: 5.1.0 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + monaco-editor: + specifier: ^0.34.1 + version: 0.34.1 + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + react-markdown: + specifier: ^8.0.4 + version: 8.0.5(@types/react@18.0.27)(react@18.2.0) + react-resizable-panels: + specifier: ^0.0.33 + version: 0.0.33(react-dom@18.2.0)(react@18.2.0) + react-router-dom: + specifier: ^6.4.5 + version: 6.8.0(react-dom@18.2.0)(react@18.2.0) + react-syntax-highlighter: + specifier: ^15.5.0 + version: 15.5.0(react@18.2.0) + rehype-raw: + specifier: ^6.1.1 + version: 6.1.1 + remark-comment-config: + specifier: ^7.0.1 + version: 7.0.1 + remark-gfm: + specifier: ^3.0.1 + version: 3.0.1 + uuid: + specifier: ^9.0.0 + version: 9.0.0 devDependencies: - '@tauri-apps/cli': 1.3.1 - '@tauri-release/cli': 0.2.5 - '@types/lodash': 4.14.191 - '@types/node': 18.11.19 - '@types/react': 18.0.27 - '@types/react-dom': 18.0.10 - '@types/react-syntax-highlighter': 15.5.6 - '@types/uuid': 9.0.0 - '@vitejs/plugin-react': 3.1.0_vite@4.1.1 - husky: 8.0.3 - prettier: 2.8.3 - pretty-quick: 3.1.3_prettier@2.8.3 - sass: 1.58.0 - typescript: 4.9.5 - vite: 4.1.1_w4o4wsgkler5i3zieyqxrswv2u - vite-tsconfig-paths: 4.0.5_typescript@4.9.5 + '@tauri-apps/cli': + specifier: ^1.3.1 + version: 1.3.1 + '@tauri-release/cli': + specifier: ^0.2.5 + version: 0.2.5 + '@types/lodash': + specifier: ^4.14.191 + version: 4.14.191 + '@types/node': + specifier: ^18.7.10 + version: 18.11.19 + '@types/react': + specifier: ^18.0.15 + version: 18.0.27 + '@types/react-dom': + specifier: ^18.0.6 + version: 18.0.10 + '@types/react-syntax-highlighter': + specifier: ^15.5.6 + version: 15.5.6 + '@types/uuid': + specifier: ^9.0.0 + version: 9.0.0 + '@vitejs/plugin-react': + specifier: ^3.0.0 + version: 3.1.0(vite@4.1.1) + husky: + specifier: ^8.0.3 + version: 8.0.3 + prettier: + specifier: ^2.8.3 + version: 2.8.3 + pretty-quick: + specifier: ^3.1.3 + version: 3.1.3(prettier@2.8.3) + sass: + specifier: ^1.56.2 + version: 1.58.0 + typescript: + specifier: ^4.9.4 + version: 4.9.5 + vite: + specifier: ^4.0.0 + version: 4.1.1(@types/node@18.11.19)(sass@1.58.0) + vite-tsconfig-paths: + specifier: ^4.0.2 + version: 4.0.5(typescript@4.9.5) packages: - /@actions/github/5.1.1: + /@actions/github@5.1.1: resolution: { integrity: sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==, @@ -85,13 +118,13 @@ packages: dependencies: '@actions/http-client': 2.0.1 '@octokit/core': 3.6.0 - '@octokit/plugin-paginate-rest': 2.21.3_@octokit+core@3.6.0 - '@octokit/plugin-rest-endpoint-methods': 5.16.2_@octokit+core@3.6.0 + '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0) + '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0) transitivePeerDependencies: - encoding dev: true - /@actions/http-client/2.0.1: + /@actions/http-client@2.0.1: resolution: { integrity: sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==, @@ -100,7 +133,7 @@ packages: tunnel: 0.0.6 dev: true - /@ampproject/remapping/2.2.0: + /@ampproject/remapping@2.2.0: resolution: { integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==, @@ -111,7 +144,7 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@ant-design/colors/6.0.0: + /@ant-design/colors@6.0.0: resolution: { integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==, @@ -120,7 +153,7 @@ packages: '@ctrl/tinycolor': 3.5.0 dev: false - /@ant-design/colors/7.0.0: + /@ant-design/colors@7.0.0: resolution: { integrity: sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==, @@ -129,7 +162,7 @@ packages: '@ctrl/tinycolor': 3.5.0 dev: false - /@ant-design/cssinjs/1.5.6_biqbaboplfbrettd7655fr4n2y: + /@ant-design/cssinjs@1.5.6(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-1S7LUPC9BMyQ/CUYgzfePJJwEfsbVHJe3Tpd9zhujTxRM/6LYpN9N4FTaPHVqpnPazm0S2vG0WBkh2T5Erwuug==, @@ -143,20 +176,20 @@ packages: '@emotion/unitless': 0.7.5 classnames: 2.3.2 csstype: 3.1.1 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) stylis: 4.1.3 dev: false - /@ant-design/icons-svg/4.2.1: + /@ant-design/icons-svg@4.2.1: resolution: { integrity: sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==, } dev: false - /@ant-design/icons/4.8.0_biqbaboplfbrettd7655fr4n2y: + /@ant-design/icons@4.8.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-T89P2jG2vM7OJ0IfGx2+9FC5sQjtTzRSz+mCHTXkFn/ELZc2YpfStmYHmqzq2Jx55J0F7+O6i5/ZKFSVNWCKNg==, @@ -170,12 +203,12 @@ packages: '@ant-design/icons-svg': 4.2.1 '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@ant-design/icons/5.0.1_biqbaboplfbrettd7655fr4n2y: + /@ant-design/icons@5.0.1(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-ZyF4ksXCcdtwA/1PLlnFLcF/q8/MhwxXhKHh4oCHDA4Ip+ZzAHoICtyp4wZWfiCVDP0yuz3HsjyvuldHFb3wjA==, @@ -189,12 +222,12 @@ packages: '@ant-design/icons-svg': 4.2.1 '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@ant-design/react-slick/1.0.0_react@18.2.0: + /@ant-design/react-slick@1.0.0(react@18.2.0): resolution: { integrity: sha512-OKxZsn8TAf8fYxP79rDXgLs9zvKMTslK6dJ4iLhDXOujUqC5zJPBRszyrcEHXcMPOm1Sgk40JgyF3yiL/Swd7w==, @@ -210,7 +243,7 @@ packages: throttle-debounce: 5.0.0 dev: false - /@babel/code-frame/7.18.6: + /@babel/code-frame@7.18.6: resolution: { integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==, @@ -220,7 +253,7 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data/7.20.14: + /@babel/compat-data@7.20.14: resolution: { integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==, @@ -228,7 +261,7 @@ packages: engines: { node: '>=6.9.0' } dev: true - /@babel/core/7.20.12: + /@babel/core@7.20.12: resolution: { integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==, @@ -238,7 +271,7 @@ packages: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 '@babel/generator': 7.20.14 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) '@babel/helper-module-transforms': 7.20.11 '@babel/helpers': 7.20.13 '@babel/parser': 7.20.15 @@ -254,7 +287,7 @@ packages: - supports-color dev: true - /@babel/generator/7.20.14: + /@babel/generator@7.20.14: resolution: { integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==, @@ -266,7 +299,7 @@ packages: jsesc: 2.5.2 dev: true - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12: + /@babel/helper-compilation-targets@7.20.7(@babel/core@7.20.12): resolution: { integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==, @@ -283,7 +316,7 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-environment-visitor/7.18.9: + /@babel/helper-environment-visitor@7.18.9: resolution: { integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==, @@ -291,7 +324,7 @@ packages: engines: { node: '>=6.9.0' } dev: true - /@babel/helper-function-name/7.19.0: + /@babel/helper-function-name@7.19.0: resolution: { integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==, @@ -302,7 +335,7 @@ packages: '@babel/types': 7.20.7 dev: true - /@babel/helper-hoist-variables/7.18.6: + /@babel/helper-hoist-variables@7.18.6: resolution: { integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==, @@ -312,7 +345,7 @@ packages: '@babel/types': 7.20.7 dev: true - /@babel/helper-module-imports/7.18.6: + /@babel/helper-module-imports@7.18.6: resolution: { integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==, @@ -322,7 +355,7 @@ packages: '@babel/types': 7.20.7 dev: true - /@babel/helper-module-transforms/7.20.11: + /@babel/helper-module-transforms@7.20.11: resolution: { integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==, @@ -341,7 +374,7 @@ packages: - supports-color dev: true - /@babel/helper-plugin-utils/7.20.2: + /@babel/helper-plugin-utils@7.20.2: resolution: { integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==, @@ -349,7 +382,7 @@ packages: engines: { node: '>=6.9.0' } dev: true - /@babel/helper-simple-access/7.20.2: + /@babel/helper-simple-access@7.20.2: resolution: { integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==, @@ -359,7 +392,7 @@ packages: '@babel/types': 7.20.7 dev: true - /@babel/helper-split-export-declaration/7.18.6: + /@babel/helper-split-export-declaration@7.18.6: resolution: { integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==, @@ -369,7 +402,7 @@ packages: '@babel/types': 7.20.7 dev: true - /@babel/helper-string-parser/7.19.4: + /@babel/helper-string-parser@7.19.4: resolution: { integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==, @@ -377,7 +410,7 @@ packages: engines: { node: '>=6.9.0' } dev: true - /@babel/helper-validator-identifier/7.19.1: + /@babel/helper-validator-identifier@7.19.1: resolution: { integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==, @@ -385,7 +418,7 @@ packages: engines: { node: '>=6.9.0' } dev: true - /@babel/helper-validator-option/7.18.6: + /@babel/helper-validator-option@7.18.6: resolution: { integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==, @@ -393,7 +426,7 @@ packages: engines: { node: '>=6.9.0' } dev: true - /@babel/helpers/7.20.13: + /@babel/helpers@7.20.13: resolution: { integrity: sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==, @@ -407,7 +440,7 @@ packages: - supports-color dev: true - /@babel/highlight/7.18.6: + /@babel/highlight@7.18.6: resolution: { integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, @@ -419,7 +452,7 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.20.15: + /@babel/parser@7.20.15: resolution: { integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==, @@ -430,7 +463,7 @@ packages: '@babel/types': 7.20.7 dev: true - /@babel/plugin-transform-react-jsx-self/7.18.6_@babel+core@7.20.12: + /@babel/plugin-transform-react-jsx-self@7.18.6(@babel/core@7.20.12): resolution: { integrity: sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==, @@ -443,7 +476,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.20.12: + /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.20.12): resolution: { integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==, @@ -456,7 +489,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/runtime/7.20.13: + /@babel/runtime@7.20.13: resolution: { integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==, @@ -466,7 +499,7 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@babel/template/7.20.7: + /@babel/template@7.20.7: resolution: { integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==, @@ -478,7 +511,7 @@ packages: '@babel/types': 7.20.7 dev: true - /@babel/traverse/7.20.13: + /@babel/traverse@7.20.13: resolution: { integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==, @@ -499,7 +532,7 @@ packages: - supports-color dev: true - /@babel/types/7.20.7: + /@babel/types@7.20.7: resolution: { integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==, @@ -511,7 +544,7 @@ packages: to-fast-properties: 2.0.0 dev: true - /@ctrl/tinycolor/3.5.0: + /@ctrl/tinycolor@3.5.0: resolution: { integrity: sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==, @@ -519,33 +552,21 @@ packages: engines: { node: '>=10' } dev: false - /@emotion/hash/0.8.0: + /@emotion/hash@0.8.0: resolution: { integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==, } dev: false - /@emotion/unitless/0.7.5: + /@emotion/unitless@0.7.5: resolution: { integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==, } dev: false - /@esbuild/android-arm/0.16.17: - resolution: - { - integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==, - } - engines: { node: '>=12' } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64/0.16.17: + /@esbuild/android-arm64@0.16.17: resolution: { integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==, @@ -557,7 +578,19 @@ packages: dev: true optional: true - /@esbuild/android-x64/0.16.17: + /@esbuild/android-arm@0.16.17: + resolution: + { + integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==, + } + engines: { node: '>=12' } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.16.17: resolution: { integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==, @@ -569,7 +602,7 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64/0.16.17: + /@esbuild/darwin-arm64@0.16.17: resolution: { integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==, @@ -581,7 +614,7 @@ packages: dev: true optional: true - /@esbuild/darwin-x64/0.16.17: + /@esbuild/darwin-x64@0.16.17: resolution: { integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==, @@ -593,7 +626,7 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64/0.16.17: + /@esbuild/freebsd-arm64@0.16.17: resolution: { integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==, @@ -605,7 +638,7 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64/0.16.17: + /@esbuild/freebsd-x64@0.16.17: resolution: { integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==, @@ -617,19 +650,7 @@ packages: dev: true optional: true - /@esbuild/linux-arm/0.16.17: - resolution: - { - integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==, - } - engines: { node: '>=12' } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64/0.16.17: + /@esbuild/linux-arm64@0.16.17: resolution: { integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==, @@ -641,7 +662,19 @@ packages: dev: true optional: true - /@esbuild/linux-ia32/0.16.17: + /@esbuild/linux-arm@0.16.17: + resolution: + { + integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==, + } + engines: { node: '>=12' } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.16.17: resolution: { integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==, @@ -653,7 +686,7 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.16.17: + /@esbuild/linux-loong64@0.16.17: resolution: { integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==, @@ -665,7 +698,7 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el/0.16.17: + /@esbuild/linux-mips64el@0.16.17: resolution: { integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==, @@ -677,7 +710,7 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64/0.16.17: + /@esbuild/linux-ppc64@0.16.17: resolution: { integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==, @@ -689,7 +722,7 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64/0.16.17: + /@esbuild/linux-riscv64@0.16.17: resolution: { integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==, @@ -701,7 +734,7 @@ packages: dev: true optional: true - /@esbuild/linux-s390x/0.16.17: + /@esbuild/linux-s390x@0.16.17: resolution: { integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==, @@ -713,7 +746,7 @@ packages: dev: true optional: true - /@esbuild/linux-x64/0.16.17: + /@esbuild/linux-x64@0.16.17: resolution: { integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==, @@ -725,7 +758,7 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64/0.16.17: + /@esbuild/netbsd-x64@0.16.17: resolution: { integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==, @@ -737,7 +770,7 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64/0.16.17: + /@esbuild/openbsd-x64@0.16.17: resolution: { integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==, @@ -749,7 +782,7 @@ packages: dev: true optional: true - /@esbuild/sunos-x64/0.16.17: + /@esbuild/sunos-x64@0.16.17: resolution: { integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==, @@ -761,7 +794,7 @@ packages: dev: true optional: true - /@esbuild/win32-arm64/0.16.17: + /@esbuild/win32-arm64@0.16.17: resolution: { integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==, @@ -773,7 +806,7 @@ packages: dev: true optional: true - /@esbuild/win32-ia32/0.16.17: + /@esbuild/win32-ia32@0.16.17: resolution: { integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==, @@ -785,7 +818,7 @@ packages: dev: true optional: true - /@esbuild/win32-x64/0.16.17: + /@esbuild/win32-x64@0.16.17: resolution: { integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==, @@ -797,7 +830,7 @@ packages: dev: true optional: true - /@jridgewell/gen-mapping/0.1.1: + /@jridgewell/gen-mapping@0.1.1: resolution: { integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==, @@ -808,7 +841,7 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@jridgewell/gen-mapping/0.3.2: + /@jridgewell/gen-mapping@0.3.2: resolution: { integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==, @@ -820,7 +853,7 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@jridgewell/resolve-uri/3.1.0: + /@jridgewell/resolve-uri@3.1.0: resolution: { integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, @@ -828,7 +861,7 @@ packages: engines: { node: '>=6.0.0' } dev: true - /@jridgewell/set-array/1.1.2: + /@jridgewell/set-array@1.1.2: resolution: { integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, @@ -836,14 +869,14 @@ packages: engines: { node: '>=6.0.0' } dev: true - /@jridgewell/sourcemap-codec/1.4.14: + /@jridgewell/sourcemap-codec@1.4.14: resolution: { integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, } dev: true - /@jridgewell/trace-mapping/0.3.17: + /@jridgewell/trace-mapping@0.3.17: resolution: { integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==, @@ -853,7 +886,7 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@monaco-editor/loader/1.3.2_monaco-editor@0.34.1: + /@monaco-editor/loader@1.3.2(monaco-editor@0.34.1): resolution: { integrity: sha512-BTDbpHl3e47r3AAtpfVFTlAi7WXv4UQ/xZmz8atKl4q7epQV5e7+JbigFDViWF71VBi4IIBdcWP57Hj+OWuc9g==, @@ -865,7 +898,7 @@ packages: state-local: 1.0.7 dev: false - /@monaco-editor/react/4.4.6_6vrjaj6ridxbohi43n7zt4gn7q: + /@monaco-editor/react@4.4.6(monaco-editor@0.34.1)(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-Gr3uz3LYf33wlFE3eRnta4RxP5FSNxiIV9ENn2D2/rN8KgGAD8ecvcITRtsbbyuOuNkwbuHYxfeaz2Vr+CtyFA==, @@ -875,14 +908,14 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@monaco-editor/loader': 1.3.2_monaco-editor@0.34.1 + '@monaco-editor/loader': 1.3.2(monaco-editor@0.34.1) monaco-editor: 0.34.1 prop-types: 15.8.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@octokit/auth-token/2.5.0: + /@octokit/auth-token@2.5.0: resolution: { integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==, @@ -891,7 +924,7 @@ packages: '@octokit/types': 6.41.0 dev: true - /@octokit/core/3.6.0: + /@octokit/core@3.6.0: resolution: { integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==, @@ -908,7 +941,7 @@ packages: - encoding dev: true - /@octokit/endpoint/6.0.12: + /@octokit/endpoint@6.0.12: resolution: { integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==, @@ -919,7 +952,7 @@ packages: universal-user-agent: 6.0.0 dev: true - /@octokit/graphql/4.8.0: + /@octokit/graphql@4.8.0: resolution: { integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==, @@ -932,14 +965,14 @@ packages: - encoding dev: true - /@octokit/openapi-types/12.11.0: + /@octokit/openapi-types@12.11.0: resolution: { integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==, } dev: true - /@octokit/plugin-paginate-rest/2.21.3_@octokit+core@3.6.0: + /@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0): resolution: { integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==, @@ -951,7 +984,7 @@ packages: '@octokit/types': 6.41.0 dev: true - /@octokit/plugin-rest-endpoint-methods/5.16.2_@octokit+core@3.6.0: + /@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0): resolution: { integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==, @@ -964,7 +997,7 @@ packages: deprecation: 2.3.1 dev: true - /@octokit/request-error/2.1.0: + /@octokit/request-error@2.1.0: resolution: { integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==, @@ -975,7 +1008,7 @@ packages: once: 1.4.0 dev: true - /@octokit/request/5.6.3: + /@octokit/request@5.6.3: resolution: { integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==, @@ -991,7 +1024,7 @@ packages: - encoding dev: true - /@octokit/types/6.41.0: + /@octokit/types@6.41.0: resolution: { integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==, @@ -1000,7 +1033,7 @@ packages: '@octokit/openapi-types': 12.11.0 dev: true - /@rc-component/context/1.3.0_biqbaboplfbrettd7655fr4n2y: + /@rc-component/context@1.3.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-6QdaCJ7Wn5UZLJs15IEfqy4Ru3OaL5ctqpQYWd5rlfV9wwzrzdt6+kgAQZV/qdB0MUPN4nhyBfRembQCIvBf+w==, @@ -1010,12 +1043,12 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.20.13 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@rc-component/mini-decimal/1.0.1: + /@rc-component/mini-decimal@1.0.1: resolution: { integrity: sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==, @@ -1025,7 +1058,7 @@ packages: '@babel/runtime': 7.20.13 dev: false - /@rc-component/mutate-observer/1.0.0_biqbaboplfbrettd7655fr4n2y: + /@rc-component/mutate-observer@1.0.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA==, @@ -1037,12 +1070,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@rc-component/portal/1.1.0_biqbaboplfbrettd7655fr4n2y: + /@rc-component/portal@1.1.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-tbXM9SB1r5FOuZjRCljERFByFiEUcMmCWMXLog/NmgCzlAzreXyf23Vei3ZpSMxSMavzPnhCovfZjZdmxS3d1w==, @@ -1054,12 +1087,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@rc-component/tour/1.1.0_biqbaboplfbrettd7655fr4n2y: + /@rc-component/tour@1.1.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-Cy45VnNEDq6DLF5eKonIflObDfofbPq7AJpSf18qLN+j9+wW+sNlRv3JnCMDUsCdhSlnM4+yJ1RMokKp9GCpOQ==, @@ -1070,15 +1103,15 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.20.13 - '@rc-component/portal': 1.1.0_biqbaboplfbrettd7655fr4n2y + '@rc-component/portal': 1.1.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@remix-run/router/1.3.1: + /@remix-run/router@1.3.1: resolution: { integrity: sha512-+eun1Wtf72RNRSqgU7qM2AMX/oHp+dnx7BHk1qhK5ZHzdHTUU4LA1mGG1vT+jMc8sbhG3orvsfOmryjzx2PzQw==, @@ -1086,7 +1119,7 @@ packages: engines: { node: '>=14' } dev: false - /@tauri-apps/api/1.2.0: + /@tauri-apps/api@1.2.0: resolution: { integrity: sha512-lsI54KI6HGf7VImuf/T9pnoejfgkNoXveP14pVV7XarrQ46rOejIVJLFqHI9sRReJMGdh2YuCoI3cc/yCWCsrw==, @@ -1094,7 +1127,7 @@ packages: engines: { node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1' } dev: false - /@tauri-apps/cli-darwin-arm64/1.3.1: + /@tauri-apps/cli-darwin-arm64@1.3.1: resolution: { integrity: sha512-QlepYVPgOgspcwA/u4kGG4ZUijlXfdRtno00zEy+LxinN/IRXtk+6ErVtsmoLi1ZC9WbuMwzAcsRvqsD+RtNAg==, @@ -1106,7 +1139,7 @@ packages: dev: true optional: true - /@tauri-apps/cli-darwin-x64/1.3.1: + /@tauri-apps/cli-darwin-x64@1.3.1: resolution: { integrity: sha512-fKcAUPVFO3jfDKXCSDGY0MhZFF/wDtx3rgFnogWYu4knk38o9RaqRkvMvqJhLYPuWaEM5h6/z1dRrr9KKCbrVg==, @@ -1118,7 +1151,7 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm-gnueabihf/1.3.1: + /@tauri-apps/cli-linux-arm-gnueabihf@1.3.1: resolution: { integrity: sha512-+4H0dv8ltJHYu/Ma1h9ixUPUWka9EjaYa8nJfiMsdCI4LJLNE6cPveE7RmhZ59v9GW1XB108/k083JUC/OtGvA==, @@ -1130,7 +1163,7 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm64-gnu/1.3.1: + /@tauri-apps/cli-linux-arm64-gnu@1.3.1: resolution: { integrity: sha512-Pj3odVO1JAxLjYmoXKxcrpj/tPxcA8UP8N06finhNtBtBaxAjrjjxKjO4968KB0BUH7AASIss9EL4Tr0FGnDuw==, @@ -1142,7 +1175,7 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm64-musl/1.3.1: + /@tauri-apps/cli-linux-arm64-musl@1.3.1: resolution: { integrity: sha512-tA0JdDLPFaj42UDIVcF2t8V0tSha40rppcmAR/MfQpTCxih6399iMjwihz9kZE1n4b5O4KTq9GliYo50a8zYlQ==, @@ -1154,7 +1187,7 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-x64-gnu/1.3.1: + /@tauri-apps/cli-linux-x64-gnu@1.3.1: resolution: { integrity: sha512-FDU+Mnvk6NLkqQimcNojdKpMN4Y3W51+SQl+NqG9AFCWprCcSg62yRb84751ujZuf2MGT8HQOfmd0i77F4Q3tQ==, @@ -1166,7 +1199,7 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-x64-musl/1.3.1: + /@tauri-apps/cli-linux-x64-musl@1.3.1: resolution: { integrity: sha512-MpO3akXFmK8lZYEbyQRDfhdxz1JkTBhonVuz5rRqxwA7gnGWHa1aF1+/2zsy7ahjB2tQ9x8DDFDMdVE20o9HrA==, @@ -1178,7 +1211,7 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-ia32-msvc/1.3.1: + /@tauri-apps/cli-win32-ia32-msvc@1.3.1: resolution: { integrity: sha512-9Boeo3K5sOrSBAZBuYyGkpV2RfnGQz3ZhGJt4hE6P+HxRd62lS6+qDKAiw1GmkZ0l1drc2INWrNeT50gwOKwIQ==, @@ -1190,7 +1223,7 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-x64-msvc/1.3.1: + /@tauri-apps/cli-win32-x64-msvc@1.3.1: resolution: { integrity: sha512-wMrTo91hUu5CdpbElrOmcZEoJR4aooTG+fbtcc87SMyPGQy1Ux62b+ZdwLvL1sVTxnIm//7v6QLRIWGiUjCPwA==, @@ -1202,7 +1235,7 @@ packages: dev: true optional: true - /@tauri-apps/cli/1.3.1: + /@tauri-apps/cli@1.3.1: resolution: { integrity: sha512-o4I0JujdITsVRm3/0spfJX7FcKYrYV1DXJqzlWIn6IY25/RltjU6qbC1TPgVww3RsRX63jyVUTcWpj5wwFl+EQ==, @@ -1221,7 +1254,7 @@ packages: '@tauri-apps/cli-win32-x64-msvc': 1.3.1 dev: true - /@tauri-release/cli/0.2.5: + /@tauri-release/cli@0.2.5: resolution: { integrity: sha512-cP6+pKjVOkJu/ZpBW0YtpDxlZOzCnsz+s5cE259zpxM9EWZpgNwpxu7MMvVJZ6ZBUSBWWkDpwxOW9llfPphHuQ==, @@ -1236,7 +1269,7 @@ packages: - encoding dev: true - /@types/debug/4.1.7: + /@types/debug@4.1.7: resolution: { integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==, @@ -1245,7 +1278,7 @@ packages: '@types/ms': 0.7.31 dev: false - /@types/estree-jsx/1.0.0: + /@types/estree-jsx@1.0.0: resolution: { integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==, @@ -1254,14 +1287,14 @@ packages: '@types/estree': 1.0.0 dev: false - /@types/estree/1.0.0: + /@types/estree@1.0.0: resolution: { integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==, } dev: false - /@types/hast/2.3.4: + /@types/hast@2.3.4: resolution: { integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==, @@ -1270,14 +1303,14 @@ packages: '@types/unist': 2.0.6 dev: false - /@types/lodash/4.14.191: + /@types/lodash@4.14.191: resolution: { integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==, } dev: true - /@types/mdast/3.0.10: + /@types/mdast@3.0.10: resolution: { integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==, @@ -1286,41 +1319,41 @@ packages: '@types/unist': 2.0.6 dev: false - /@types/minimatch/3.0.5: + /@types/minimatch@3.0.5: resolution: { integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==, } dev: true - /@types/ms/0.7.31: + /@types/ms@0.7.31: resolution: { integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==, } dev: false - /@types/node/18.11.19: + /@types/node@18.11.19: resolution: { integrity: sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw==, } dev: true - /@types/parse5/6.0.3: + /@types/parse5@6.0.3: resolution: { integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==, } dev: false - /@types/prop-types/15.7.5: + /@types/prop-types@15.7.5: resolution: { integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==, } - /@types/react-dom/18.0.10: + /@types/react-dom@18.0.10: resolution: { integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==, @@ -1329,7 +1362,7 @@ packages: '@types/react': 18.0.27 dev: true - /@types/react-syntax-highlighter/15.5.6: + /@types/react-syntax-highlighter@15.5.6: resolution: { integrity: sha512-i7wFuLbIAFlabTeD2I1cLjEOrG/xdMa/rpx2zwzAoGHuXJDhSqp9BSfDlMHSh9JSuNfxHk9eEmMX6D55GiyjGg==, @@ -1338,7 +1371,7 @@ packages: '@types/react': 18.0.27 dev: true - /@types/react/18.0.27: + /@types/react@18.0.27: resolution: { integrity: sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==, @@ -1348,27 +1381,27 @@ packages: '@types/scheduler': 0.16.2 csstype: 3.1.1 - /@types/scheduler/0.16.2: + /@types/scheduler@0.16.2: resolution: { integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==, } - /@types/unist/2.0.6: + /@types/unist@2.0.6: resolution: { integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==, } dev: false - /@types/uuid/9.0.0: + /@types/uuid@9.0.0: resolution: { integrity: sha512-kr90f+ERiQtKWMz5rP32ltJ/BtULDI5RVO0uavn1HQUOwjx0R1h0rnDYNL0CepF1zL5bSY6FISAfd9tOdDhU5Q==, } dev: true - /@vitejs/plugin-react/3.1.0_vite@4.1.1: + /@vitejs/plugin-react@3.1.0(vite@4.1.1): resolution: { integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==, @@ -1378,16 +1411,16 @@ packages: vite: ^4.1.0-beta.0 dependencies: '@babel/core': 7.20.12 - '@babel/plugin-transform-react-jsx-self': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.12 + '@babel/plugin-transform-react-jsx-self': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.20.12) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.1.1_w4o4wsgkler5i3zieyqxrswv2u + vite: 4.1.1(@types/node@18.11.19)(sass@1.58.0) transitivePeerDependencies: - supports-color dev: true - /ansi-styles/3.2.1: + /ansi-styles@3.2.1: resolution: { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, @@ -1397,7 +1430,7 @@ packages: color-convert: 1.9.3 dev: true - /ansi-styles/4.3.0: + /ansi-styles@4.3.0: resolution: { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, @@ -1407,7 +1440,7 @@ packages: color-convert: 2.0.1 dev: true - /antd/5.1.7_biqbaboplfbrettd7655fr4n2y: + /antd@5.1.7(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-rz7wrUPWfE1WAt7o8vlTmjfxVmbV0Vyh00PEO8F837Gq0wugvOiWVPJ4BI/piIxUIpKXASYmCYWOczoHCkwBMQ==, @@ -1417,52 +1450,52 @@ packages: react-dom: '>=16.9.0' dependencies: '@ant-design/colors': 7.0.0 - '@ant-design/cssinjs': 1.5.6_biqbaboplfbrettd7655fr4n2y - '@ant-design/icons': 5.0.1_biqbaboplfbrettd7655fr4n2y - '@ant-design/react-slick': 1.0.0_react@18.2.0 + '@ant-design/cssinjs': 1.5.6(react-dom@18.2.0)(react@18.2.0) + '@ant-design/icons': 5.0.1(react-dom@18.2.0)(react@18.2.0) + '@ant-design/react-slick': 1.0.0(react@18.2.0) '@babel/runtime': 7.20.13 '@ctrl/tinycolor': 3.5.0 - '@rc-component/mutate-observer': 1.0.0_biqbaboplfbrettd7655fr4n2y - '@rc-component/tour': 1.1.0_biqbaboplfbrettd7655fr4n2y + '@rc-component/mutate-observer': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@rc-component/tour': 1.1.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 copy-to-clipboard: 3.3.3 dayjs: 1.11.7 - qrcode.react: 3.1.0_react@18.2.0 - rc-cascader: 3.8.0_biqbaboplfbrettd7655fr4n2y - rc-checkbox: 2.3.2_biqbaboplfbrettd7655fr4n2y - rc-collapse: 3.4.2_biqbaboplfbrettd7655fr4n2y - rc-dialog: 9.0.2_biqbaboplfbrettd7655fr4n2y - rc-drawer: 6.1.2_biqbaboplfbrettd7655fr4n2y - rc-dropdown: 4.0.1_biqbaboplfbrettd7655fr4n2y - rc-field-form: 1.27.3_biqbaboplfbrettd7655fr4n2y - rc-image: 5.13.0_biqbaboplfbrettd7655fr4n2y - rc-input: 0.1.4_biqbaboplfbrettd7655fr4n2y - rc-input-number: 7.4.0_biqbaboplfbrettd7655fr4n2y - rc-mentions: 1.13.1_biqbaboplfbrettd7655fr4n2y - rc-menu: 9.8.2_biqbaboplfbrettd7655fr4n2y - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-notification: 5.0.2_biqbaboplfbrettd7655fr4n2y - rc-pagination: 3.2.0_biqbaboplfbrettd7655fr4n2y - rc-picker: 3.1.4_mlnkrlbros4rghcauwy625gk7y - rc-progress: 3.4.1_biqbaboplfbrettd7655fr4n2y - rc-rate: 2.9.2_biqbaboplfbrettd7655fr4n2y - rc-resize-observer: 1.3.0_biqbaboplfbrettd7655fr4n2y - rc-segmented: 2.1.1_biqbaboplfbrettd7655fr4n2y - rc-select: 14.2.0_biqbaboplfbrettd7655fr4n2y - rc-slider: 10.0.1_biqbaboplfbrettd7655fr4n2y - rc-steps: 6.0.0_biqbaboplfbrettd7655fr4n2y - rc-switch: 4.0.0_biqbaboplfbrettd7655fr4n2y - rc-table: 7.30.3_biqbaboplfbrettd7655fr4n2y - rc-tabs: 12.5.6_biqbaboplfbrettd7655fr4n2y - rc-textarea: 0.4.7_biqbaboplfbrettd7655fr4n2y - rc-tooltip: 5.2.2_biqbaboplfbrettd7655fr4n2y - rc-tree: 5.7.2_biqbaboplfbrettd7655fr4n2y - rc-tree-select: 5.6.0_biqbaboplfbrettd7655fr4n2y - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y - rc-upload: 4.3.4_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + qrcode.react: 3.1.0(react@18.2.0) + rc-cascader: 3.8.0(react-dom@18.2.0)(react@18.2.0) + rc-checkbox: 2.3.2(react-dom@18.2.0)(react@18.2.0) + rc-collapse: 3.4.2(react-dom@18.2.0)(react@18.2.0) + rc-dialog: 9.0.2(react-dom@18.2.0)(react@18.2.0) + rc-drawer: 6.1.2(react-dom@18.2.0)(react@18.2.0) + rc-dropdown: 4.0.1(react-dom@18.2.0)(react@18.2.0) + rc-field-form: 1.27.3(react-dom@18.2.0)(react@18.2.0) + rc-image: 5.13.0(react-dom@18.2.0)(react@18.2.0) + rc-input: 0.1.4(react-dom@18.2.0)(react@18.2.0) + rc-input-number: 7.4.0(react-dom@18.2.0)(react@18.2.0) + rc-mentions: 1.13.1(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.2(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-notification: 5.0.2(react-dom@18.2.0)(react@18.2.0) + rc-pagination: 3.2.0(react-dom@18.2.0)(react@18.2.0) + rc-picker: 3.1.4(dayjs@1.11.7)(react-dom@18.2.0)(react@18.2.0) + rc-progress: 3.4.1(react-dom@18.2.0)(react@18.2.0) + rc-rate: 2.9.2(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-segmented: 2.1.1(react-dom@18.2.0)(react@18.2.0) + rc-select: 14.2.0(react-dom@18.2.0)(react@18.2.0) + rc-slider: 10.0.1(react-dom@18.2.0)(react@18.2.0) + rc-steps: 6.0.0(react-dom@18.2.0)(react@18.2.0) + rc-switch: 4.0.0(react-dom@18.2.0)(react@18.2.0) + rc-table: 7.30.3(react-dom@18.2.0)(react@18.2.0) + rc-tabs: 12.5.6(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 0.4.7(react-dom@18.2.0)(react@18.2.0) + rc-tooltip: 5.2.2(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.2(react-dom@18.2.0)(react@18.2.0) + rc-tree-select: 5.6.0(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-upload: 4.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) scroll-into-view-if-needed: 3.0.4 throttle-debounce: 5.0.0 transitivePeerDependencies: @@ -1470,7 +1503,7 @@ packages: - moment dev: false - /anymatch/3.1.3: + /anymatch@3.1.3: resolution: { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, @@ -1481,7 +1514,7 @@ packages: picomatch: 2.3.1 dev: true - /array-differ/3.0.0: + /array-differ@3.0.0: resolution: { integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==, @@ -1489,14 +1522,14 @@ packages: engines: { node: '>=8' } dev: true - /array-tree-filter/2.1.0: + /array-tree-filter@2.1.0: resolution: { integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==, } dev: false - /array-union/2.1.0: + /array-union@2.1.0: resolution: { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, @@ -1504,7 +1537,7 @@ packages: engines: { node: '>=8' } dev: true - /arrify/2.0.1: + /arrify@2.0.1: resolution: { integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==, @@ -1512,35 +1545,35 @@ packages: engines: { node: '>=8' } dev: true - /async-validator/4.2.5: + /async-validator@4.2.5: resolution: { integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==, } dev: false - /bail/2.0.2: + /bail@2.0.2: resolution: { integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==, } dev: false - /balanced-match/1.0.2: + /balanced-match@1.0.2: resolution: { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, } dev: true - /before-after-hook/2.2.3: + /before-after-hook@2.2.3: resolution: { integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==, } dev: true - /binary-extensions/2.2.0: + /binary-extensions@2.2.0: resolution: { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, @@ -1548,7 +1581,7 @@ packages: engines: { node: '>=8' } dev: true - /brace-expansion/1.1.11: + /brace-expansion@1.1.11: resolution: { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, @@ -1558,7 +1591,7 @@ packages: concat-map: 0.0.1 dev: true - /braces/3.0.2: + /braces@3.0.2: resolution: { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, @@ -1568,7 +1601,7 @@ packages: fill-range: 7.0.1 dev: true - /browserslist/4.21.5: + /browserslist@4.21.5: resolution: { integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==, @@ -1579,24 +1612,24 @@ packages: caniuse-lite: 1.0.30001450 electron-to-chromium: 1.4.286 node-releases: 2.0.10 - update-browserslist-db: 1.0.10_browserslist@4.21.5 + update-browserslist-db: 1.0.10(browserslist@4.21.5) dev: true - /caniuse-lite/1.0.30001450: + /caniuse-lite@1.0.30001450: resolution: { integrity: sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==, } dev: true - /ccount/2.0.1: + /ccount@2.0.1: resolution: { integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==, } dev: false - /chalk/2.4.2: + /chalk@2.4.2: resolution: { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, @@ -1608,7 +1641,7 @@ packages: supports-color: 5.5.0 dev: true - /chalk/3.0.0: + /chalk@3.0.0: resolution: { integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==, @@ -1619,35 +1652,35 @@ packages: supports-color: 7.2.0 dev: true - /character-entities-legacy/1.1.4: + /character-entities-legacy@1.1.4: resolution: { integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==, } dev: false - /character-entities/1.2.4: + /character-entities@1.2.4: resolution: { integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==, } dev: false - /character-entities/2.0.2: + /character-entities@2.0.2: resolution: { integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==, } dev: false - /character-reference-invalid/1.1.4: + /character-reference-invalid@1.1.4: resolution: { integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==, } dev: false - /chokidar/3.5.3: + /chokidar@3.5.3: resolution: { integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, @@ -1665,14 +1698,14 @@ packages: fsevents: 2.3.2 dev: true - /classnames/2.3.2: + /classnames@2.3.2: resolution: { integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==, } dev: false - /clsx/1.2.1: + /clsx@1.2.1: resolution: { integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==, @@ -1680,7 +1713,7 @@ packages: engines: { node: '>=6' } dev: false - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, @@ -1689,7 +1722,7 @@ packages: color-name: 1.1.3 dev: true - /color-convert/2.0.1: + /color-convert@2.0.1: resolution: { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, @@ -1699,53 +1732,53 @@ packages: color-name: 1.1.4 dev: true - /color-name/1.1.3: + /color-name@1.1.3: resolution: { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, } dev: true - /color-name/1.1.4: + /color-name@1.1.4: resolution: { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, } dev: true - /comma-separated-tokens/1.0.8: + /comma-separated-tokens@1.0.8: resolution: { integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==, } dev: false - /comma-separated-tokens/2.0.3: + /comma-separated-tokens@2.0.3: resolution: { integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==, } dev: false - /compute-scroll-into-view/2.0.4: + /compute-scroll-into-view@2.0.4: resolution: { integrity: sha512-y/ZA3BGnxoM/QHHQ2Uy49CLtnWPbt4tTPpEEZiEmmiWBFKjej7nEyH8Ryz54jH0MLXflUYA3Er2zUxPSJu5R+g==, } dev: false - /concat-map/0.0.1: + /concat-map@0.0.1: resolution: { integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= } dev: true - /convert-source-map/1.9.0: + /convert-source-map@1.9.0: resolution: { integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, } dev: true - /copy-to-clipboard/3.3.3: + /copy-to-clipboard@3.3.3: resolution: { integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==, @@ -1754,7 +1787,7 @@ packages: toggle-selection: 1.0.6 dev: false - /cross-spawn/7.0.3: + /cross-spawn@7.0.3: resolution: { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, @@ -1766,13 +1799,13 @@ packages: which: 2.0.2 dev: true - /csstype/3.1.1: + /csstype@3.1.1: resolution: { integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==, } - /data-uri-to-buffer/4.0.1: + /data-uri-to-buffer@4.0.1: resolution: { integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==, @@ -1780,14 +1813,14 @@ packages: engines: { node: '>= 12' } dev: true - /dayjs/1.11.7: + /dayjs@1.11.7: resolution: { integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==, } dev: false - /debug/4.3.4: + /debug@4.3.4: resolution: { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, @@ -1801,7 +1834,7 @@ packages: dependencies: ms: 2.1.2 - /decode-named-character-reference/1.0.2: + /decode-named-character-reference@1.0.2: resolution: { integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==, @@ -1810,14 +1843,14 @@ packages: character-entities: 2.0.2 dev: false - /deprecation/2.3.1: + /deprecation@2.3.1: resolution: { integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==, } dev: true - /dequal/2.0.3: + /dequal@2.0.3: resolution: { integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, @@ -1825,7 +1858,7 @@ packages: engines: { node: '>=6' } dev: false - /diff/5.1.0: + /diff@5.1.0: resolution: { integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==, @@ -1833,21 +1866,21 @@ packages: engines: { node: '>=0.3.1' } dev: false - /dom-align/1.12.4: + /dom-align@1.12.4: resolution: { integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==, } dev: false - /electron-to-chromium/1.4.286: + /electron-to-chromium@1.4.286: resolution: { integrity: sha512-Vp3CVhmYpgf4iXNKAucoQUDcCrBQX3XLBtwgFqP9BUXuucgvAV9zWp1kYU7LL9j4++s9O+12cb3wMtN4SJy6UQ==, } dev: true - /end-of-stream/1.4.4: + /end-of-stream@1.4.4: resolution: { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, @@ -1856,7 +1889,7 @@ packages: once: 1.4.0 dev: true - /esbuild/0.16.17: + /esbuild@0.16.17: resolution: { integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==, @@ -1889,7 +1922,7 @@ packages: '@esbuild/win32-x64': 0.16.17 dev: true - /escalade/3.1.1: + /escalade@3.1.1: resolution: { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, @@ -1897,7 +1930,7 @@ packages: engines: { node: '>=6' } dev: true - /escape-string-regexp/1.0.5: + /escape-string-regexp@1.0.5: resolution: { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, @@ -1905,7 +1938,7 @@ packages: engines: { node: '>=0.8.0' } dev: true - /escape-string-regexp/5.0.0: + /escape-string-regexp@5.0.0: resolution: { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==, @@ -1913,7 +1946,7 @@ packages: engines: { node: '>=12' } dev: false - /execa/4.1.0: + /execa@4.1.0: resolution: { integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, @@ -1931,14 +1964,14 @@ packages: strip-final-newline: 2.0.0 dev: true - /extend/3.0.2: + /extend@3.0.2: resolution: { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==, } dev: false - /fault/1.0.4: + /fault@1.0.4: resolution: { integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==, @@ -1947,7 +1980,7 @@ packages: format: 0.2.2 dev: false - /fetch-blob/3.2.0: + /fetch-blob@3.2.0: resolution: { integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==, @@ -1958,7 +1991,7 @@ packages: web-streams-polyfill: 3.2.1 dev: true - /fill-range/7.0.1: + /fill-range@7.0.1: resolution: { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, @@ -1968,7 +2001,7 @@ packages: to-regex-range: 5.0.1 dev: true - /find-up/4.1.0: + /find-up@4.1.0: resolution: { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, @@ -1979,7 +2012,7 @@ packages: path-exists: 4.0.0 dev: true - /format/0.2.2: + /format@0.2.2: resolution: { integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==, @@ -1987,7 +2020,7 @@ packages: engines: { node: '>=0.4.x' } dev: false - /formdata-polyfill/4.0.10: + /formdata-polyfill@4.0.10: resolution: { integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==, @@ -1997,7 +2030,7 @@ packages: fetch-blob: 3.2.0 dev: true - /fsevents/2.3.2: + /fsevents@2.3.2: resolution: { integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, @@ -2008,14 +2041,14 @@ packages: dev: true optional: true - /function-bind/1.1.1: + /function-bind@1.1.1: resolution: { integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, } dev: true - /gensync/1.0.0-beta.2: + /gensync@1.0.0-beta.2: resolution: { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, @@ -2023,7 +2056,7 @@ packages: engines: { node: '>=6.9.0' } dev: true - /get-stream/5.2.0: + /get-stream@5.2.0: resolution: { integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, @@ -2033,14 +2066,14 @@ packages: pump: 3.0.0 dev: true - /github-markdown-css/5.1.0: + /github-markdown-css@5.1.0: resolution: { integrity: sha512-QLtORwHHtUHhPMHu7i4GKfP6Vx5CWZn+NKQXe+cBhslY1HEt0CTEkP4d/vSROKV0iIJSpl4UtlQ16AD8C6lMug==, } dev: false - /glob-parent/5.1.2: + /glob-parent@5.1.2: resolution: { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, @@ -2050,7 +2083,7 @@ packages: is-glob: 4.0.3 dev: true - /globals/11.12.0: + /globals@11.12.0: resolution: { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, @@ -2058,14 +2091,14 @@ packages: engines: { node: '>=4' } dev: true - /globrex/0.1.2: + /globrex@0.1.2: resolution: { integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==, } dev: true - /has-flag/3.0.0: + /has-flag@3.0.0: resolution: { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, @@ -2073,7 +2106,7 @@ packages: engines: { node: '>=4' } dev: true - /has-flag/4.0.0: + /has-flag@4.0.0: resolution: { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, @@ -2081,7 +2114,7 @@ packages: engines: { node: '>=8' } dev: true - /has/1.0.3: + /has@1.0.3: resolution: { integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, @@ -2091,7 +2124,7 @@ packages: function-bind: 1.1.1 dev: true - /hast-util-from-parse5/7.1.1: + /hast-util-from-parse5@7.1.1: resolution: { integrity: sha512-R6PoNcUs89ZxLJmMWsVbwSWuz95/9OriyQZ3e2ybwqGsRXzhA6gv49rgGmQvLbZuSNDv9fCg7vV7gXUsvtUFaA==, @@ -2106,14 +2139,14 @@ packages: web-namespaces: 2.0.1 dev: false - /hast-util-parse-selector/2.2.5: + /hast-util-parse-selector@2.2.5: resolution: { integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==, } dev: false - /hast-util-parse-selector/3.1.1: + /hast-util-parse-selector@3.1.1: resolution: { integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==, @@ -2122,7 +2155,7 @@ packages: '@types/hast': 2.3.4 dev: false - /hast-util-raw/7.2.3: + /hast-util-raw@7.2.3: resolution: { integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==, @@ -2141,7 +2174,7 @@ packages: zwitch: 2.0.4 dev: false - /hast-util-to-parse5/7.1.0: + /hast-util-to-parse5@7.1.0: resolution: { integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==, @@ -2155,14 +2188,14 @@ packages: zwitch: 2.0.4 dev: false - /hast-util-whitespace/2.0.1: + /hast-util-whitespace@2.0.1: resolution: { integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==, } dev: false - /hastscript/6.0.0: + /hastscript@6.0.0: resolution: { integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==, @@ -2175,7 +2208,7 @@ packages: space-separated-tokens: 1.1.5 dev: false - /hastscript/7.2.0: + /hastscript@7.2.0: resolution: { integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==, @@ -2188,21 +2221,21 @@ packages: space-separated-tokens: 2.0.2 dev: false - /highlight.js/10.7.3: + /highlight.js@10.7.3: resolution: { integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==, } dev: false - /html-void-elements/2.0.1: + /html-void-elements@2.0.1: resolution: { integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==, } dev: false - /human-signals/1.1.1: + /human-signals@1.1.1: resolution: { integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==, @@ -2210,7 +2243,7 @@ packages: engines: { node: '>=8.12.0' } dev: true - /husky/8.0.3: + /husky@8.0.3: resolution: { integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==, @@ -2219,7 +2252,7 @@ packages: hasBin: true dev: true - /ignore/5.2.4: + /ignore@5.2.4: resolution: { integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==, @@ -2227,28 +2260,28 @@ packages: engines: { node: '>= 4' } dev: true - /immutable/4.2.3: + /immutable@4.2.3: resolution: { integrity: sha512-IHpmvaOIX4VLJwPOuQr1NpeBr2ZG6vpIj3blsLVxXRWJscLioaJRStqC+NcBsLeCDsnGlPpXd5/WZmnE7MbsKA==, } dev: true - /inline-style-parser/0.1.1: + /inline-style-parser@0.1.1: resolution: { integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==, } dev: false - /is-alphabetical/1.0.4: + /is-alphabetical@1.0.4: resolution: { integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==, } dev: false - /is-alphanumerical/1.0.4: + /is-alphanumerical@1.0.4: resolution: { integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==, @@ -2258,7 +2291,7 @@ packages: is-decimal: 1.0.4 dev: false - /is-binary-path/2.1.0: + /is-binary-path@2.1.0: resolution: { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, @@ -2268,7 +2301,7 @@ packages: binary-extensions: 2.2.0 dev: true - /is-buffer/2.0.5: + /is-buffer@2.0.5: resolution: { integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==, @@ -2276,7 +2309,7 @@ packages: engines: { node: '>=4' } dev: false - /is-core-module/2.11.0: + /is-core-module@2.11.0: resolution: { integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==, @@ -2285,14 +2318,14 @@ packages: has: 1.0.3 dev: true - /is-decimal/1.0.4: + /is-decimal@1.0.4: resolution: { integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==, } dev: false - /is-extglob/2.1.1: + /is-extglob@2.1.1: resolution: { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, @@ -2300,7 +2333,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /is-glob/4.0.3: + /is-glob@4.0.3: resolution: { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, @@ -2310,14 +2343,14 @@ packages: is-extglob: 2.1.1 dev: true - /is-hexadecimal/1.0.4: + /is-hexadecimal@1.0.4: resolution: { integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==, } dev: false - /is-number/7.0.0: + /is-number@7.0.0: resolution: { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, @@ -2325,7 +2358,7 @@ packages: engines: { node: '>=0.12.0' } dev: true - /is-plain-obj/4.1.0: + /is-plain-obj@4.1.0: resolution: { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, @@ -2333,7 +2366,7 @@ packages: engines: { node: '>=12' } dev: false - /is-plain-object/5.0.0: + /is-plain-object@5.0.0: resolution: { integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, @@ -2341,7 +2374,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /is-stream/2.0.1: + /is-stream@2.0.1: resolution: { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, @@ -2349,20 +2382,20 @@ packages: engines: { node: '>=8' } dev: true - /isexe/2.0.0: + /isexe@2.0.0: resolution: { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, } dev: true - /js-tokens/4.0.0: + /js-tokens@4.0.0: resolution: { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, } - /jsesc/2.5.2: + /jsesc@2.5.2: resolution: { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, @@ -2371,7 +2404,7 @@ packages: hasBin: true dev: true - /json2mq/0.2.0: + /json2mq@0.2.0: resolution: { integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==, @@ -2380,7 +2413,7 @@ packages: string-convert: 0.2.1 dev: false - /json5/2.2.3: + /json5@2.2.3: resolution: { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, @@ -2389,7 +2422,7 @@ packages: hasBin: true dev: true - /kleur/4.1.5: + /kleur@4.1.5: resolution: { integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, @@ -2397,7 +2430,7 @@ packages: engines: { node: '>=6' } dev: false - /locate-path/5.0.0: + /locate-path@5.0.0: resolution: { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, @@ -2407,20 +2440,20 @@ packages: p-locate: 4.1.0 dev: true - /lodash/4.17.21: + /lodash@4.17.21: resolution: { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, } - /longest-streak/3.1.0: + /longest-streak@3.1.0: resolution: { integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==, } dev: false - /loose-envify/1.4.0: + /loose-envify@1.4.0: resolution: { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, @@ -2430,7 +2463,7 @@ packages: js-tokens: 4.0.0 dev: false - /lowlight/1.20.0: + /lowlight@1.20.0: resolution: { integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==, @@ -2440,7 +2473,7 @@ packages: highlight.js: 10.7.3 dev: false - /lru-cache/5.1.1: + /lru-cache@5.1.1: resolution: { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, @@ -2449,7 +2482,7 @@ packages: yallist: 3.1.1 dev: true - /magic-string/0.27.0: + /magic-string@0.27.0: resolution: { integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==, @@ -2459,14 +2492,14 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /markdown-table/3.0.3: + /markdown-table@3.0.3: resolution: { integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==, } dev: false - /mdast-comment-marker/2.1.1: + /mdast-comment-marker@2.1.1: resolution: { integrity: sha512-ktFfySmbRfOPiWoLkRKqkkyYkDnBVX5b5FqXwnvV1TmgVOl49ETsYK4hPKqrlM15y7AtxNDKIKwJRkZa3TWkng==, @@ -2478,7 +2511,7 @@ packages: - supports-color dev: false - /mdast-util-definitions/5.1.2: + /mdast-util-definitions@5.1.2: resolution: { integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==, @@ -2489,7 +2522,7 @@ packages: unist-util-visit: 4.1.2 dev: false - /mdast-util-find-and-replace/2.2.2: + /mdast-util-find-and-replace@2.2.2: resolution: { integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==, @@ -2501,7 +2534,7 @@ packages: unist-util-visit-parents: 5.1.3 dev: false - /mdast-util-from-markdown/1.3.0: + /mdast-util-from-markdown@1.3.0: resolution: { integrity: sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==, @@ -2523,7 +2556,7 @@ packages: - supports-color dev: false - /mdast-util-gfm-autolink-literal/1.0.3: + /mdast-util-gfm-autolink-literal@1.0.3: resolution: { integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==, @@ -2535,7 +2568,7 @@ packages: micromark-util-character: 1.1.0 dev: false - /mdast-util-gfm-footnote/1.0.2: + /mdast-util-gfm-footnote@1.0.2: resolution: { integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==, @@ -2546,7 +2579,7 @@ packages: micromark-util-normalize-identifier: 1.0.0 dev: false - /mdast-util-gfm-strikethrough/1.0.3: + /mdast-util-gfm-strikethrough@1.0.3: resolution: { integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==, @@ -2556,7 +2589,7 @@ packages: mdast-util-to-markdown: 1.5.0 dev: false - /mdast-util-gfm-table/1.0.7: + /mdast-util-gfm-table@1.0.7: resolution: { integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==, @@ -2570,7 +2603,7 @@ packages: - supports-color dev: false - /mdast-util-gfm-task-list-item/1.0.2: + /mdast-util-gfm-task-list-item@1.0.2: resolution: { integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==, @@ -2580,7 +2613,7 @@ packages: mdast-util-to-markdown: 1.5.0 dev: false - /mdast-util-gfm/2.0.2: + /mdast-util-gfm@2.0.2: resolution: { integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==, @@ -2597,7 +2630,7 @@ packages: - supports-color dev: false - /mdast-util-mdx-expression/1.3.2: + /mdast-util-mdx-expression@1.3.2: resolution: { integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==, @@ -2612,7 +2645,7 @@ packages: - supports-color dev: false - /mdast-util-phrasing/3.0.1: + /mdast-util-phrasing@3.0.1: resolution: { integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==, @@ -2622,7 +2655,7 @@ packages: unist-util-is: 5.2.0 dev: false - /mdast-util-to-hast/12.3.0: + /mdast-util-to-hast@12.3.0: resolution: { integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==, @@ -2638,7 +2671,7 @@ packages: unist-util-visit: 4.1.2 dev: false - /mdast-util-to-markdown/1.5.0: + /mdast-util-to-markdown@1.5.0: resolution: { integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==, @@ -2654,7 +2687,7 @@ packages: zwitch: 2.0.4 dev: false - /mdast-util-to-string/3.1.1: + /mdast-util-to-string@3.1.1: resolution: { integrity: sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==, @@ -2663,14 +2696,14 @@ packages: '@types/mdast': 3.0.10 dev: false - /merge-stream/2.0.0: + /merge-stream@2.0.0: resolution: { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, } dev: true - /micromark-core-commonmark/1.0.6: + /micromark-core-commonmark@1.0.6: resolution: { integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==, @@ -2694,7 +2727,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-autolink-literal/1.0.3: + /micromark-extension-gfm-autolink-literal@1.0.3: resolution: { integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==, @@ -2707,7 +2740,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-footnote/1.0.4: + /micromark-extension-gfm-footnote@1.0.4: resolution: { integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==, @@ -2723,7 +2756,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-strikethrough/1.0.4: + /micromark-extension-gfm-strikethrough@1.0.4: resolution: { integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==, @@ -2737,7 +2770,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-table/1.0.5: + /micromark-extension-gfm-table@1.0.5: resolution: { integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==, @@ -2750,7 +2783,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-tagfilter/1.0.1: + /micromark-extension-gfm-tagfilter@1.0.1: resolution: { integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==, @@ -2759,7 +2792,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-extension-gfm-task-list-item/1.0.3: + /micromark-extension-gfm-task-list-item@1.0.3: resolution: { integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==, @@ -2772,7 +2805,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm/2.0.1: + /micromark-extension-gfm@2.0.1: resolution: { integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==, @@ -2788,7 +2821,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-factory-destination/1.0.0: + /micromark-factory-destination@1.0.0: resolution: { integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==, @@ -2799,7 +2832,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-factory-label/1.0.2: + /micromark-factory-label@1.0.2: resolution: { integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==, @@ -2811,7 +2844,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-factory-space/1.0.0: + /micromark-factory-space@1.0.0: resolution: { integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==, @@ -2821,7 +2854,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-factory-title/1.0.2: + /micromark-factory-title@1.0.2: resolution: { integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==, @@ -2834,7 +2867,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-factory-whitespace/1.0.0: + /micromark-factory-whitespace@1.0.0: resolution: { integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==, @@ -2846,7 +2879,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-util-character/1.1.0: + /micromark-util-character@1.1.0: resolution: { integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==, @@ -2856,7 +2889,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-util-chunked/1.0.0: + /micromark-util-chunked@1.0.0: resolution: { integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==, @@ -2865,7 +2898,7 @@ packages: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-classify-character/1.0.0: + /micromark-util-classify-character@1.0.0: resolution: { integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==, @@ -2876,7 +2909,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-util-combine-extensions/1.0.0: + /micromark-util-combine-extensions@1.0.0: resolution: { integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==, @@ -2886,7 +2919,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-util-decode-numeric-character-reference/1.0.0: + /micromark-util-decode-numeric-character-reference@1.0.0: resolution: { integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==, @@ -2895,7 +2928,7 @@ packages: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-decode-string/1.0.2: + /micromark-util-decode-string@1.0.2: resolution: { integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==, @@ -2907,21 +2940,21 @@ packages: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-encode/1.0.1: + /micromark-util-encode@1.0.1: resolution: { integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==, } dev: false - /micromark-util-html-tag-name/1.1.0: + /micromark-util-html-tag-name@1.1.0: resolution: { integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==, } dev: false - /micromark-util-normalize-identifier/1.0.0: + /micromark-util-normalize-identifier@1.0.0: resolution: { integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==, @@ -2930,7 +2963,7 @@ packages: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-resolve-all/1.0.0: + /micromark-util-resolve-all@1.0.0: resolution: { integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==, @@ -2939,7 +2972,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-util-sanitize-uri/1.1.0: + /micromark-util-sanitize-uri@1.1.0: resolution: { integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==, @@ -2950,7 +2983,7 @@ packages: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-subtokenize/1.0.2: + /micromark-util-subtokenize@1.0.2: resolution: { integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==, @@ -2962,21 +2995,21 @@ packages: uvu: 0.5.6 dev: false - /micromark-util-symbol/1.0.1: + /micromark-util-symbol@1.0.1: resolution: { integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==, } dev: false - /micromark-util-types/1.0.2: + /micromark-util-types@1.0.2: resolution: { integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==, } dev: false - /micromark/3.1.0: + /micromark@3.1.0: resolution: { integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==, @@ -3003,7 +3036,7 @@ packages: - supports-color dev: false - /mimic-fn/2.1.0: + /mimic-fn@2.1.0: resolution: { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, @@ -3011,7 +3044,7 @@ packages: engines: { node: '>=6' } dev: true - /minimatch/3.1.2: + /minimatch@3.1.2: resolution: { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, @@ -3020,27 +3053,27 @@ packages: brace-expansion: 1.1.11 dev: true - /monaco-editor/0.34.1: + /monaco-editor@0.34.1: resolution: { integrity: sha512-FKc80TyiMaruhJKKPz5SpJPIjL+dflGvz4CpuThaPMc94AyN7SeC9HQ8hrvaxX7EyHdJcUY5i4D0gNyJj1vSZQ==, } dev: false - /mri/1.2.0: + /mri@1.2.0: resolution: { integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, } engines: { node: '>=4' } - /ms/2.1.2: + /ms@2.1.2: resolution: { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, } - /multimatch/4.0.0: + /multimatch@4.0.0: resolution: { integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==, @@ -3054,7 +3087,7 @@ packages: minimatch: 3.1.2 dev: true - /nanoid/3.3.4: + /nanoid@3.3.4: resolution: { integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, @@ -3063,7 +3096,7 @@ packages: hasBin: true dev: true - /node-domexception/1.0.0: + /node-domexception@1.0.0: resolution: { integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==, @@ -3071,7 +3104,7 @@ packages: engines: { node: '>=10.5.0' } dev: true - /node-fetch/2.6.9: + /node-fetch@2.6.9: resolution: { integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==, @@ -3086,7 +3119,7 @@ packages: whatwg-url: 5.0.0 dev: true - /node-fetch/3.3.0: + /node-fetch@3.3.0: resolution: { integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==, @@ -3098,14 +3131,14 @@ packages: formdata-polyfill: 4.0.10 dev: true - /node-releases/2.0.10: + /node-releases@2.0.10: resolution: { integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==, } dev: true - /normalize-path/3.0.0: + /normalize-path@3.0.0: resolution: { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, @@ -3113,7 +3146,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /npm-run-path/4.0.1: + /npm-run-path@4.0.1: resolution: { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, @@ -3123,7 +3156,7 @@ packages: path-key: 3.1.1 dev: true - /object-assign/4.1.1: + /object-assign@4.1.1: resolution: { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, @@ -3131,7 +3164,7 @@ packages: engines: { node: '>=0.10.0' } dev: false - /once/1.4.0: + /once@1.4.0: resolution: { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, @@ -3140,7 +3173,7 @@ packages: wrappy: 1.0.2 dev: true - /onetime/5.1.2: + /onetime@5.1.2: resolution: { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, @@ -3150,7 +3183,7 @@ packages: mimic-fn: 2.1.0 dev: true - /p-limit/2.3.0: + /p-limit@2.3.0: resolution: { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, @@ -3160,7 +3193,7 @@ packages: p-try: 2.2.0 dev: true - /p-locate/4.1.0: + /p-locate@4.1.0: resolution: { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, @@ -3170,7 +3203,7 @@ packages: p-limit: 2.3.0 dev: true - /p-try/2.2.0: + /p-try@2.2.0: resolution: { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, @@ -3178,7 +3211,7 @@ packages: engines: { node: '>=6' } dev: true - /parse-entities/2.0.0: + /parse-entities@2.0.0: resolution: { integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==, @@ -3192,14 +3225,14 @@ packages: is-hexadecimal: 1.0.4 dev: false - /parse5/6.0.1: + /parse5@6.0.1: resolution: { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==, } dev: false - /path-exists/4.0.0: + /path-exists@4.0.0: resolution: { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, @@ -3207,7 +3240,7 @@ packages: engines: { node: '>=8' } dev: true - /path-key/3.1.1: + /path-key@3.1.1: resolution: { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, @@ -3215,21 +3248,21 @@ packages: engines: { node: '>=8' } dev: true - /path-parse/1.0.7: + /path-parse@1.0.7: resolution: { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, } dev: true - /picocolors/1.0.0: + /picocolors@1.0.0: resolution: { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, } dev: true - /picomatch/2.3.1: + /picomatch@2.3.1: resolution: { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, @@ -3237,7 +3270,7 @@ packages: engines: { node: '>=8.6' } dev: true - /postcss/8.4.21: + /postcss@8.4.21: resolution: { integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==, @@ -3249,7 +3282,7 @@ packages: source-map-js: 1.0.2 dev: true - /prettier/2.8.3: + /prettier@2.8.3: resolution: { integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==, @@ -3258,7 +3291,7 @@ packages: hasBin: true dev: true - /pretty-quick/3.1.3_prettier@2.8.3: + /pretty-quick@3.1.3(prettier@2.8.3): resolution: { integrity: sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==, @@ -3277,7 +3310,7 @@ packages: prettier: 2.8.3 dev: true - /prismjs/1.27.0: + /prismjs@1.27.0: resolution: { integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==, @@ -3285,7 +3318,7 @@ packages: engines: { node: '>=6' } dev: false - /prismjs/1.29.0: + /prismjs@1.29.0: resolution: { integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==, @@ -3293,7 +3326,7 @@ packages: engines: { node: '>=6' } dev: false - /prop-types/15.8.1: + /prop-types@15.8.1: resolution: { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, @@ -3304,7 +3337,7 @@ packages: react-is: 16.13.1 dev: false - /property-information/5.6.0: + /property-information@5.6.0: resolution: { integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==, @@ -3313,14 +3346,14 @@ packages: xtend: 4.0.2 dev: false - /property-information/6.2.0: + /property-information@6.2.0: resolution: { integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==, } dev: false - /pump/3.0.0: + /pump@3.0.0: resolution: { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, @@ -3330,7 +3363,7 @@ packages: once: 1.4.0 dev: true - /qrcode.react/3.1.0_react@18.2.0: + /qrcode.react@3.1.0(react@18.2.0): resolution: { integrity: sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==, @@ -3341,7 +3374,7 @@ packages: react: 18.2.0 dev: false - /rc-align/4.0.15_biqbaboplfbrettd7655fr4n2y: + /rc-align@4.0.15(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==, @@ -3353,13 +3386,13 @@ packages: '@babel/runtime': 7.20.13 classnames: 2.3.2 dom-align: 1.12.4 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) resize-observer-polyfill: 1.5.1 dev: false - /rc-cascader/3.8.0_biqbaboplfbrettd7655fr4n2y: + /rc-cascader@3.8.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-zCz/NzsNRQ1TIfiR3rQNxjeRvgRHEkNdo0FjHQZ6Ay6n4tdCmMrM7+81ThNaf21JLQ1gS2AUG2t5uikGV78obA==, @@ -3371,14 +3404,14 @@ packages: '@babel/runtime': 7.20.13 array-tree-filter: 2.1.0 classnames: 2.3.2 - rc-select: 14.2.0_biqbaboplfbrettd7655fr4n2y - rc-tree: 5.7.2_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-select: 14.2.0(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.2(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-checkbox/2.3.2_biqbaboplfbrettd7655fr4n2y: + /rc-checkbox@2.3.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==, @@ -3390,10 +3423,10 @@ packages: '@babel/runtime': 7.20.13 classnames: 2.3.2 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-collapse/3.4.2_biqbaboplfbrettd7655fr4n2y: + /rc-collapse@3.4.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==, @@ -3404,14 +3437,14 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) shallowequal: 1.1.0 dev: false - /rc-dialog/9.0.2_biqbaboplfbrettd7655fr4n2y: + /rc-dialog@9.0.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-s3U+24xWUuB6Bn2Lk/Qt6rufy+uT+QvWkiFhNBcO9APLxcFFczWamaq7x9h8SCuhfc1nHcW4y8NbMsnAjNnWyg==, @@ -3421,15 +3454,15 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.20.13 - '@rc-component/portal': 1.1.0_biqbaboplfbrettd7655fr4n2y + '@rc-component/portal': 1.1.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-drawer/6.1.2_biqbaboplfbrettd7655fr4n2y: + /rc-drawer@6.1.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-mYsTVT8Amy0LRrpVEv7gI1hOjtfMSO/qHAaCDzFx9QBLnms3cAQLJkaxRWM+Eq99oyLhU/JkgoqTg13bc4ogOQ==, @@ -3439,15 +3472,15 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.20.13 - '@rc-component/portal': 1.1.0_biqbaboplfbrettd7655fr4n2y + '@rc-component/portal': 1.1.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-dropdown/4.0.1_biqbaboplfbrettd7655fr4n2y: + /rc-dropdown@4.0.1(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==, @@ -3458,13 +3491,13 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-field-form/1.27.3_biqbaboplfbrettd7655fr4n2y: + /rc-field-form@1.27.3(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-HGqxHnmGQgkPApEcikV4qTg3BLPC82uB/cwBDftDt1pYaqitJfSl5TFTTUMKVEJVT5RqJ2Zi68ME1HmIMX2HAw==, @@ -3476,12 +3509,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 async-validator: 4.2.5 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-image/5.13.0_biqbaboplfbrettd7655fr4n2y: + /rc-image@5.13.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==, @@ -3491,16 +3524,16 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.20.13 - '@rc-component/portal': 1.1.0_biqbaboplfbrettd7655fr4n2y + '@rc-component/portal': 1.1.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-dialog: 9.0.2_biqbaboplfbrettd7655fr4n2y - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-dialog: 9.0.2(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-input-number/7.4.0_biqbaboplfbrettd7655fr4n2y: + /rc-input-number@7.4.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-r/Oub/sPYbzqLNUOHnnc9sbCu78a81KX+RCbRwmpvB4W6nptUySbdWS5KHV4Hak5CAE1LAd+wWm5JjvZizG1FA==, @@ -3512,12 +3545,12 @@ packages: '@babel/runtime': 7.20.13 '@rc-component/mini-decimal': 1.0.1 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-input/0.1.4_biqbaboplfbrettd7655fr4n2y: + /rc-input@0.1.4(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==, @@ -3528,12 +3561,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-mentions/1.13.1_biqbaboplfbrettd7655fr4n2y: + /rc-mentions@1.13.1(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==, @@ -3544,15 +3577,15 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-menu: 9.8.2_biqbaboplfbrettd7655fr4n2y - rc-textarea: 0.4.7_biqbaboplfbrettd7655fr4n2y - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-menu: 9.8.2(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 0.4.7(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-menu/9.8.2_biqbaboplfbrettd7655fr4n2y: + /rc-menu@9.8.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-EahOJVjLuEnJsThoPN+mGnVm431RzVzDLZWHRS/YnXTQULa7OsgdJa/Y7qXxc3Z5sz8mgT6xYtgpmBXLxrZFaQ==, @@ -3563,15 +3596,15 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-overflow: 1.2.8_biqbaboplfbrettd7655fr4n2y - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.2.8(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-motion/2.6.3_biqbaboplfbrettd7655fr4n2y: + /rc-motion@2.6.3(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-xFLkes3/7VL/J+ah9jJruEW/Akbx5F6jVa2wG5o/ApGKQKSOd5FR3rseHLL9+xtJg4PmCwo6/1tqhDO/T+jFHA==, @@ -3582,12 +3615,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-notification/5.0.2_biqbaboplfbrettd7655fr4n2y: + /rc-notification@5.0.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-74wUFiLlyr6lRGEY1m1BaTiDp+0lIT4FRAblMnh9FApyK2JGdsSLbrQ/1rgM7d2N/IX5UIr8kLLW3TdXxFt/jQ==, @@ -3599,13 +3632,13 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-overflow/1.2.8_biqbaboplfbrettd7655fr4n2y: + /rc-overflow@1.2.8(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-QJ0UItckWPQ37ZL1dMEBAdY1dhfTXFL9k6oTTcyydVwoUNMnMqCGqnRNA98axSr/OeDKqR6DVFyi8eA5RQI/uQ==, @@ -3616,13 +3649,13 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-resize-observer: 1.3.0_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-resize-observer: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-pagination/3.2.0_biqbaboplfbrettd7655fr4n2y: + /rc-pagination@3.2.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==, @@ -3634,10 +3667,10 @@ packages: '@babel/runtime': 7.20.13 classnames: 2.3.2 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-picker/3.1.4_mlnkrlbros4rghcauwy625gk7y: + /rc-picker@3.1.4(dayjs@1.11.7)(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-4qANXNc3C02YENNQvun329zf9VLvSQ2W8RkKQRu8k1P+EtSGqe3klcAKCfz/1TuCiDvgRjJlzRmyZAkwvsbI8w==, @@ -3660,14 +3693,14 @@ packages: '@babel/runtime': 7.20.13 classnames: 2.3.2 dayjs: 1.11.7 - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) shallowequal: 1.1.0 dev: false - /rc-progress/3.4.1_biqbaboplfbrettd7655fr4n2y: + /rc-progress@3.4.1(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==, @@ -3678,12 +3711,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-rate/2.9.2_biqbaboplfbrettd7655fr4n2y: + /rc-rate@2.9.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-SaiZFyN8pe0Fgphv8t3+kidlej+cq/EALkAJAc3A0w0XcPaH2L1aggM8bhe1u6GAGuQNAoFvTLjw4qLPGRKV5g==, @@ -3695,12 +3728,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-resize-observer/1.3.0_biqbaboplfbrettd7655fr4n2y: + /rc-resize-observer@1.3.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-w6cgP6rKnOqsvVQii2iEPsVq96HqvKMTQk+Hi5MJJSMd6/z4BuCUqwuZuL9fcRcPUcnF7AMM+G/VOFcIirZexg==, @@ -3711,13 +3744,13 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) resize-observer-polyfill: 1.5.1 dev: false - /rc-segmented/2.1.1_biqbaboplfbrettd7655fr4n2y: + /rc-segmented@2.1.1(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-Jx9/RrcN9FuMfmYDNPQlQqQIOvv0dcdR/l1edSFDTR6tFY+FXOvI+e1/lUyPlHOKIc0yJVPy6u/MISifM3OIqw==, @@ -3728,13 +3761,13 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-select/14.2.0_biqbaboplfbrettd7655fr4n2y: + /rc-select@14.2.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-tvxHmbAA0EIhBkB7dyaRhcBUIWHocQbUFY/fBlezj2jg5p65a5VQ/UhBg2I9TA1wjpsr5CCx0ruZPkYcUMjDoQ==, @@ -3746,16 +3779,16 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-overflow: 1.2.8_biqbaboplfbrettd7655fr4n2y - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y - rc-virtual-list: 3.4.13_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.2.8(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.4.13(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-slider/10.0.1_biqbaboplfbrettd7655fr4n2y: + /rc-slider@10.0.1(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==, @@ -3767,13 +3800,13 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) shallowequal: 1.1.0 dev: false - /rc-steps/6.0.0_biqbaboplfbrettd7655fr4n2y: + /rc-steps@6.0.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-+KfMZIty40mYCQSDvYbZ1jwnuObLauTiIskT1hL4FFOBHP6ZOr8LK0m143yD3kEN5XKHSEX1DIwCj3AYZpoeNQ==, @@ -3785,12 +3818,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-switch/4.0.0_biqbaboplfbrettd7655fr4n2y: + /rc-switch@4.0.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-IfrYC99vN0gKaTyjQdqYuADU0eH00SAFHg3jOp8HrmUpJruhV1SohJzrCbPqPraZeX/6X/QKkdLfkdnUub05WA==, @@ -3801,12 +3834,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-table/7.30.3_biqbaboplfbrettd7655fr4n2y: + /rc-table@7.30.3(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-PHe+lZKwPo3qui5j79m54vKu8b4hebk04x+4Hy65NvwUU3+NNFGS5FZpylXQMkueMnE8hgh22ZuScQDkCtzQFQ==, @@ -3817,15 +3850,15 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.20.13 - '@rc-component/context': 1.3.0_biqbaboplfbrettd7655fr4n2y + '@rc-component/context': 1.3.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-resize-observer: 1.3.0_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-resize-observer: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-tabs/12.5.6_biqbaboplfbrettd7655fr4n2y: + /rc-tabs@12.5.6(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-aArXHzxK7YICxe+622CZ8FlO5coMi8P7E6tXpseCPKm1gdTjUt0LrQK1/AxcrRXZXG3K4QqhlKmET0+cX5DQaQ==, @@ -3837,16 +3870,16 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-dropdown: 4.0.1_biqbaboplfbrettd7655fr4n2y - rc-menu: 9.8.2_biqbaboplfbrettd7655fr4n2y - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-resize-observer: 1.3.0_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-dropdown: 4.0.1(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.2(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-textarea/0.4.7_biqbaboplfbrettd7655fr4n2y: + /rc-textarea@0.4.7(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==, @@ -3857,14 +3890,14 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-resize-observer: 1.3.0_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-resize-observer: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) shallowequal: 1.1.0 dev: false - /rc-tooltip/5.2.2_biqbaboplfbrettd7655fr4n2y: + /rc-tooltip@5.2.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==, @@ -3875,12 +3908,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-tree-select/5.6.0_biqbaboplfbrettd7655fr4n2y: + /rc-tree-select@5.6.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-XG6pu0a9l6+mzhQqUYfR2VIONbe/3LjVc3wKt28k6uBMZsI1j+SSxRyt/7jWRq8Kok8jHJBQASlDg6ehr9Sp0w==, @@ -3891,14 +3924,14 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-select: 14.2.0_biqbaboplfbrettd7655fr4n2y - rc-tree: 5.7.2_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-select: 14.2.0(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.2(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-tree/5.7.2_biqbaboplfbrettd7655fr4n2y: + /rc-tree@5.7.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-nmnL6qLnfwVckO5zoqKL2I9UhwDqzyCtjITQCkwhimyz1zfuFkG5ZPIXpzD/Guzso94qQA/QrMsvzic5W6QDjg==, @@ -3910,14 +3943,14 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y - rc-virtual-list: 3.4.13_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.4.13(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-trigger/5.3.4_biqbaboplfbrettd7655fr4n2y: + /rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==, @@ -3929,14 +3962,14 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-align: 4.0.15_biqbaboplfbrettd7655fr4n2y - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-align: 4.0.15(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.6.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-upload/4.3.4_biqbaboplfbrettd7655fr4n2y: + /rc-upload@4.3.4(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==, @@ -3947,12 +3980,12 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-util/5.27.2_biqbaboplfbrettd7655fr4n2y: + /rc-util@5.27.2(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-8XHRbeJOWlTR2Hk1K2xLaPOf7lZu+3taskAGuqOPccA676vB3ygrz3ZgdrA3wml40CzR9RlIEHDWwI7FZT3wBQ==, @@ -3963,11 +3996,11 @@ packages: dependencies: '@babel/runtime': 7.20.13 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) react-is: 16.13.1 dev: false - /rc-virtual-list/3.4.13_biqbaboplfbrettd7655fr4n2y: + /rc-virtual-list@3.4.13(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-cPOVDmcNM7rH6ANotanMDilW/55XnFPw0Jh/GQYtrzZSy3AmWvCnqVNyNC/pgg3lfVmX2994dlzAhuUrd4jG7w==, @@ -3979,13 +4012,13 @@ packages: dependencies: '@babel/runtime': 7.20.13 classnames: 2.3.2 - rc-resize-observer: 1.3.0_biqbaboplfbrettd7655fr4n2y - rc-util: 5.27.2_biqbaboplfbrettd7655fr4n2y + rc-resize-observer: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.27.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /react-dom/18.2.0_react@18.2.0: + /react-dom@18.2.0(react@18.2.0): resolution: { integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==, @@ -3998,21 +4031,21 @@ packages: scheduler: 0.23.0 dev: false - /react-is/16.13.1: + /react-is@16.13.1: resolution: { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, } dev: false - /react-is/18.2.0: + /react-is@18.2.0: resolution: { integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, } dev: false - /react-markdown/8.0.5_3stiutgnnbnfnf3uowm5cip22i: + /react-markdown@8.0.5(@types/react@18.0.27)(react@18.2.0): resolution: { integrity: sha512-jGJolWWmOWAvzf+xMdB9zwStViODyyFQhNB/bwCerbBKmrTmgmA599CGiOlP58OId1IMoIRsA8UdI1Lod4zb5A==, @@ -4042,7 +4075,7 @@ packages: - supports-color dev: false - /react-refresh/0.14.0: + /react-refresh@0.14.0: resolution: { integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==, @@ -4050,7 +4083,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /react-resizable-panels/0.0.33_biqbaboplfbrettd7655fr4n2y: + /react-resizable-panels@0.0.33(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-j1tALhVb/HqCMTGzCA7Kf5uLj3cVCmWvFWEOFW90X22qGWajZ+FXCISevaPOFzFHaEpn2AF1LB+xApOFSdQv4w==, @@ -4060,10 +4093,10 @@ packages: react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 dependencies: react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /react-router-dom/6.8.0_biqbaboplfbrettd7655fr4n2y: + /react-router-dom@6.8.0(react-dom@18.2.0)(react@18.2.0): resolution: { integrity: sha512-hQouduSTywGJndE86CXJ2h7YEy4HYC6C/uh19etM+79FfQ6cFFFHnHyDlzO4Pq0eBUI96E4qVE5yUjA00yJZGQ==, @@ -4075,11 +4108,11 @@ packages: dependencies: '@remix-run/router': 1.3.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-router: 6.8.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-router: 6.8.0(react@18.2.0) dev: false - /react-router/6.8.0_react@18.2.0: + /react-router@6.8.0(react@18.2.0): resolution: { integrity: sha512-760bk7y3QwabduExtudhWbd88IBbuD1YfwzpuDUAlJUJ7laIIcqhMvdhSVh1Fur1PE8cGl84L0dxhR3/gvHF7A==, @@ -4092,7 +4125,7 @@ packages: react: 18.2.0 dev: false - /react-syntax-highlighter/15.5.0_react@18.2.0: + /react-syntax-highlighter@15.5.0(react@18.2.0): resolution: { integrity: sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==, @@ -4108,7 +4141,7 @@ packages: refractor: 3.6.0 dev: false - /react/18.2.0: + /react@18.2.0: resolution: { integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==, @@ -4118,7 +4151,7 @@ packages: loose-envify: 1.4.0 dev: false - /readdirp/3.6.0: + /readdirp@3.6.0: resolution: { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, @@ -4128,7 +4161,7 @@ packages: picomatch: 2.3.1 dev: true - /refractor/3.6.0: + /refractor@3.6.0: resolution: { integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==, @@ -4139,14 +4172,14 @@ packages: prismjs: 1.27.0 dev: false - /regenerator-runtime/0.13.11: + /regenerator-runtime@0.13.11: resolution: { integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, } dev: false - /rehype-raw/6.1.1: + /rehype-raw@6.1.1: resolution: { integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==, @@ -4157,7 +4190,7 @@ packages: unified: 10.1.2 dev: false - /remark-comment-config/7.0.1: + /remark-comment-config@7.0.1: resolution: { integrity: sha512-/+JynO760CWRiHCIaBrlH3fdHqiJO+JDMS931uZoVcHBxxDnkivME+600NAUrU9cNYkVe1uN6a0KyCfE3q4P+g==, @@ -4171,7 +4204,7 @@ packages: - supports-color dev: false - /remark-gfm/3.0.1: + /remark-gfm@3.0.1: resolution: { integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==, @@ -4185,7 +4218,7 @@ packages: - supports-color dev: false - /remark-parse/10.0.1: + /remark-parse@10.0.1: resolution: { integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==, @@ -4198,7 +4231,7 @@ packages: - supports-color dev: false - /remark-rehype/10.1.0: + /remark-rehype@10.1.0: resolution: { integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==, @@ -4210,14 +4243,14 @@ packages: unified: 10.1.2 dev: false - /resize-observer-polyfill/1.5.1: + /resize-observer-polyfill@1.5.1: resolution: { integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==, } dev: false - /resolve/1.22.1: + /resolve@1.22.1: resolution: { integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, @@ -4229,7 +4262,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /rollup/3.14.0: + /rollup@3.14.0: resolution: { integrity: sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q==, @@ -4240,7 +4273,7 @@ packages: fsevents: 2.3.2 dev: true - /sade/1.8.1: + /sade@1.8.1: resolution: { integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==, @@ -4250,7 +4283,7 @@ packages: mri: 1.2.0 dev: false - /sass/1.58.0: + /sass@1.58.0: resolution: { integrity: sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==, @@ -4263,7 +4296,7 @@ packages: source-map-js: 1.0.2 dev: true - /scheduler/0.23.0: + /scheduler@0.23.0: resolution: { integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==, @@ -4272,7 +4305,7 @@ packages: loose-envify: 1.4.0 dev: false - /scroll-into-view-if-needed/3.0.4: + /scroll-into-view-if-needed@3.0.4: resolution: { integrity: sha512-s+/F50jwTOUt+u5oEIAzum9MN2lUQNvWBe/zfEsVQcbaERjGkKLq1s+2wCHkahMLC8nMLbzMVKivx9JhunXaZg==, @@ -4281,7 +4314,7 @@ packages: compute-scroll-into-view: 2.0.4 dev: false - /semver/6.3.0: + /semver@6.3.0: resolution: { integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, @@ -4289,14 +4322,14 @@ packages: hasBin: true dev: true - /shallowequal/1.1.0: + /shallowequal@1.1.0: resolution: { integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==, } dev: false - /shebang-command/2.0.0: + /shebang-command@2.0.0: resolution: { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, @@ -4306,7 +4339,7 @@ packages: shebang-regex: 3.0.0 dev: true - /shebang-regex/3.0.0: + /shebang-regex@3.0.0: resolution: { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, @@ -4314,14 +4347,14 @@ packages: engines: { node: '>=8' } dev: true - /signal-exit/3.0.7: + /signal-exit@3.0.7: resolution: { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, } dev: true - /source-map-js/1.0.2: + /source-map-js@1.0.2: resolution: { integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, @@ -4329,35 +4362,35 @@ packages: engines: { node: '>=0.10.0' } dev: true - /space-separated-tokens/1.1.5: + /space-separated-tokens@1.1.5: resolution: { integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==, } dev: false - /space-separated-tokens/2.0.2: + /space-separated-tokens@2.0.2: resolution: { integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==, } dev: false - /state-local/1.0.7: + /state-local@1.0.7: resolution: { integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==, } dev: false - /string-convert/0.2.1: + /string-convert@0.2.1: resolution: { integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==, } dev: false - /strip-final-newline/2.0.0: + /strip-final-newline@2.0.0: resolution: { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, @@ -4365,7 +4398,7 @@ packages: engines: { node: '>=6' } dev: true - /style-to-object/0.4.1: + /style-to-object@0.4.1: resolution: { integrity: sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==, @@ -4374,14 +4407,14 @@ packages: inline-style-parser: 0.1.1 dev: false - /stylis/4.1.3: + /stylis@4.1.3: resolution: { integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==, } dev: false - /supports-color/5.5.0: + /supports-color@5.5.0: resolution: { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, @@ -4391,7 +4424,7 @@ packages: has-flag: 3.0.0 dev: true - /supports-color/7.2.0: + /supports-color@7.2.0: resolution: { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, @@ -4401,7 +4434,7 @@ packages: has-flag: 4.0.0 dev: true - /supports-preserve-symlinks-flag/1.0.0: + /supports-preserve-symlinks-flag@1.0.0: resolution: { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, @@ -4409,7 +4442,7 @@ packages: engines: { node: '>= 0.4' } dev: true - /throttle-debounce/5.0.0: + /throttle-debounce@5.0.0: resolution: { integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==, @@ -4417,7 +4450,7 @@ packages: engines: { node: '>=12.22' } dev: false - /to-fast-properties/2.0.0: + /to-fast-properties@2.0.0: resolution: { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, @@ -4425,7 +4458,7 @@ packages: engines: { node: '>=4' } dev: true - /to-regex-range/5.0.1: + /to-regex-range@5.0.1: resolution: { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, @@ -4435,35 +4468,35 @@ packages: is-number: 7.0.0 dev: true - /toggle-selection/1.0.6: + /toggle-selection@1.0.6: resolution: { integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==, } dev: false - /tr46/0.0.3: + /tr46@0.0.3: resolution: { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, } dev: true - /trim-lines/3.0.1: + /trim-lines@3.0.1: resolution: { integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==, } dev: false - /trough/2.1.0: + /trough@2.1.0: resolution: { integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==, } dev: false - /tsconfck/2.0.2_typescript@4.9.5: + /tsconfck@2.0.2(typescript@4.9.5): resolution: { integrity: sha512-H3DWlwKpow+GpVLm/2cpmok72pwRr1YFROV3YzAmvzfGFiC1zEM/mc9b7+1XnrxuXtEbhJ7xUSIqjPFbedp7aQ==, @@ -4479,7 +4512,7 @@ packages: typescript: 4.9.5 dev: true - /tunnel/0.0.6: + /tunnel@0.0.6: resolution: { integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==, @@ -4487,7 +4520,7 @@ packages: engines: { node: '>=0.6.11 <=0.7.0 || >=0.7.3' } dev: true - /typescript/4.9.5: + /typescript@4.9.5: resolution: { integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==, @@ -4496,7 +4529,7 @@ packages: hasBin: true dev: true - /unified/10.1.2: + /unified@10.1.2: resolution: { integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==, @@ -4511,21 +4544,21 @@ packages: vfile: 5.3.6 dev: false - /unist-util-generated/2.0.1: + /unist-util-generated@2.0.1: resolution: { integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==, } dev: false - /unist-util-is/5.2.0: + /unist-util-is@5.2.0: resolution: { integrity: sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==, } dev: false - /unist-util-position/4.0.4: + /unist-util-position@4.0.4: resolution: { integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==, @@ -4534,7 +4567,7 @@ packages: '@types/unist': 2.0.6 dev: false - /unist-util-stringify-position/3.0.3: + /unist-util-stringify-position@3.0.3: resolution: { integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==, @@ -4543,7 +4576,7 @@ packages: '@types/unist': 2.0.6 dev: false - /unist-util-visit-parents/5.1.3: + /unist-util-visit-parents@5.1.3: resolution: { integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==, @@ -4553,7 +4586,7 @@ packages: unist-util-is: 5.2.0 dev: false - /unist-util-visit/4.1.2: + /unist-util-visit@4.1.2: resolution: { integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==, @@ -4564,14 +4597,14 @@ packages: unist-util-visit-parents: 5.1.3 dev: false - /universal-user-agent/6.0.0: + /universal-user-agent@6.0.0: resolution: { integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==, } dev: true - /update-browserslist-db/1.0.10_browserslist@4.21.5: + /update-browserslist-db@1.0.10(browserslist@4.21.5): resolution: { integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==, @@ -4585,7 +4618,7 @@ packages: picocolors: 1.0.0 dev: true - /uuid/9.0.0: + /uuid@9.0.0: resolution: { integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==, @@ -4593,7 +4626,7 @@ packages: hasBin: true dev: false - /uvu/0.5.6: + /uvu@0.5.6: resolution: { integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==, @@ -4607,7 +4640,7 @@ packages: sade: 1.8.1 dev: false - /vfile-location/4.0.1: + /vfile-location@4.0.1: resolution: { integrity: sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==, @@ -4617,7 +4650,7 @@ packages: vfile: 5.3.6 dev: false - /vfile-message/3.1.3: + /vfile-message@3.1.3: resolution: { integrity: sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==, @@ -4627,7 +4660,7 @@ packages: unist-util-stringify-position: 3.0.3 dev: false - /vfile/5.3.6: + /vfile@5.3.6: resolution: { integrity: sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==, @@ -4639,7 +4672,7 @@ packages: vfile-message: 3.1.3 dev: false - /vite-tsconfig-paths/4.0.5_typescript@4.9.5: + /vite-tsconfig-paths@4.0.5(typescript@4.9.5): resolution: { integrity: sha512-/L/eHwySFYjwxoYt1WRJniuK/jPv+WGwgRGBYx3leciR5wBeqntQpUE6Js6+TJemChc+ter7fDBKieyEWDx4yQ==, @@ -4647,13 +4680,13 @@ packages: dependencies: debug: 4.3.4 globrex: 0.1.2 - tsconfck: 2.0.2_typescript@4.9.5 + tsconfck: 2.0.2(typescript@4.9.5) transitivePeerDependencies: - supports-color - typescript dev: true - /vite/4.1.1_w4o4wsgkler5i3zieyqxrswv2u: + /vite@4.1.1(@types/node@18.11.19)(sass@1.58.0): resolution: { integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==, @@ -4691,14 +4724,14 @@ packages: fsevents: 2.3.2 dev: true - /web-namespaces/2.0.1: + /web-namespaces@2.0.1: resolution: { integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==, } dev: false - /web-streams-polyfill/3.2.1: + /web-streams-polyfill@3.2.1: resolution: { integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==, @@ -4706,14 +4739,14 @@ packages: engines: { node: '>= 8' } dev: true - /webidl-conversions/3.0.1: + /webidl-conversions@3.0.1: resolution: { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, } dev: true - /whatwg-url/5.0.0: + /whatwg-url@5.0.0: resolution: { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, @@ -4723,7 +4756,7 @@ packages: webidl-conversions: 3.0.1 dev: true - /which/2.0.2: + /which@2.0.2: resolution: { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, @@ -4734,14 +4767,14 @@ packages: isexe: 2.0.0 dev: true - /wrappy/1.0.2: + /wrappy@1.0.2: resolution: { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, } dev: true - /xtend/4.0.2: + /xtend@4.0.2: resolution: { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, @@ -4749,14 +4782,14 @@ packages: engines: { node: '>=0.4' } dev: false - /yallist/3.1.1: + /yallist@3.1.1: resolution: { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, } dev: true - /zwitch/2.0.4: + /zwitch@2.0.4: resolution: { integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==, diff --git a/scripts/README.md b/scripts/README.md index f93aaa1..9927ee9 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -1,3 +1,5 @@ # ChatGPT Scripts -ChatGPT Desktop Application Core Extension Scripts. +> ChatGPT Desktop Application Core Extension Scripts. + +[ChatGPT/scripts](https://github.com/lencx/ChatGPT/tree/main/scripts) diff --git a/scripts/chat.js b/scripts/chat.js index a5d9377..6eb15fe 100644 --- a/scripts/chat.js +++ b/scripts/chat.js @@ -4,7 +4,7 @@ * @url https://github.com/lencx/ChatGPT/tree/main/scripts/chat.js */ -var chatInit = (() => { +function chatInit() { const ICONS = { copy: ``, cpok: ``, @@ -114,12 +114,10 @@ var chatInit = (() => { currentIndex = -1; }; } - - return { init }; -})(); +} if (document.readyState === 'complete' || document.readyState === 'interactive') { - chatInit.init(); + chatInit(); } else { - document.addEventListener('DOMContentLoaded', chatInit.init); + document.addEventListener('DOMContentLoaded', chatInit); } diff --git a/scripts/cmd.js b/scripts/cmd.js index 4d884a4..fd33288 100644 --- a/scripts/cmd.js +++ b/scripts/cmd.js @@ -4,7 +4,7 @@ * @url https://github.com/lencx/ChatGPT/tree/main/scripts/cmd.js */ -function init() { +function cmdInit() { const styleDom = document.createElement('style'); styleDom.innerHTML = `form { position: relative; @@ -140,203 +140,203 @@ function init() { subtree: true, }); }, 300); -} -async function cmdTip() { - initDom(); - const chatPromptJson = (await invoke('get_chat_prompt_cmd')) || {}; - const data = chatPromptJson.data; - if (data.length <= 0) return; + async function cmdTip() { + initDom(); + const chatPromptJson = (await invoke('get_chat_prompt_cmd')) || {}; + const data = chatPromptJson.data; + if (data.length <= 0) return; - let promptDom = document.querySelector('.chat-prompt-cmd-list'); - if (!promptDom) { - const dom = document.createElement('div'); - dom.classList.add('chat-prompt-cmd-list'); - document.querySelector('form').appendChild(dom); - promptDom = document.querySelector('.chat-prompt-cmd-list'); + let promptDom = document.querySelector('.chat-prompt-cmd-list'); + if (!promptDom) { + const dom = document.createElement('div'); + dom.classList.add('chat-prompt-cmd-list'); + document.querySelector('form').appendChild(dom); + promptDom = document.querySelector('.chat-prompt-cmd-list'); - // fix: tray window - if (__TAURI_METADATA__.__currentWindow.label === 'tray') { - promptDom.style.bottom = '54px'; - } - - const itemDom = (v) => - `
/${v.cmd}${ - v.act - }
`; - const renderList = (v) => { - initDom(); - promptDom.innerHTML = `
${v.map(itemDom).join('')}
`; - window.__CHAT_CMD_PROMPT__ = v[0]?.prompt.trim(); - window.__CHAT_CMD__ = v[0]?.cmd.trim(); - window.__cmd_list = promptDom.querySelectorAll('.cmd-item'); - window.__cmd_index = 0; - window.__cmd_list[window.__cmd_index].classList.add('selected'); - }; - const setPrompt = (v = '') => { - if (v.trim()) { - window.__CHAT_CMD_PROMPT__ = window.__CHAT_CMD_PROMPT__?.replace( - /\{([^{}]*)\}/, - `{${v.trim()}}`, - ); + // fix: tray window + if (__TAURI_METADATA__.__currentWindow.label === 'tray') { + promptDom.style.bottom = '54px'; } - }; - const searchInput = document.querySelector('form textarea'); - // Enter a command starting with `/` and press a space to automatically fill `chatgpt prompt`. - // If more than one command appears in the search results, the first one will be used by default. - function cmdKeydown(event) { - if (!window.__CHAT_CMD_PROMPT__) { - if ( - !event.shiftKey && - event.keyCode === 13 && - __TAURI_METADATA__.__currentWindow.label === 'tray' - ) { - const btn = document.querySelector('form button'); - if (btn) btn.click(); + const itemDom = (v) => + `
/${v.cmd}${ + v.act + }
`; + const renderList = (v) => { + initDom(); + promptDom.innerHTML = `
${v.map(itemDom).join('')}
`; + window.__CHAT_CMD_PROMPT__ = v[0]?.prompt.trim(); + window.__CHAT_CMD__ = v[0]?.cmd.trim(); + window.__cmd_list = promptDom.querySelectorAll('.cmd-item'); + window.__cmd_index = 0; + window.__cmd_list[window.__cmd_index].classList.add('selected'); + }; + const setPrompt = (v = '') => { + if (v.trim()) { + window.__CHAT_CMD_PROMPT__ = window.__CHAT_CMD_PROMPT__?.replace( + /\{([^{}]*)\}/, + `{${v.trim()}}`, + ); + } + }; + const searchInput = document.querySelector('form textarea'); + + // Enter a command starting with `/` and press a space to automatically fill `chatgpt prompt`. + // If more than one command appears in the search results, the first one will be used by default. + function cmdKeydown(event) { + if (!window.__CHAT_CMD_PROMPT__) { + if ( + !event.shiftKey && + event.keyCode === 13 && + __TAURI_METADATA__.__currentWindow.label === 'tray' + ) { + const btn = document.querySelector('form button'); + if (btn) btn.click(); + event.preventDefault(); + } + return; + } + + // ------------------ Keyboard scrolling (ArrowUp | ArrowDown) -------------------------- + if (event.keyCode === 38 && window.__cmd_index > 0) { + // ArrowUp + window.__cmd_list[window.__cmd_index].classList.remove('selected'); + window.__cmd_index = window.__cmd_index - 1; + window.__cmd_list[window.__cmd_index].classList.add('selected'); + window.__CHAT_CMD_PROMPT__ = decodeURIComponent( + window.__cmd_list[window.__cmd_index].getAttribute('data-prompt'), + ); + searchInput.value = `/${window.__cmd_list[window.__cmd_index].getAttribute('data-cmd')}`; event.preventDefault(); } - return; - } - // ------------------ Keyboard scrolling (ArrowUp | ArrowDown) -------------------------- - if (event.keyCode === 38 && window.__cmd_index > 0) { - // ArrowUp - window.__cmd_list[window.__cmd_index].classList.remove('selected'); - window.__cmd_index = window.__cmd_index - 1; - window.__cmd_list[window.__cmd_index].classList.add('selected'); - window.__CHAT_CMD_PROMPT__ = decodeURIComponent( - window.__cmd_list[window.__cmd_index].getAttribute('data-prompt'), - ); - searchInput.value = `/${window.__cmd_list[window.__cmd_index].getAttribute('data-cmd')}`; - event.preventDefault(); - } + if (event.keyCode === 40 && window.__cmd_index < window.__cmd_list.length - 1) { + // ArrowDown + window.__cmd_list[window.__cmd_index].classList.remove('selected'); + window.__cmd_index = window.__cmd_index + 1; + window.__cmd_list[window.__cmd_index].classList.add('selected'); + window.__CHAT_CMD_PROMPT__ = decodeURIComponent( + window.__cmd_list[window.__cmd_index].getAttribute('data-prompt'), + ); + searchInput.value = `/${window.__cmd_list[window.__cmd_index].getAttribute('data-cmd')}`; + event.preventDefault(); + } - if (event.keyCode === 40 && window.__cmd_index < window.__cmd_list.length - 1) { - // ArrowDown - window.__cmd_list[window.__cmd_index].classList.remove('selected'); - window.__cmd_index = window.__cmd_index + 1; - window.__cmd_list[window.__cmd_index].classList.add('selected'); - window.__CHAT_CMD_PROMPT__ = decodeURIComponent( - window.__cmd_list[window.__cmd_index].getAttribute('data-prompt'), - ); - searchInput.value = `/${window.__cmd_list[window.__cmd_index].getAttribute('data-cmd')}`; - event.preventDefault(); - } + const containerHeight = promptDom.offsetHeight; + const itemHeight = window.__cmd_list[0].offsetHeight + 1; - const containerHeight = promptDom.offsetHeight; - const itemHeight = window.__cmd_list[0].offsetHeight + 1; + const itemTop = window.__cmd_list[window.__cmd_index].offsetTop; + const itemBottom = itemTop + itemHeight; + if (itemTop < promptDom.scrollTop || itemBottom > promptDom.scrollTop + containerHeight) { + promptDom.scrollTop = itemTop; + } - const itemTop = window.__cmd_list[window.__cmd_index].offsetTop; - const itemBottom = itemTop + itemHeight; - if (itemTop < promptDom.scrollTop || itemBottom > promptDom.scrollTop + containerHeight) { - promptDom.scrollTop = itemTop; - } + // ------------------ TAB key replaces `{q}` tag content ------------------------------- + // feat: https://github.com/lencx/ChatGPT/issues/54 + if (event.keyCode === 9 && !window.__CHAT_STATUS__) { + const strGroup = window.__CHAT_CMD_PROMPT__.match(/\{([^{}]*)\}/) || []; - // ------------------ TAB key replaces `{q}` tag content ------------------------------- - // feat: https://github.com/lencx/ChatGPT/issues/54 - if (event.keyCode === 9 && !window.__CHAT_STATUS__) { - const strGroup = window.__CHAT_CMD_PROMPT__.match(/\{([^{}]*)\}/) || []; + if (strGroup[1]) { + searchInput.value = `/${window.__CHAT_CMD__}` + ` {${strGroup[1]}}` + ' |-> '; + window.__CHAT_STATUS__ = 1; + } else { + searchInput.value = window.__CHAT_CMD_PROMPT__; + initDom(); + } + event.preventDefault(); + } - if (strGroup[1]) { - searchInput.value = `/${window.__CHAT_CMD__}` + ` {${strGroup[1]}}` + ' |-> '; - window.__CHAT_STATUS__ = 1; - } else { + if (window.__CHAT_STATUS__ === 1 && event.keyCode === 9) { + // TAB + const data = searchInput.value.split('|->'); + if (data[1]?.trim()) { + setPrompt(data[1]); + window.__CHAT_STATUS__ = 2; + } + event.preventDefault(); + } + + // input text + if (window.__CHAT_STATUS__ === 2 && event.keyCode === 9) { + // TAB searchInput.value = window.__CHAT_CMD_PROMPT__; + promptDom.innerHTML = ''; + delete window.__CHAT_STATUS__; + event.preventDefault(); + } + + // ------------------ type in a space to complete the fill ------------------------------------ + if (event.keyCode === 32) { + searchInput.value = window.__CHAT_CMD_PROMPT__; + promptDom.innerHTML = ''; + delete window.__CHAT_CMD_PROMPT__; + } + + // ------------------ send -------------------------------------------------------------------- + if (event.keyCode === 13 && window.__CHAT_CMD_PROMPT__) { + // Enter + const data = searchInput.value.split('|->'); + setPrompt(data[1]); + + searchInput.value = window.__CHAT_CMD_PROMPT__; + + initDom(); + + event.preventDefault(); + } + } + searchInput.removeEventListener('keydown', cmdKeydown, { capture: true }); + searchInput.addEventListener('keydown', cmdKeydown, { capture: true }); + + function cmdInput() { + if (searchInput.value === '') { initDom(); } - event.preventDefault(); - } - if (window.__CHAT_STATUS__ === 1 && event.keyCode === 9) { - // TAB - const data = searchInput.value.split('|->'); - if (data[1]?.trim()) { - setPrompt(data[1]); - window.__CHAT_STATUS__ = 2; + if (window.__CHAT_STATUS__) return; + + const query = searchInput.value; + if (!query || !/^\//.test(query)) { + initDom(); + return; + } + + // all cmd result + if (query === '/') { + renderList(data); + return; + } + + const result = data.filter((i) => new RegExp(query.substring(1)).test(i.cmd)); + if (result.length > 0) { + renderList(result); + } else { + initDom(); } - event.preventDefault(); - } - - // input text - if (window.__CHAT_STATUS__ === 2 && event.keyCode === 9) { - // TAB - searchInput.value = window.__CHAT_CMD_PROMPT__; - promptDom.innerHTML = ''; - delete window.__CHAT_STATUS__; - event.preventDefault(); - } - - // ------------------ type in a space to complete the fill ------------------------------------ - if (event.keyCode === 32) { - searchInput.value = window.__CHAT_CMD_PROMPT__; - promptDom.innerHTML = ''; - delete window.__CHAT_CMD_PROMPT__; - } - - // ------------------ send -------------------------------------------------------------------- - if (event.keyCode === 13 && window.__CHAT_CMD_PROMPT__) { - // Enter - const data = searchInput.value.split('|->'); - setPrompt(data[1]); - - searchInput.value = window.__CHAT_CMD_PROMPT__; - - initDom(); - - event.preventDefault(); } + searchInput.removeEventListener('input', cmdInput); + searchInput.addEventListener('input', cmdInput); } - searchInput.removeEventListener('keydown', cmdKeydown, { capture: true }); - searchInput.addEventListener('keydown', cmdKeydown, { capture: true }); + } - function cmdInput() { - if (searchInput.value === '') { - initDom(); - } - - if (window.__CHAT_STATUS__) return; - - const query = searchInput.value; - if (!query || !/^\//.test(query)) { - initDom(); - return; - } - - // all cmd result - if (query === '/') { - renderList(data); - return; - } - - const result = data.filter((i) => new RegExp(query.substring(1)).test(i.cmd)); - if (result.length > 0) { - renderList(result); - } else { - initDom(); - } + function initDom() { + const promptDom = document.querySelector('.chat-prompt-cmd-list'); + if (promptDom) { + promptDom.innerHTML = ''; } - searchInput.removeEventListener('input', cmdInput); - searchInput.addEventListener('input', cmdInput); + delete window.__CHAT_CMD_PROMPT__; + delete window.__CHAT_CMD__; + delete window.__CHAT_STATUS__; + delete window.__cmd_list; + delete window.__cmd_index; } } -function initDom() { - const promptDom = document.querySelector('.chat-prompt-cmd-list'); - if (promptDom) { - promptDom.innerHTML = ''; - } - delete window.__CHAT_CMD_PROMPT__; - delete window.__CHAT_CMD__; - delete window.__CHAT_STATUS__; - delete window.__cmd_list; - delete window.__cmd_index; -} - if (document.readyState === 'complete' || document.readyState === 'interactive') { - init(); + cmdInit(); } else { - document.addEventListener('DOMContentLoaded', init); + document.addEventListener('DOMContentLoaded', cmdInit); } diff --git a/scripts/core.js b/scripts/core.js index 755b0a5..3b909c4 100644 --- a/scripts/core.js +++ b/scripts/core.js @@ -4,7 +4,7 @@ * @url https://github.com/lencx/ChatGPT/tree/main/scripts/core.js */ -var coreInit = (() => { +function coreInit() { const uid = () => window.crypto.getRandomValues(new Uint32Array(1))[0]; function transformCallback(callback = () => {}, once = false) { const identifier = uid(); @@ -21,6 +21,7 @@ var coreInit = (() => { }); return identifier; } + async function invoke(cmd, args) { return new Promise((resolve, reject) => { if (!window.__TAURI_POST_MESSAGE__) reject('__TAURI_POST_MESSAGE__ does not exist!'); @@ -226,11 +227,11 @@ var coreInit = (() => { return { startLoading, stopLoading }; } - return { init }; -})(); + init(); +} if (document.readyState === 'complete' || document.readyState === 'interactive') { - coreInit.init(); + coreInit(); } else { - document.addEventListener('DOMContentLoaded', coreInit.init); + document.addEventListener('DOMContentLoaded', coreInit); } diff --git a/scripts/dalle2.js b/scripts/dalle2.js index 4986cf7..8c334b8 100644 --- a/scripts/dalle2.js +++ b/scripts/dalle2.js @@ -4,7 +4,7 @@ * @url https://github.com/lencx/ChatGPT/tree/main/scripts/dalle2.js */ -function init() { +function dalle2Init() { document.addEventListener('click', (e) => { const origin = e.target.closest('a'); if (!origin || !origin.target) return; @@ -35,7 +35,7 @@ function init() { } if (document.readyState === 'complete' || document.readyState === 'interactive') { - init(); + dalle2Init(); } else { - document.addEventListener('DOMContentLoaded', init); + document.addEventListener('DOMContentLoaded', dalle2Init); } diff --git a/scripts/export.js b/scripts/export.js index aa1b1ea..75390d4 100644 --- a/scripts/export.js +++ b/scripts/export.js @@ -4,7 +4,7 @@ * @url https://github.com/lencx/ChatGPT/tree/main/scripts/export.js */ -async function init() { +async function exportInit() { if (window.location.pathname === '/auth/login') return; const buttonOuterHTMLFallback = ``; removeButtons(); @@ -303,7 +303,7 @@ async function init() { const hours = String(now.getHours()).padStart(2, '0'); const minutes = String(now.getMinutes()).padStart(2, '0'); const seconds = String(now.getSeconds()).padStart(2, '0'); - const formattedDateTime = `${year}_${month}_${day}_${hours}_${minutes}_${seconds}`; + const formattedDateTime = `${year}_${month}_${day}-${hours}${minutes}${seconds}`; return formattedDateTime; } @@ -315,10 +315,10 @@ async function init() { } } -window.addEventListener('resize', init); +window.addEventListener('resize', exportInit); if (document.readyState === 'complete' || document.readyState === 'interactive') { - init(); + exportInit(); } else { - document.addEventListener('DOMContentLoaded', init); + document.addEventListener('DOMContentLoaded', exportInit); } diff --git a/scripts/main.js b/scripts/main.js new file mode 100644 index 0000000..08caf8a --- /dev/null +++ b/scripts/main.js @@ -0,0 +1,5 @@ +// *** ChatGPT User Script *** +// @github: https://github.com/lencx/ChatGPT +// @path: $HOME/.chatgpt/scripts/main.js + +console.log('Hello, ChatGPT!'); diff --git a/scripts/manifest.json b/scripts/manifest.json index 72c5328..8b4fa5d 100644 --- a/scripts/manifest.json +++ b/scripts/manifest.json @@ -12,6 +12,10 @@ "name": "cmd.js", "version": "0.1.0" }, + { + "name": "chat.js", + "version": "0.1.0" + }, { "name": "core.js", "version": "0.1.0" diff --git a/scripts/popup.core.js b/scripts/popup.core.js index d1907ad..7e0e8a0 100644 --- a/scripts/popup.core.js +++ b/scripts/popup.core.js @@ -4,7 +4,7 @@ * @url https://github.com/lencx/ChatGPT/tree/main/scripts/popup.core.js */ -async function init() { +async function popupCoreInit() { const chatConf = (await invoke('get_app_conf')) || {}; if (!chatConf.popup_search) return; if (!window.FloatingUIDOM) return; @@ -77,7 +77,7 @@ async function init() { } if (document.readyState === 'complete' || document.readyState === 'interactive') { - init(); + popupCoreInit(); } else { - document.addEventListener('DOMContentLoaded', init); + document.addEventListener('DOMContentLoaded', popupCoreInit); } diff --git a/src-tauri/src/app/gpt.rs b/src-tauri/src/app/gpt.rs index 8c61e97..e6f1a02 100644 --- a/src-tauri/src/app/gpt.rs +++ b/src-tauri/src/app/gpt.rs @@ -9,8 +9,6 @@ use std::{collections::HashMap, fs, path::PathBuf, vec}; use tauri::{api, command, AppHandle, Manager}; use walkdir::WalkDir; -use super::fs_extra::Error; - #[command] pub fn get_chat_prompt_cmd() -> serde_json::Value { let path = utils::app_root().join("chat.prompt.cmd.json"); @@ -183,13 +181,11 @@ pub async fn sync_prompts(app: AppHandle, time: u64) -> Option }, act: i.act.clone(), prompt: i.prompt.clone(), - tags: vec!["chatgpt-prompts".to_string()], + tags: vec!["awesome-chatgpt-prompts".to_string()], enable: true, }) .collect::>(); - let data2 = transformed_data; - let prompts = utils::app_root().join("chat.prompt.json"); let prompt_cmd = utils::app_root().join("chat.prompt.cmd.json"); let chatgpt_prompts = utils::app_root() @@ -211,7 +207,7 @@ pub async fn sync_prompts(app: AppHandle, time: u64) -> Option // chatgpt_prompts.json fs::write( chatgpt_prompts, - serde_json::to_string_pretty(&data).unwrap(), + serde_json::to_string_pretty(&transformed_data).unwrap(), ) .unwrap(); let cmd_data = cmd_list(); @@ -253,7 +249,7 @@ pub async fn sync_prompts(app: AppHandle, time: u64) -> Option window::cmd::window_reload(app.clone(), "core"); window::cmd::window_reload(app, "tray"); - return Some(data2); + return Some(transformed_data); } } diff --git a/src-tauri/src/app/menu.rs b/src-tauri/src/app/menu.rs index ba2cbb7..83f53e6 100644 --- a/src-tauri/src/app/menu.rs +++ b/src-tauri/src/app/menu.rs @@ -93,9 +93,6 @@ pub fn init() -> Menu { #[cfg(target_os = "macos")] hide_dock_icon_menu.into(), system_tray_menu.into(), - CustomMenuItem::new("inject_script", "Inject Script") - .accelerator("CmdOrCtrl+J") - .into(), MenuItem::Separator.into(), Submenu::new( "Theme", @@ -219,7 +216,6 @@ pub fn init() -> Menu { pub fn menu_handler(event: WindowMenuEvent) { let win = Some(event.window()).unwrap(); let app = win.app_handle(); - let script_path = utils::script_path().to_string_lossy().to_string(); let menu_id = event.menu_item_id(); let menu_handle = win.menu_handle(); @@ -239,7 +235,6 @@ pub fn menu_handler(event: WindowMenuEvent) { // Preferences "control_center" => window::cmd::control_window(app, "control".into()), "restart" => tauri::api::process::restart(&app.env()), - "inject_script" => open(&app, &script_path), "go_conf" => utils::open_file(utils::app_root()), "clear_conf" => utils::clear_conf(&app), "app_website" => window::cmd::wa_window( diff --git a/src-tauri/src/app/mod.rs b/src-tauri/src/app/mod.rs index 4168c0e..de9d9e4 100644 --- a/src-tauri/src/app/mod.rs +++ b/src-tauri/src/app/mod.rs @@ -4,4 +4,5 @@ pub mod gpt; pub mod menu; pub mod script; pub mod setup; +pub mod template; pub mod window; diff --git a/src-tauri/src/app/script.rs b/src-tauri/src/app/script.rs index 6c6cf4f..262aaf8 100644 --- a/src-tauri/src/app/script.rs +++ b/src-tauri/src/app/script.rs @@ -1,4 +1,4 @@ -use crate::utils::{app_root, exists}; +use crate::utils::{app_root, create_file, exists}; use log::error; use log::info; use regex::Regex; @@ -6,10 +6,13 @@ use serde_json::{from_str, json, Value}; use std::fs; use tauri::Manager; -use crate::{conf::SCRIPTS_MANIFEST, window}; +use crate::{conf::SCRIPTS_DIR, window}; pub async fn init_script(app: tauri::AppHandle) -> anyhow::Result<(), reqwest::Error> { - let body = reqwest::get(SCRIPTS_MANIFEST).await?.text().await?; + let body = reqwest::get(format!("{}{}", SCRIPTS_DIR, "manifest.json")) + .await? + .text() + .await?; if exist_scripts("manifest.json".into()) { let compare = compare_nested_json_objects( @@ -39,8 +42,16 @@ pub async fn init_script(app: tauri::AppHandle) -> anyhow::Result<(), reqwest::E Ok(()) } -pub fn parse_script(name: String) -> serde_json::Value { - let code = &fs::read_to_string(name).unwrap(); +pub fn parse_script(name: String) -> Option { + let script_file = app_root().join("scripts").join(name); + let code = match fs::read_to_string(&script_file) { + Ok(content) => content, + Err(_) => { + error!("parse_script_error: {}", script_file.display()); + return None; + } + }; + // let code = &fs::read_to_string(name).unwrap(); let re_name = Regex::new(r"@name\s+(.*?)\n").unwrap(); let re_version = Regex::new(r"@version\s+(.*?)\n").unwrap(); let re_url = Regex::new(r"@url\s+(.*?)\n").unwrap(); @@ -49,15 +60,15 @@ pub fn parse_script(name: String) -> serde_json::Value { let mut version = String::new(); let mut url = String::new(); - if let Some(capture) = re_name.captures(code) { + if let Some(capture) = re_name.captures(&code) { name = capture.get(1).unwrap().as_str().trim().to_owned(); } - if let Some(capture) = re_version.captures(code) { + if let Some(capture) = re_version.captures(&code) { version = capture.get(1).unwrap().as_str().trim().to_owned(); } - if let Some(capture) = re_url.captures(code) { + if let Some(capture) = re_url.captures(&code) { url = capture.get(1).unwrap().as_str().trim().to_owned(); } @@ -67,7 +78,7 @@ pub fn parse_script(name: String) -> serde_json::Value { "url": url, }); - json_data + Some(json_data) } pub fn exist_scripts(file: String) -> bool { @@ -77,8 +88,15 @@ pub fn exist_scripts(file: String) -> bool { pub fn create_chatgpt_scripts(file: String, body: String) { let script_file = app_root().join("scripts").join(file); - info!("script_file: {:?}", script_file); - fs::write(&script_file, body).unwrap(); + match create_file(&script_file) { + Ok(_) => { + info!("script_file: {:?}", script_file); + fs::write(&script_file, body).unwrap(); + } + Err(e) => { + error!("create_file, {}: {}", script_file.display(), e); + } + } } fn compare_nested_json_objects(json1: &str, json2: &str) -> bool { @@ -121,3 +139,53 @@ pub fn compare_json_objects(obj1: &Value, obj2: &Value) -> bool { _ => obj1 == obj2, } } + +pub mod cmd { + use super::{create_chatgpt_scripts, parse_script}; + use crate::conf::SCRIPTS_DIR; + use log::{error, info}; + use tauri::Manager; + + #[tauri::command] + pub fn get_script_info(name: String) -> Option { + parse_script(name) + } + + #[tauri::command] + pub async fn sync_scripts(app: tauri::AppHandle, name: String) -> bool { + let res = reqwest::get(format!("{}{}", SCRIPTS_DIR, name)).await; + + info!("sync_scripts: {}", name); + let body = match res { + Ok(response) => match response.text().await { + Ok(text) => text, + Err(err) => { + error!("sync_scripts_result_error: {}", err); + if let Some(v) = app.get_window("core") { + tauri::api::dialog::message( + Some(&v), + "Sync Scripts Error", + format!("sync_scripts_result_error: {}", err), + ); + } + return false; + } + }, + Err(err) => { + error!("sync_scripts_response_error: {}", err); + if let Some(v) = app.get_window("core") { + tauri::api::dialog::message( + Some(&v), + "Sync Scripts Error", + format!("sync_scripts_response_error: {}", err), + ); + } + return false; + } + }; + + create_chatgpt_scripts(name, body); + + true + } +} diff --git a/src-tauri/src/app/setup.rs b/src-tauri/src/app/setup.rs index 6085df9..bc549d4 100644 --- a/src-tauri/src/app/setup.rs +++ b/src-tauri/src/app/setup.rs @@ -1,4 +1,8 @@ -use crate::{app, conf::AppConf, utils}; +use crate::{ + app, + conf::AppConf, + utils::{self, load_script}, +}; use log::{error, info}; use tauri::{utils::config::WindowUrl, window::WindowBuilder, App, GlobalShortcutManager, Manager}; use wry::application::accelerator::Accelerator; @@ -10,6 +14,8 @@ pub fn init(app: &mut App) -> Result<(), Box> { let url = app_conf.main_origin.to_string(); let theme = AppConf::theme_mode(); + app::template::Template::new(utils::app_root().join("scripts")); + let handle = app.app_handle(); tauri::async_runtime::spawn(async move { app::script::init_script(handle) @@ -71,7 +77,7 @@ pub fn init(app: &mut App) -> Result<(), Box> { .theme(Some(theme)) .always_on_top(app_conf2.stay_on_top) .initialization_script(&utils::user_script()) - .initialization_script(include_str!("../../../scripts/core.js")) + .initialization_script(&load_script("core.js")) .user_agent(&app_conf2.ua_window); #[cfg(target_os = "macos")] @@ -89,11 +95,11 @@ pub fn init(app: &mut App) -> Result<(), Box> { .initialization_script(include_str!("../vendors/jspdf.js")) .initialization_script(include_str!("../vendors/turndown.js")) .initialization_script(include_str!("../vendors/turndown-plugin-gfm.js")) - .initialization_script(include_str!("../../../scripts/popup.core.js")) - .initialization_script(include_str!("../../../scripts/export.js")) - .initialization_script(include_str!("../../../scripts/markdown.export.js")) - .initialization_script(include_str!("../../../scripts/cmd.js")) - .initialization_script(include_str!("../../../scripts/chat.js")) + .initialization_script(&load_script("popup.core.js")) + .initialization_script(&load_script("export.js")) + .initialization_script(&load_script("markdown.export.js")) + .initialization_script(&load_script("cmd.js")) + .initialization_script(&load_script("chat.js")) } main_win.build().unwrap(); diff --git a/src-tauri/src/app/template.rs b/src-tauri/src/app/template.rs new file mode 100644 index 0000000..aa616c8 --- /dev/null +++ b/src-tauri/src/app/template.rs @@ -0,0 +1,110 @@ +use anyhow::Result; +use log::{error, info}; +use std::{ + fs::{self, File}, + io::Write, + path::Path, +}; + +pub static SCRIPT_MAIN: &[u8] = include_bytes!("../../../scripts/main.js"); +pub static SCRIPT_CORE: &[u8] = include_bytes!("../../../scripts/core.js"); +pub static SCRIPT_CHAT: &[u8] = include_bytes!("../../../scripts/chat.js"); +pub static SCRIPT_CMD: &[u8] = include_bytes!("../../../scripts/cmd.js"); +pub static SCRIPT_DALLE2: &[u8] = include_bytes!("../../../scripts/dalle2.js"); +pub static SCRIPT_EXPORT: &[u8] = include_bytes!("../../../scripts/export.js"); +pub static SCRIPT_MD_EXPORT: &[u8] = include_bytes!("../../../scripts/markdown.export.js"); +pub static SCRIPT_POPUP_CORE: &[u8] = include_bytes!("../../../scripts/popup.core.js"); +pub static SCRIPT_MANIFEST: &[u8] = include_bytes!("../../../scripts/manifest.json"); +pub static SCRIPT_README: &[u8] = include_bytes!("../../../scripts/README.md"); + +#[derive(Debug)] +pub struct Template { + pub main: Vec, + pub core: Vec, + pub chat: Vec, + pub cmd: Vec, + pub dalle2: Vec, + pub export: Vec, + pub markdown_export: Vec, + pub popup_core: Vec, + pub manifest: Vec, + pub readme: Vec, +} + +impl Template { + pub fn new>(template_dir: P) -> Self { + let template_dir = template_dir.as_ref(); + let mut template = Template::default(); + + { + let files = vec![ + (template_dir.join("main.js"), &mut template.main), + (template_dir.join("core.js"), &mut template.core), + (template_dir.join("chat.js"), &mut template.chat), + (template_dir.join("cmd.js"), &mut template.cmd), + (template_dir.join("dalle2.js"), &mut template.dalle2), + (template_dir.join("export.js"), &mut template.export), + ( + template_dir.join("markdown.export.js"), + &mut template.markdown_export, + ), + (template_dir.join("popup.core.js"), &mut template.popup_core), + (template_dir.join("README.md"), &mut template.readme), + (template_dir.join("manifest.json"), &mut template.manifest), + ]; + + for (filename, dest) in files { + if !filename.exists() { + match create_dir(&filename) { + Ok(_) => { + if let Err(e) = write_file_contents(&filename, dest) { + error!("write_script, {}: {}", filename.display(), e); + } else { + info!("write_script: {}", filename.display()); + } + } + Err(e) => { + error!("create_file, {}: {}", filename.display(), e); + } + } + } + } + } + + template + } +} + +impl Default for Template { + fn default() -> Template { + Template { + main: Vec::from(SCRIPT_MAIN), + core: Vec::from(SCRIPT_CORE), + chat: Vec::from(SCRIPT_CHAT), + cmd: Vec::from(SCRIPT_CMD), + dalle2: Vec::from(SCRIPT_DALLE2), + export: Vec::from(SCRIPT_EXPORT), + markdown_export: Vec::from(SCRIPT_MD_EXPORT), + popup_core: Vec::from(SCRIPT_POPUP_CORE), + manifest: Vec::from(SCRIPT_MANIFEST), + readme: Vec::from(SCRIPT_README), + } + } +} + +fn create_dir>(filename: P) -> Result<()> { + let filename = filename.as_ref(); + if let Some(parent) = filename.parent() { + if !parent.exists() { + fs::create_dir_all(parent)?; + } + } + Ok(()) +} + +pub fn write_file_contents>(filename: P, data: &[u8]) -> Result<()> { + let filename = filename.as_ref(); + let mut file = File::create(filename)?; + file.write_all(data)?; + Ok(()) +} diff --git a/src-tauri/src/app/window.rs b/src-tauri/src/app/window.rs index 147a5d9..b2fb010 100644 --- a/src-tauri/src/app/window.rs +++ b/src-tauri/src/app/window.rs @@ -1,4 +1,7 @@ -use crate::{conf::AppConf, utils}; +use crate::{ + conf::AppConf, + utils::{self, load_script}, +}; use log::info; use std::time::SystemTime; use tauri::{utils::config::WindowUrl, window::WindowBuilder, Manager}; @@ -23,16 +26,16 @@ pub fn tray_window(handle: &tauri::AppHandle) { .always_on_top(true) .theme(Some(theme)) .initialization_script(&utils::user_script()) - .initialization_script(include_str!("../../../scripts/core.js")) + .initialization_script(&load_script("core.js")) .user_agent(&app_conf.ua_tray); if app_conf.tray_origin == "https://chat.openai.com" && !app_conf.tray_dashboard { tray_win = tray_win .initialization_script(include_str!("../vendors/floating-ui-core.js")) .initialization_script(include_str!("../vendors/floating-ui-dom.js")) - .initialization_script(include_str!("../../../scripts/cmd.js")) - .initialization_script(include_str!("../../../scripts/chat.js")) - .initialization_script(include_str!("../../../scripts/popup.core.js")) + .initialization_script(&load_script("cmd.js")) + .initialization_script(&load_script("chat.js")) + .initialization_script(&load_script("popup.core.js")) } tray_win.build().unwrap().hide().unwrap(); @@ -78,9 +81,9 @@ pub fn dalle2_window( .inner_size(800.0, 600.0) .always_on_top(false) .theme(Some(theme)) - .initialization_script(include_str!("../../../scripts/core.js")) + .initialization_script(&load_script("core.js")) + .initialization_script(&load_script("dalle2.js")) .initialization_script(&query) - .initialization_script(include_str!("../../../scripts/dalle2.js")) .build() .unwrap(); }); @@ -161,7 +164,7 @@ pub mod cmd { tauri::async_runtime::spawn(async move { tauri::WindowBuilder::new(&app, label, tauri::WindowUrl::App(url.parse().unwrap())) .initialization_script(&script.unwrap_or_default()) - .initialization_script(include_str!("../../../scripts/core.js")) + .initialization_script(&load_script("core.js")) .title(title) .inner_size(960.0, 700.0) .resizable(true) diff --git a/src-tauri/src/conf.rs b/src-tauri/src/conf.rs index 3bdd641..593c392 100644 --- a/src-tauri/src/conf.rs +++ b/src-tauri/src/conf.rs @@ -15,8 +15,7 @@ pub const UPDATE_LOG_URL: &str = "https://github.com/lencx/ChatGPT/blob/main/UPD // pub const BUY_COFFEE: &str = "https://www.buymeacoffee.com/lencx"; pub const GITHUB_PROMPTS_CSV_URL: &str = "https://raw.githubusercontent.com/f/awesome-chatgpt-prompts/main/prompts.csv"; -pub const SCRIPTS_MANIFEST: &str = - "https://raw.githubusercontent.com/lencx/ChatGPT/main/scripts/manifest.json"; +pub const SCRIPTS_DIR: &str = "https://raw.githubusercontent.com/lencx/ChatGPT/main/scripts/"; pub const APP_CONF_PATH: &str = "chat.conf.json"; pub const CHATGPT_URL: &str = "https://chat.openai.com"; diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index ac4900d..d479b00 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -7,7 +7,7 @@ mod app; mod conf; mod utils; -use app::{cmd, fs_extra, gpt, menu, setup, window}; +use app::{cmd, fs_extra, gpt, menu, script, setup, window}; use conf::AppConf; use tauri_plugin_autostart::MacosLauncher; use tauri_plugin_log::{ @@ -76,6 +76,8 @@ async fn main() { conf::cmd::form_confirm, conf::cmd::form_cancel, conf::cmd::form_msg, + script::cmd::sync_scripts, + script::cmd::get_script_info, window::cmd::wa_window, window::cmd::control_window, window::cmd::window_reload, diff --git a/src-tauri/src/utils.rs b/src-tauri/src/utils.rs index ec92be0..80ae2bb 100644 --- a/src-tauri/src/utils.rs +++ b/src-tauri/src/utils.rs @@ -4,7 +4,7 @@ use regex::Regex; use serde_json::Value; use std::{ collections::HashMap, - fs::{self, File}, + fs, path::{Path, PathBuf}, process::Command, }; @@ -25,11 +25,15 @@ pub fn exists(path: &Path) -> bool { Path::new(path).exists() } -pub fn create_file(path: &Path) -> Result { - if let Some(p) = path.parent() { - fs::create_dir_all(p)? +pub fn create_file>(filename: P) -> Result<()> { + let filename = filename.as_ref(); + if let Some(parent) = filename.parent() { + if !parent.exists() { + fs::create_dir_all(parent)?; + } } - File::create(path).map_err(Into::into) + fs::File::create(filename)?; + Ok(()) } pub fn create_chatgpt_prompts() { @@ -42,31 +46,20 @@ pub fn create_chatgpt_prompts() { } } -pub fn script_path() -> PathBuf { - let script_file = app_root().join("main.js"); - if !exists(&script_file) { - create_file(&script_file).unwrap(); - fs::write( - &script_file, - format!( - "// *** ChatGPT User Script ***\n// @github: https://github.com/lencx/ChatGPT \n// @path: {}\n\nconsole.log('🤩 Hello ChatGPT!!!');", - &script_file.to_string_lossy() - ), - ) - .unwrap(); - } - - script_file -} - pub fn user_script() -> String { - let user_script_content = fs::read_to_string(script_path()).unwrap_or_else(|_| "".to_string()); + let user_script_file = app_root().join("scripts").join("main.js"); + let user_script_content = fs::read_to_string(user_script_file).unwrap_or_else(|_| "".to_string()); format!( "window.addEventListener('DOMContentLoaded', function() {{\n{}\n}})", user_script_content ) } +pub fn load_script(filename: &str) -> String { + let script_file = app_root().join("scripts").join(filename); + fs::read_to_string(script_file).unwrap_or_else(|_| "".to_string()) +} + pub fn open_file(path: PathBuf) { let pathname = convert_path(path.to_str().unwrap()); info!("open_file: {}", pathname); diff --git a/src/components/FilePath/index.tsx b/src/components/FilePath/index.tsx index 1b9cd09..04599e3 100644 --- a/src/components/FilePath/index.tsx +++ b/src/components/FilePath/index.tsx @@ -16,7 +16,8 @@ const FilePath: FC = ({ className, label = 'PATH', paths = '', ur const [filePath, setPath] = useState(''); useEffect(() => { - if (!path && !url) return; + if (!(paths || url)) return; + (async () => { if (url) { setPath(url); diff --git a/src/hooks/useColumns.tsx b/src/hooks/useColumns.tsx index ab55762..7632f17 100644 --- a/src/hooks/useColumns.tsx +++ b/src/hooks/useColumns.tsx @@ -74,6 +74,7 @@ export const EditRow: FC = ({ rowKey, row, actions }) => { onChange={handleChange} {...DISABLE_AUTO_COMPLETE} onPressEnter={handleSave} + onBlur={handleSave} /> ) : (
diff --git a/src/main.scss b/src/main.scss index 8ac1c5b..cd4b9de 100644 --- a/src/main.scss +++ b/src/main.scss @@ -114,3 +114,25 @@ body, cursor: pointer; } } + +.editor-task { + margin-bottom: 5px; + display: flex; + justify-content: space-between; + + .ant-breadcrumb-link { + padding: 3px 5px; + transition: all 300ms ease; + border-radius: 4px; + &:hover { + color: rgba(0, 0, 0, 0.88); + background-color: rgba(0, 0, 0, 0.06); + cursor: pointer; + } + } + + .editor-btn { + cursor: pointer; + margin-left: 5px; + } +} diff --git a/src/routes.tsx b/src/routes.tsx index 9206c29..e310f19 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -14,6 +14,7 @@ import type { MenuProps } from 'antd'; import Settings from '@/view/settings'; import About from '@/view/about'; import Scripts from '@/view/scripts'; +import ScriptsEditor from '@/view/scripts/Editor'; import UserCustom from '@/view/prompts/UserCustom'; import SyncPrompts from '@/view/prompts/SyncPrompts'; import SyncCustom from '@/view/prompts/SyncCustom'; @@ -103,6 +104,11 @@ export const routes: Array = [ icon: , }, }, + { + path: '/scripts/:id', + element: , + hideMenu: true, + }, { path: '/about', element: , diff --git a/src/utils.ts b/src/utils.ts index 7bf47bb..45e5f9c 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -23,6 +23,10 @@ export const chatRoot = async () => { return join(await homeDir(), '.chatgpt'); }; +export const scriptRoot = async () => { + return join(await chatRoot(), 'scripts'); +}; + export const chatPromptPath = async (): Promise => { return join(await chatRoot(), CHAT_PROMPT_JSON); }; diff --git a/src/view/markdown/index.scss b/src/view/markdown/index.scss deleted file mode 100644 index 964eb74..0000000 --- a/src/view/markdown/index.scss +++ /dev/null @@ -1,16 +0,0 @@ -.md-task { - margin-bottom: 5px; - display: flex; - justify-content: space-between; - - .ant-breadcrumb-link { - padding: 3px 5px; - transition: all 300ms ease; - border-radius: 4px; - &:hover { - color: rgba(0, 0, 0, 0.88); - background-color: rgba(0, 0, 0, 0.06); - cursor: pointer; - } - } -} diff --git a/src/view/markdown/index.tsx b/src/view/markdown/index.tsx index 292c7e2..8ed5f5d 100644 --- a/src/view/markdown/index.tsx +++ b/src/view/markdown/index.tsx @@ -8,7 +8,6 @@ import { fs, shell } from '@tauri-apps/api'; import useInit from '@/hooks/useInit'; import SplitIcon from '@/icons/SplitIcon'; import { getPath } from '@/view/notes/config'; -import './index.scss'; const modeMap: any = { 0: 'split', @@ -41,7 +40,7 @@ export default function Markdown() { return ( <> -
+
history.go(-1)}> diff --git a/src/view/notes/config.tsx b/src/view/notes/config.tsx index fa100ac..7e26367 100644 --- a/src/view/notes/config.tsx +++ b/src/view/notes/config.tsx @@ -67,5 +67,5 @@ const RenderPath = ({ row }: any) => { }; export const getPath = async (row: any) => { - return (await path.join(await chatRoot(), 'notes', row.id)) + `.${row.ext}`; + return await path.join(await chatRoot(), 'notes', `${row.id}.md`); }; diff --git a/src/view/prompts/SyncPrompts/config.tsx b/src/view/prompts/SyncPrompts/config.tsx index b6381de..0896e07 100644 --- a/src/view/prompts/SyncPrompts/config.tsx +++ b/src/view/prompts/SyncPrompts/config.tsx @@ -7,7 +7,6 @@ export const syncColumns = () => [ title: '/{cmd}', dataIndex: 'cmd', fixed: 'left', - // width: 120, key: 'cmd', render: (_: string, row: Record) => ( /{genCmd(row.act)} @@ -17,20 +16,17 @@ export const syncColumns = () => [ title: 'Act', dataIndex: 'act', key: 'act', - // width: 200, }, { title: 'Tags', dataIndex: 'tags', key: 'tags', - // width: 150, - render: () => chatgpt-prompts, + render: () => built-in, }, { title: 'Enable', dataIndex: 'enable', key: 'enable', - // width: 80, render: (v: boolean = false, row: Record, action: Record) => ( action.setRecord({ ...row, enable: v }, 'enable')} /> ), @@ -40,7 +36,6 @@ export const syncColumns = () => [ title: 'Prompt', dataIndex: 'prompt', key: 'prompt', - // width: 300, render: (v: string) => {v}, }, ]; diff --git a/src/view/prompts/SyncPrompts/index.tsx b/src/view/prompts/SyncPrompts/index.tsx index d588374..7b9c957 100644 --- a/src/view/prompts/SyncPrompts/index.tsx +++ b/src/view/prompts/SyncPrompts/index.tsx @@ -12,7 +12,8 @@ import { fmtDate, chatRoot } from '@/utils'; import { syncColumns } from './config'; import './index.scss'; -const promptsURL = 'https://github.com/f/awesome-chatgpt-prompts/blob/main/prompts.csv'; +// const promptsURL = 'https://github.com/f/awesome-chatgpt-prompts/blob/main/prompts.csv'; +const promptsURL = 'https://raw.githubusercontent.com/f/awesome-chatgpt-prompts/main/prompts.csv'; export default function SyncPrompts() { const { rowSelection, selectedRowIDs } = useTableRowSelection(); @@ -83,7 +84,7 @@ export default function SyncPrompts() {
- +
{lastUpdated && ( diff --git a/src/view/prompts/SyncRecord/config.tsx b/src/view/prompts/SyncRecord/config.tsx index 66ffd23..18a1dbe 100644 --- a/src/view/prompts/SyncRecord/config.tsx +++ b/src/view/prompts/SyncRecord/config.tsx @@ -7,7 +7,6 @@ export const syncColumns = () => [ title: '/{cmd}', dataIndex: 'cmd', fixed: 'left', - // width: 120, key: 'cmd', render: (_: string, row: Record) => ( /{row.cmd ? row.cmd : genCmd(row.act)} @@ -17,13 +16,11 @@ export const syncColumns = () => [ title: 'Act', dataIndex: 'act', key: 'act', - // width: 200, }, { title: 'Tags', dataIndex: 'tags', key: 'tags', - // width: 150, render: (v: string[]) => ( {v?.map((i) => ( @@ -36,7 +33,6 @@ export const syncColumns = () => [ title: 'Enable', dataIndex: 'enable', key: 'enable', - // width: 80, render: (v: boolean = false, row: Record, action: Record) => ( action.setRecord({ ...row, enable: v }, 'enable')} /> ), @@ -46,7 +42,6 @@ export const syncColumns = () => [ title: 'Prompt', dataIndex: 'prompt', key: 'prompt', - // width: 300, render: (v: string) => {v}, }, ]; diff --git a/src/view/prompts/SyncRecord/index.tsx b/src/view/prompts/SyncRecord/index.tsx index 260e83b..5f3c0ab 100644 --- a/src/view/prompts/SyncRecord/index.tsx +++ b/src/view/prompts/SyncRecord/index.tsx @@ -73,7 +73,7 @@ export default function SyncRecord() {
- +
{state?.last_updated && ( diff --git a/src/view/prompts/UserCustom/Form.tsx b/src/view/prompts/UserCustom/Form.tsx index 9d4e306..15b991b 100644 --- a/src/view/prompts/UserCustom/Form.tsx +++ b/src/view/prompts/UserCustom/Form.tsx @@ -45,12 +45,6 @@ const UserCustomForm: ForwardRefRenderFunction = > - - - - - - = > + + + + + + ); }; diff --git a/src/view/scripts/Editor.tsx b/src/view/scripts/Editor.tsx index 9546eea..401800e 100644 --- a/src/view/scripts/Editor.tsx +++ b/src/view/scripts/Editor.tsx @@ -1,32 +1,74 @@ -import { FC, useEffect, useState } from 'react'; +import { FC, useState } from 'react'; +import { useLocation } from 'react-router-dom'; import Editor from '@monaco-editor/react'; +import { Breadcrumb, Tag, Popconfirm } from 'antd'; +import { ArrowLeftOutlined } from '@ant-design/icons'; +import { fs, shell, dialog, process } from '@tauri-apps/api'; -interface MarkdownEditorProps { - value?: string; +import useInit from '@/hooks/useInit'; +import { getPath } from './config'; + +interface ScriptEditorProps { onChange?: (v: string) => void; - mode?: string; } -const ScriptEditor: FC = ({ - value = 'console.log', - onChange, - mode = 'split', -}) => { - const [content, setContent] = useState(value); +const ScriptEditor: FC = ({ onChange }) => { + const [filePath, setFilePath] = useState(''); + const [source, setSource] = useState('// write your script here\n'); + const location = useLocation(); + const state = location?.state; - useEffect(() => { - setContent(value); - onChange && onChange(value); - }, [value]); + useInit(async () => { + const file = await getPath(state); + setFilePath(file); + setSource(await fs.readTextFile(file)); + }); const handleEdit = (e: any) => { - setContent(e); + setSource(e); onChange && onChange(e); }; + const handleSave = async () => { + await fs.writeTextFile(filePath, source); + const isOk = await dialog.ask( + 'The script will take effect after the application is restarted. Do you want to restart now?', + { + title: 'Script saved successfully', + }, + ); + + if (isOk) { + process.relaunch(); + } + }; + + const handleReset = async () => { + setSource(await fs.readTextFile(filePath)); + }; + return (
- + + history.go(-1)}> + + + + + Save + + + shell.open(filePath)}>{filePath} + +
); }; diff --git a/src/view/scripts/Head.tsx b/src/view/scripts/Head.tsx deleted file mode 100644 index 3ac7f60..0000000 --- a/src/view/scripts/Head.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import { useEffect, useState } from 'react'; -import { Tag, Collapse, Tooltip } from 'antd'; -import { EditOutlined, FileSyncOutlined } from '@ant-design/icons'; -import { path, fs, shell } from '@tauri-apps/api'; - -import { chatRoot } from '@/utils'; -import useInit from '@/hooks/useInit'; - -export type ScriptInfo = { - name: string; - filePath: string; - file: string; -}; - -interface ScriptHeadProps { - name: string; - onEdit?: (data: ScriptInfo) => void; - activeKey: string; -} - -export default function ScriptHead({ name, onEdit, activeKey }: ScriptHeadProps) { - const [file, setFile] = useState(''); - const [filePath, setFilePath] = useState(''); - const [editing, setEdit] = useState(false); - - useEffect(() => { - if (activeKey !== name) { - setEdit(false); - } - }, [activeKey]); - - useInit(async () => { - const filePath = await path.join(await chatRoot(), 'scripts', name); - setFilePath(filePath); - const content = await fs.readTextFile(filePath); - setFile(content); - }); - - const handleGoFile = () => { - shell.open(filePath); - }; - - const handleEdit = async () => { - setEdit(true); - onEdit && onEdit({ name, filePath, file }); - }; - - const handleCancel = async () => { - setEdit(false); - }; - - const handleSave = async () => { - setEdit(false); - }; - - const handleSync = async () => {}; - - const handleURL = async () => { - shell.open(`https://github.com/lencx/ChatGPT/blob/main/scripts/${name}`); - }; - - const version = '0.1.0'; - return ( - <> - - {version} - - {editing ? ( - - - Cancel - - - Save - - - ) : ( - - - - )} - - - - - - Path: {filePath} - - - - - URL: lencx/ChatGPT/scripts/{name} - - - - ); -} diff --git a/src/view/scripts/config.tsx b/src/view/scripts/config.tsx index af459b6..1eb3b19 100644 --- a/src/view/scripts/config.tsx +++ b/src/view/scripts/config.tsx @@ -1,25 +1,37 @@ import { useState } from 'react'; import { Link } from 'react-router-dom'; import { Tag, Space, Popconfirm } from 'antd'; +import { ArrowRightOutlined } from '@ant-design/icons'; import { path, shell } from '@tauri-apps/api'; import useInit from '@/hooks/useInit'; import { fmtDate, chatRoot } from '@/utils'; -export const scriptColumns = () => [ +export const scriptColumns = ({ scriptsMap }: any) => [ { title: 'File Name', dataIndex: 'name', key: 'name', - width: 120, - render: (v: string) => {v}, + fixed: 'left', + width: 160, + render: (v: string) => {v}, }, { title: 'Version', - dataIndex: 'version', - key: 'version', - width: 120, - render: (v: string) => {v}, + width: 200, + render: (_: string, row: any) => { + const next = scriptsMap?.[row.name]?.next_version; + const curr = scriptsMap?.[row.name]?.curr_version; + return ( + row.name !== 'main.js' && ( + + {curr && {curr}} + {next && next !== curr && } + {next && next !== curr && {next}} + + ) + ); + }, }, { title: 'Path', @@ -28,6 +40,14 @@ export const scriptColumns = () => [ width: 200, render: (_: string, row: any) => , }, + { + title: 'Remote File', + width: 200, + render: (_: string, row: any) => { + const uri = `https://raw.githubusercontent.com/lencx/ChatGPT/main/scripts/${row.name}`; + return shell.open(uri)}>{uri}; + }, + }, { title: 'Created', dataIndex: 'created', @@ -38,28 +58,41 @@ export const scriptColumns = () => [ { title: 'Action', fixed: 'right', - width: 160, + width: 100, render: (_: any, row: any, actions: any) => { + const isExternal = row.name === 'main.js'; + + const next = scriptsMap?.[row.name]?.next_version; + const curr = scriptsMap?.[row.name]?.curr_version; + return ( - + Edit - actions.setRecord(row, 'sync')} - okText="Yes" - cancelText="No" - > - Sync - + {!isExternal && next && next !== curr && ( + actions.setRecord(row, 'sync')} + okText="Yes" + cancelText="No" + overlayStyle={{ width: 300 }} + > + Sync + + )} ); }, }, ]; -const RenderPath = ({ row }: any) => { +export const RenderPath = ({ row }: any) => { const [filePath, setFilePath] = useState(''); useInit(async () => { setFilePath(await getPath(row)); @@ -68,5 +101,5 @@ const RenderPath = ({ row }: any) => { }; export const getPath = async (row: any) => { - return (await path.join(await chatRoot(), 'notes', row.id)) + `.${row.ext}`; + return await path.join(await chatRoot(), 'scripts', `${row.name}`); }; diff --git a/src/view/scripts/index.scss b/src/view/scripts/index.scss deleted file mode 100644 index 26dcc78..0000000 --- a/src/view/scripts/index.scss +++ /dev/null @@ -1,10 +0,0 @@ -.chatgpt-script { - .ant-collapse-header { - user-select: none; - -webkit-user-select: none; - } -} - -.script-editor { - height: 300px; -} diff --git a/src/view/scripts/index.tsx b/src/view/scripts/index.tsx index c46066b..acc5b6e 100644 --- a/src/view/scripts/index.tsx +++ b/src/view/scripts/index.tsx @@ -1,17 +1,15 @@ -import { useState } from 'react'; -import { Table, Tag } from 'antd'; +import { useEffect, useState } from 'react'; +import { Table } from 'antd'; +import { path, fs, invoke } from '@tauri-apps/api'; -import useData from '@/hooks/useData'; +import useInit from '@/hooks/useInit'; import useColumns from '@/hooks/useColumns'; -import { useTableRowSelection, TABLE_PAGINATION } from '@/hooks/useTable'; +import { TABLE_PAGINATION } from '@/hooks/useTable'; +import { scriptRoot } from '@/utils'; import { scriptColumns } from './config'; -import ScriptHead, { type ScriptInfo } from './Head'; -import ScriptEditor from './Editor'; -import './index.scss'; - -// const { Panel } = Collapse; const SCRIPTS = [ + 'main.js', 'core.js', 'chat.js', 'cmd.js', @@ -22,51 +20,54 @@ const SCRIPTS = [ ]; export default function Scripts() { - const [activeKey, setActiveKey] = useState('core.js'); + const [scriptsMap, setScriptsMap] = useState({}); + const { columns, ...opInfo } = useColumns(scriptColumns({ scriptsMap })); - const { columns, ...opInfo } = useColumns(scriptColumns()); + const handleInit = async () => { + try { + const manifestPath = await path.join(await scriptRoot(), 'manifest.json'); + const data = await fs.readTextFile(manifestPath); + const { scripts } = JSON.parse(data); + const infoMap: Record = {}; - const handleActiveKeyChange = (key: any) => { - setActiveKey(key); + for (const script of scripts) { + const scriptInfo: any = await invoke('get_script_info', { name: script.name }); + infoMap[script.name] = { + curr_version: scriptInfo?.version, + next_version: script.version, + }; + } + setScriptsMap(infoMap); + } catch (error) { + console.error(error); + } }; - const panelHeadProps = { - onEdit(data: ScriptInfo) { - setActiveKey(data.name); - }, - activeKey, - }; + useInit(handleInit); + + useEffect(() => { + if (!opInfo.opType) return; + (async () => { + if (opInfo.opType === 'sync') { + const isOk = await invoke('sync_scripts', { name: opInfo?.opRecord?.name }); + if (isOk) { + await handleInit(); + opInfo.resetRecord(); + } + } + })(); + }, [opInfo.opType]); return (
({ name: i }))} {...TABLE_PAGINATION} + pagination={false} /> - {/* { - return { - label: {i}, - key: i, - children: , - } - })} - /> */} - {/* - {SCRIPTS.map((i) => { - return ( - } key={i}> - - - ) - })} - */} ); }