From 2526a91463492c86d86ce984a108bb8e9f0b7492 Mon Sep 17 00:00:00 2001 From: Benito <zs22016070@estudiantes.uv.mx> Date: Thu, 20 Mar 2025 11:32:27 -0600 Subject: [PATCH] initialize project structure with essential files and configurations --- writers-delight-main/.eslintrc.js | 23 + writers-delight-main/.gitignore | 24 + writers-delight-main/LICENSE | 21 + writers-delight-main/README.md | 38 + writers-delight-main/index.html | 126 + writers-delight-main/package.json | 41 + writers-delight-main/prettier.config.js | 1 + writers-delight-main/public/favicon.ico | Bin 0 -> 15086 bytes writers-delight-main/public/illustration.svg | 1 + writers-delight-main/public/manifest.json | 15 + .../public/writers-delight.png | Bin 0 -> 103911 bytes writers-delight-main/src/App.tsx | 18 + writers-delight-main/src/Layout.tsx | 9 + writers-delight-main/src/SplashScreen.tsx | 88 + .../src/compositions/AISwitch.tsx | 167 + .../src/compositions/CompositionEdit.tsx | 55 + .../src/compositions/CompositionEditEmpty.tsx | 30 + .../src/compositions/CompositionList.tsx | 142 + .../src/compositions/CompositionListEmpty.tsx | 11 + .../compositions/CreateCompositionButton.tsx | 36 + .../src/compositions/HighlighhtSearchTerm.tsx | 29 + .../src/compositions/MoreActionsButton.tsx | 78 + .../src/compositions/index.ts | 5 + .../src/compositions/textUtils.ts | 3 + .../src/compositions/types.ts | 7 + writers-delight-main/src/dataProvider.ts | 55 + writers-delight-main/src/index.tsx | 9 + writers-delight-main/src/vite-env.d.ts | 1 + writers-delight-main/tsconfig.json | 26 + writers-delight-main/vite.config.ts | 14 + writers-delight-main/yarn.lock | 3986 +++++++++++++++++ 31 files changed, 5059 insertions(+) create mode 100644 writers-delight-main/.eslintrc.js create mode 100644 writers-delight-main/.gitignore create mode 100644 writers-delight-main/LICENSE create mode 100644 writers-delight-main/README.md create mode 100644 writers-delight-main/index.html create mode 100644 writers-delight-main/package.json create mode 100644 writers-delight-main/prettier.config.js create mode 100644 writers-delight-main/public/favicon.ico create mode 100644 writers-delight-main/public/illustration.svg create mode 100644 writers-delight-main/public/manifest.json create mode 100644 writers-delight-main/public/writers-delight.png create mode 100644 writers-delight-main/src/App.tsx create mode 100644 writers-delight-main/src/Layout.tsx create mode 100644 writers-delight-main/src/SplashScreen.tsx create mode 100644 writers-delight-main/src/compositions/AISwitch.tsx create mode 100644 writers-delight-main/src/compositions/CompositionEdit.tsx create mode 100644 writers-delight-main/src/compositions/CompositionEditEmpty.tsx create mode 100644 writers-delight-main/src/compositions/CompositionList.tsx create mode 100644 writers-delight-main/src/compositions/CompositionListEmpty.tsx create mode 100644 writers-delight-main/src/compositions/CreateCompositionButton.tsx create mode 100644 writers-delight-main/src/compositions/HighlighhtSearchTerm.tsx create mode 100644 writers-delight-main/src/compositions/MoreActionsButton.tsx create mode 100644 writers-delight-main/src/compositions/index.ts create mode 100644 writers-delight-main/src/compositions/textUtils.ts create mode 100644 writers-delight-main/src/compositions/types.ts create mode 100644 writers-delight-main/src/dataProvider.ts create mode 100644 writers-delight-main/src/index.tsx create mode 100644 writers-delight-main/src/vite-env.d.ts create mode 100644 writers-delight-main/tsconfig.json create mode 100644 writers-delight-main/vite.config.ts create mode 100644 writers-delight-main/yarn.lock diff --git a/writers-delight-main/.eslintrc.js b/writers-delight-main/.eslintrc.js new file mode 100644 index 0000000..903b148 --- /dev/null +++ b/writers-delight-main/.eslintrc.js @@ -0,0 +1,23 @@ +module.exports = { + extends: [ + "eslint:recommended", + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + "prettier", + ], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint"], + env: { + browser: true, + es2021: true, + }, + settings: { + react: { + version: "detect", + }, + }, + rules: { + "no-unused-vars": ["error", { argsIgnorePattern: "^_" }], + }, +}; diff --git a/writers-delight-main/.gitignore b/writers-delight-main/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/writers-delight-main/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/writers-delight-main/LICENSE b/writers-delight-main/LICENSE new file mode 100644 index 0000000..051ce4f --- /dev/null +++ b/writers-delight-main/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 marmelab + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/writers-delight-main/README.md b/writers-delight-main/README.md new file mode 100644 index 0000000..4714bec --- /dev/null +++ b/writers-delight-main/README.md @@ -0,0 +1,38 @@ +# writers-delight + +Write notes, essays, and stories with an AI assistant ([live demo](https://marmelab.com/writers-delight)). + +[](https://marmelab.com/writers-delight) + +This demo uses [react-admin](https://marmelab.com/react-admin)'s built-in [AI capabilities](https://marmelab.com/react-admin/PredictiveTextInput.html) to provide an inline writing assistant. Try editing a composition to see text suggestions appearing in ghost text. + +By default, the suggestions use fake latin text, but you can connect the app to OpenAI to get real suggestions powered by ChatGPT. Your OpenAI API key will not be sent to any third-party, just to the OpenAI API. + +This is an offline-first application: all your compositions are stored in your browser's local storage. You can even use it offline. + +## Installation + +Install the application dependencies by running: + +```sh +yarn +``` + +You will need an active subscription for [React-admin Enterprise Edition](https://marmelab.com/ra-enterprise/). + +## Development + +Start the application in development mode by running: + +```sh +yarn dev +``` + +## Production + +Build the application in production mode and deploy it to gh-pages by running: + +```sh +yarn build +yarn deploy +``` diff --git a/writers-delight-main/index.html b/writers-delight-main/index.html new file mode 100644 index 0000000..c2e63c2 --- /dev/null +++ b/writers-delight-main/index.html @@ -0,0 +1,126 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8" /> + <meta + name="viewport" + content="minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no" + /> + <meta name="theme-color" content="#000000" /> + <link rel="manifest" href="./manifest.json" /> + <link rel="shortcut icon" href="./favicon.ico" /> + <title>writers-delight</title> + <style> + body { + margin: 0; + padding: 0; + font-family: sans-serif; + background-color: #fff; + } + + .loader-container { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: #fafafa; + } + + /* CSS Spinner from https://projects.lukehaas.me/css-loaders/ */ + + .loader, + .loader:before, + .loader:after { + border-radius: 50%; + } + + .loader { + color: #283593; + font-size: 11px; + text-indent: -99999em; + margin: 55px auto; + position: relative; + width: 10em; + height: 10em; + box-shadow: inset 0 0 0 1em; + -webkit-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + } + + .loader:before, + .loader:after { + position: absolute; + content: ""; + } + + .loader:before { + width: 5.2em; + height: 10.2em; + background: #fafafa; + border-radius: 10.2em 0 0 10.2em; + top: -0.1em; + left: -0.1em; + -webkit-transform-origin: 5.2em 5.1em; + transform-origin: 5.2em 5.1em; + -webkit-animation: load2 2s infinite ease 1.5s; + animation: load2 2s infinite ease 1.5s; + } + + .loader:after { + width: 5.2em; + height: 10.2em; + background: #fafafa; + border-radius: 0 10.2em 10.2em 0; + top: -0.1em; + left: 5.1em; + -webkit-transform-origin: 0px 5.1em; + transform-origin: 0px 5.1em; + -webkit-animation: load2 2s infinite ease; + animation: load2 2s infinite ease; + } + + @-webkit-keyframes load2 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + } + + @keyframes load2 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + } + </style> + <link rel="preconnect" href="https://fonts.gstatic.com" /> + <link + href="https://fonts.googleapis.com/css2?family=Unna:wght@300;400;500;700&display=swap" + rel="stylesheet" + /> + </head> + + <body> + <noscript> You need to enable JavaScript to run this app. </noscript> + <div id="root"> + <div class="loader-container"> + <div class="loader">Loading...</div> + </div> + </div> + </body> + <script type="module" src="/src/index.tsx"></script> +</html> diff --git a/writers-delight-main/package.json b/writers-delight-main/package.json new file mode 100644 index 0000000..66ae0ef --- /dev/null +++ b/writers-delight-main/package.json @@ -0,0 +1,41 @@ +{ + "name": "writers-delight", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview", + "deploy": "gh-pages -d dist", + "type-check": "tsc --noEmit", + "lint": "eslint --fix --ext .js,.jsx,.ts,.tsx ./src", + "format": "prettier --write ./src" + }, + "dependencies": { + "@react-admin/ra-ai": "^5.0.0-beta.1", + "@react-admin/ra-form-layout": "^5.0.0-beta.0", + "highlight-search-term": "^1.0.0", + "lodash": "^4.17.21", + "ra-data-local-storage": "^5.0.1", + "ra-input-rich-text": "^5.0.1", + "react": "^18.3.1", + "react-admin": "^5.0.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@types/lodash": "^4.17.5", + "@types/node": "^20.14.8", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@typescript-eslint/eslint-plugin": "^5.60.1", + "@typescript-eslint/parser": "^5.60.1", + "@vitejs/plugin-react": "^4.3.1", + "eslint": "^8.43.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "gh-pages": "^6.1.1", + "prettier": "^2.8.8", + "typescript": "^5.5.2", + "vite": "^5.3.1" + } +} diff --git a/writers-delight-main/prettier.config.js b/writers-delight-main/prettier.config.js new file mode 100644 index 0000000..7c6d6c7 --- /dev/null +++ b/writers-delight-main/prettier.config.js @@ -0,0 +1 @@ +module.exports = {} \ No newline at end of file diff --git a/writers-delight-main/public/favicon.ico b/writers-delight-main/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f9222554e6c30f98dc616b5b1f8df05f1cbc9350 GIT binary patch literal 15086 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%0Ax%$@CD|GwnRkHx!0r3LZ zuP&c`YNR*PO0Qu*OXx@6R%{Qu*Z7>ee^EUd_?%_Gio}N;S;v@+Tk%+iw4~+PQu?6_ zlwL^bo}AuD3$3R5SW3UCG2Z06zc2m9`u|Px*&Ob_FaOzoW#Rm3R?lB&_4)yQ`=5n= zqkbbx*U#wJ0=@g4`5Zu<mK{Sq2CYtuYq<<Bma}aP(F{?U3>O&RE{5>?F)?&x#|{eJ zvV~*W84riIZ>QKhw;8p}IsC-#-E#g#P7$$`j0E6lT%<6828I9F?>iG>vwVhxubI){ znkTpL*$6-5Hs@cY*L%zj{KY!I!=E63+WPD9KczE=k`cpok@tymq<u3OHzoeNa4z2C z{etXw*_xCGr|i}eTWnAuzZS~|Ueu5^DON;c)9CMHW6k}oBp-|XKIlQa<nZGxhPr~Y zM~~9jjvb8RJot{B-syt}DPa6K0xfvgp7W9$IbVG-Je)2^Mo9m4oa0BV7kRtcBfgh7 zS4#L1xA7k|5VA@Bg9l3NSL0*iS#{;lQ{?*(T%UmUpaJ=E#MXAMSwqu@d_%KGj-YKT zmeZka+c+*5LtB<DC1-AzD*OWnn8c45SF@5OBoBkQXsfbzGI#JgBJ2c3o(!X={2lRX z@C0XWm0R1qWQoxEI`}cy;VoNmjO7`vojps&2c8zCOVO36C_1_`gj{)V0|$79_Py=v z(37}FQab=XS%jb00drCOceKvNbsKXf4m-5zmoh%a^Wgdm)F)i{;}3~<gC_6__}f*g zBy}0!zoq!6eluA3i1;XIK%Dw=#CZzmd_8iTYM$UTa%6}%9p15BVl_+u?MF-f{6sF0 zyFv}FrT7su{B6-fu50{7?guw-lKB6&l`FX3^i?hobU-fVjvhsOH*C;sDDtJMPg?ND z-o7n0xmThh6Yo({zw+d99Icr-L+VNt4{*1)vXZ<A&T9b77xAIE2M;Ki<8|O8+9kLD zv1a~>^1py{j?GGy;M{C!YRQ0mA7@8`y#`MQc{GqUR`P+Eq|n26{Ki<_xwhvq$KR2o zQ{PjIA9?_BUC5FGJo|R*CVPD*=l6gE_)%8?9Vc-vv}gQyH)TM7Su@qvlKGp`Kfs4t zBE)T>hcF)GeP9E3Ui<Z|XO@Y~A@7K1=pNLKptef(1-DQ2{7vXT!SCuKIgZs+{Wbi( zYS)t3aM<2G66=QSqV5TDH@K09@CAIbX#R@-Of&ic!2i+hzY_k>=eV`vKgNc<xpR&i zc`pEJYhZ&gZzUs^;78pK#%atoA^_O7Zq+~I8iiol>#$S$_|^Ort+*?^>Ygh6Ja1gL zu3Vw>$B$D4=UkC@jXZUd?%ld2a}V9J*(e9Ba3pt62|su>tXWe+4cP9Wb+l*wdWN7x zST8wf)WV_e$JG3i!;Nn#;YS;+W4)ZV#=!f_iSx)xj#I*A>U(PNOFyigDPa0cjhotc zsmA}Bc+An0EPh^le9vewJb%3D^Vb_bf4<T4w_!XWv!4;CKv=?#L5oxH|C$+IkM7@( zJ{=kw8@6}vJxc(6xbL6rv&D4$<YTFgXu`f*Y5;Y|?LV%>^(vvUrw;6oX;Q4Hrh8Je zN1&&0)(5@lj~qMR>F2>Pj(Wx&_5>j9_zpT%fBZ&W+K?uV#h$_^K|K_Fa>W0U+nmN{ z57e!}A87Yc1!}}|Q2kM-J+Ps>)WX6y0UkeZZ}B5ASLl1x31B?bGmPV$FzQGQ`)}bo zPkU=?a<;XVnyf({4cQhI7aP&GLV59fR<Un@e6nGG<nB-G*-hiSbQW51_HEAR2hf8v z)Bk48q=mk|bbQzEl9M*>?<V<B*ycIhe)qa{G7fm*$hID5Qb6GJY2qgs_Q(7|zoU(f z_!8cHKEyc<b(E-cf=&1B-c{<QQR9xYm8tnVB=*PoX8Wp@(!Y<B15NJVm!Y53D8P=P zzEr>e0CzV!eJGUvJ8Y<&6Om6xZ3FbR{`zBWAR9^6A7|^5#o7PtD(j@y3O)+j8tQ!G f{zYZYai-D-WlzywAN1w-b@$Kf?q5TFVCnN;r_I_P literal 0 HcmV?d00001 diff --git a/writers-delight-main/public/illustration.svg b/writers-delight-main/public/illustration.svg new file mode 100644 index 0000000..1366ab0 --- /dev/null +++ b/writers-delight-main/public/illustration.svg @@ -0,0 +1 @@ +<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 125" width="128" height="125"><style>tspan{white-space:pre}</style><path fill-rule="evenodd" d="m71.8 106.6c-4.4 3.6-8.8 7.2-13.3 10.6-2.9 2.3-4.4 5.5-8.1 3-9.2-6.1-18.2-12.5-26-20.3q-1.5-1.4-3-2.8-1.4-1.4-2.9-2.8-1.6-1.4-3.1-2.7-1.5-1.3-3.1-2.6c-2.9-2.4-6.5-4.7-8.2-8.1q-0.1-0.2-0.1-0.3 0-0.1 0-0.3 0-0.1 0.1-0.2 0-0.2 0.1-0.3 0 0 0.1-0.1 0-0.1 0-0.1 0-0.1 0.1-0.1 0-0.1 0.1-0.1 0.1-0.2 0.3-0.4 0.1-0.2 0.3-0.4 0.1-0.2 0.2-0.4 0.2-0.2 0.3-0.4 0-0.1 0-0.1c0-1 0.3-2 0.4-3.2q0-0.1 0-0.1 0 0 0 0 0-0.1 0-0.1 0 0 0 0c-1.1-1.8-1.1-3.6 1.8-5.2q2-1.2 3.9-2.4 2-1.3 3.8-2.7 1.9-1.3 3.7-2.8 1.9-1.4 3.6-2.9 1.4-1.3 2.9-2.5 1.4-1.3 2.9-2.5 1.5-1.1 3.1-2.2 1.5-1.2 3.1-2.2c1.7-1.1 5.2-3.5 7.5-2.5 1.6-3.4 5.8-5.2 8.9-7.2-0.8-2.5 1.4-4.5 3.6-5.5q0 0 0 0 0 0 0.1 0 0 0 0 0 0.1 0 0.1 0 0-0.1 0.1-0.1 0 0 0 0 0 0 0.1 0 0 0 0 0 0.2-0.1 0.4-0.1 0.1-0.1 0.3-0.1 0.1-0.1 0.3-0.1 0.2 0 0.3 0v-0.1q0.3-1.4 0.6-2.8 0.3-1.3 0.8-2.6 0.4-1.4 1-2.6 0.6-1.3 1.3-2.5 0-0.1 0.1-0.1 0-0.1 0-0.1 0.1-0.1 0.1-0.1 0.1 0 0.1-0.1 0.1 0 0.1 0 0.1-0.1 0.1-0.1 0.1-0.1 0.1-0.1 0.1 0 0.1 0 0.7-0.2 1.3-0.4 0.7-0.1 1.4-0.2 0.7 0 1.4 0 0.6 0 1.3 0.1 0.1 0 0.1 0 0.1 0 0.1 0 0.1 0 0.2 0.1 0 0 0.1 0 0.6-1.3 1.3-2.6 0.7-1.3 1.5-2.6 0.8-1.2 1.6-2.5 0.9-1.2 1.8-2.4 0 0 0.1 0 0-0.1 0-0.1 0 0 0-0.1 0 0 0 0 0-0.1 0.1-0.1c0.8-1.5 1.8-2.9 2.7-4.4q0.1 0 0.1-0.1 0.1-0.1 0.2-0.2 0.1-0.2 0.2-0.2 0.2-0.1 0.4-0.1 0.1 0 0.3 0 0.4 0.2 0.8 0.4 0.5 0.1 0.9 0.4 0.4 0.2 0.8 0.4 0.4 0.2 0.7 0.5 0.2 0.1 0.3 0.2 0.1 0.2 0.1 0.3 0.1 0.2 0.1 0.4 0 0.1-0.1 0.3 0 0.1 0 0.2 0 0.1-0.1 0.1 0 0.1 0 0.2-0.1 0.1-0.1 0.2c-1.4 1.5-1.6 3.6-2.6 5.3-1.3 2.1-2.7 4.1-3.9 6.2q0.8 0.1 1.7 0.4 0.8 0.3 1.4 0.8 0.7 0.6 1.3 1.3 0.5 0.6 0.8 1.4c2.4 1.1 4.1 1.3 4.7 4 3.3 1.2 5.9 3.3 8.9 5.1 3.5 2.1 6.7 4.5 10 6.7 3.7 2.4 7.6 4.6 11.2 7.2 2 1.5 3.9 3.1 6 4.5q0.5 0.2 0.9 0.5 0.5 0.3 0.9 0.6 0.4 0.3 0.8 0.6 0.4 0.4 0.8 0.8 0.1 0.1 0.2 0.3 0.1 0.1 0.2 0.3 0.1 0.1 0.1 0.3 0.1 0.2 0.1 0.4c0.1 1.1-0.8 1.8-1.4 2.6q-0.3 0.3-0.5 0.7-0.2 0.3-0.4 0.6-0.2 0.4-0.3 0.8-0.1 0.3-0.2 0.7-0.4 1.1-0.8 2-0.5 1-1 2-0.6 0.9-1.2 1.8-0.7 0.9-1.4 1.8-0.5 0.7-1.2 1.5-0.6 0.7-1.3 1.3-0.7 0.7-1.5 1.3-0.8 0.5-1.6 1.1 0 0.1 0 0.2 0 0.1-0.1 0.2-0.1 0.1-0.1 0.2-0.1 0-0.2 0.1 0 0-0.1 0.1 0 0 0 0 0 0-0.1 0.1 0 0 0 0c-6.6 4.7-12.7 10.3-19.5 14.6q-0.1 0-0.2 0.1-0.1 0-0.2 0-0.2 0-0.3 0-0.1 0-0.2-0.1c-0.7 1.8-2.5 3.1-4.3 4.8-4.5 4.1-9.3 7.8-14.1 11.5zm49.4-50.7q0-0.1-0.1-0.1-0.1-0.1-0.2-0.2-0.1-0.1-0.1-0.2-0.1-0.1-0.2-0.1-0.9 0.6-1.8 1.3 0.6 0.3 1.2 0.7 0.1-0.2 0.3-0.4 0.1-0.1 0.3-0.3 0.1-0.2 0.3-0.3 0.2-0.2 0.3-0.4zm-1.4 3.6q-0.1-0.1-0.1-0.1 0 0 0 0-0.1 0-0.1-0.1 0 0 0 0 0 0-0.1 0-0.3-0.2-0.6-0.5-0.3-0.2-0.7-0.4-0.3-0.2-0.6-0.4-0.4-0.1-0.7-0.3-0.1 0-0.2-0.1-0.1 0-0.1 0-0.1-0.1-0.2-0.1 0-0.1-0.1-0.1c-8.3-4.3-18.1-5.2-26.3-9.9q0 0 0 0-0.1 0-0.1 0-0.1 0-0.1-0.1-0.1 0-0.1 0-0.1-0.1-0.1-0.1c-1.7-1.7-3.2-3.5-4.8-5.3q-0.4-0.3-1-0.7-0.2-0.2-0.5-0.4-0.2-0.3-0.4-0.5-0.3-0.2-0.4-0.5-0.2-0.3-0.4-0.6c-0.2-0.6-0.3-1-0.2-1 0.1-0.1 0.4 0.2 0.8 0.6 0.4 0.4 0.9 0.9 1.5 1.3-0.3-2.6-1.5-5-1.8-7.7-0.1-1.6 0.1-4.3-2.1-4.8q-0.2-0.1-0.4-0.2-0.3 0-0.5-0.1-0.2 0-0.4-0.1-0.2-0.1-0.4-0.2 0.1 0.4 0.1 0.8c0.3 2.4 0 4.3-0.3 4.3-0.3 0-0.5-1.9-0.7-4.1q-0.1-1-0.3-1.8 0 0 0 0 0 0 0-0.1 0 0 0 0 0 0 0 0-0.1-0.3-0.1-0.5c-0.8-1.7-2.5-2.4-4.4-2.4q-0.2 0.3-0.5 0.7-0.2 0.3-0.4 0.7-0.2 0.3-0.4 0.7-0.2 0.3-0.3 0.7c-1.8 3.1-3.3 6.4-5.8 9q-0.1 0.1-0.2 0.1-0.1 0.1-0.2 0.1-0.1 0.1-0.2 0.1-0.1 0-0.2 0c0 0 0-0.1 0-0.1h-0.1c-0.3 0-0.7 0.1-1-0.1 0 0 0 0-0.1 0q-0.9-0.2-1.9-0.3-1-0.1-2 0-1 0-1.9 0.1-1 0.1-2 0.4 0 0 0 0c-1.5 0.7-4.4 2.9-1.8 4.2q0.6 0.2 1.2 0.4 0.6 0.1 1.2 0.2 0.7 0.1 1.3 0 0.6 0 1.2 0 0.1-0.1 0.2 0 0.1 0 0.1 0 0.1 0 0.2 0.1 0.1 0 0.1 0.1 0.1 0 0.2 0 0 0 0.1 0.1 0 0 0.1 0.1 0 0 0.1 0.1c1.7 2.2 3 4.7 5.2 6.5q0.8 0.7 1.7 1.4 1 0.7 1.9 1.3 1 0.5 2 1.1 1 0.5 2 0.9 0.1 0 0.2 0.1 0 0 0.1 0 0 0.1 0.1 0.1 0 0.1 0.1 0.1 0.5 0.2 1.1 0.4 0.7 0.2 1.3 0.4 0.2 0.1 0.3 0.1 0.2 0 0.3 0.1 0.2 0 0.3 0 0.1 0 0.3-0.1 0.2 0 0.3 0 0.2 0 0.4-0.1 0.1 0 0.3 0 0.2 0 0.3 0 0.1 0 0.2 0 0.1 0 0.2 0 0.1 0 0.1 0 0.1 0 0.2 0.1h0.1 0.1l0.2 0.1q0 0 0 0 0.1 0 0.1 0.1 0.1 0 0.1 0 0 0 0.1 0 0.1 0.1 0.2 0.2 0.1 0.1 0.2 0.1 0.1 0.1 0.2 0.2 0.1 0.1 0.2 0.2 0.2 0.1 0.3 0.2 0.1 0.1 0.3 0.2 0.1 0.1 0.3 0.2 0.1 0 0.3 0.1c0.3 0.1 0.5 0.2 0.5 0.2q0 0.2-0.6 0.2-0.2 0-0.4 0-0.2-0.1-0.4-0.1-0.2-0.1-0.3-0.2-0.2-0.1-0.4-0.2-0.1-0.1-0.2-0.1-0.1-0.1-0.2-0.2-0.1 0-0.2-0.1-0.1 0-0.2-0.1-0.1 0-0.1 0 0 0 0 0-0.1 0-0.1 0 0 0-0.1-0.1h-0.1-0.1v-0.2-0.1c-0.1 0-0.2 0.1-0.2 0.1-0.1 0-0.2 0.1-0.3 0.1-0.3 0-0.7 0.2-1.2 0.2q-0.2 0.1-0.4 0.1-0.2 0-0.4 0-0.2 0-0.4-0.1-0.2 0-0.4-0.1-0.6-0.2-1.3-0.4c1.5 2.2 6 3.1 8.1 4.4q0.9 0.6 1.8 1.2 1 0.7 1.9 1.4 0.9 0.6 1.8 1.3 0.8 0.7 1.7 1.5c5.6 4.3 11.8 7.5 18.2 10.5q0 0 0 0 0.1-0.1 0.1-0.1 0 0 0 0 0 0 0.1 0c3.3 0 6.3-3.5 8.1-6 1.7-2.4 3.8-5.3 4-8.3zm-2.9-3.9q0.9-0.7 1.9-1.4-0.7-0.4-1.3-0.8-0.6-0.4-1.1-0.8-0.6-0.5-1.2-0.9-0.6-0.5-1.1-1c-3.6-2.7-7.5-4.9-11.2-7.3-3.4-2.3-6.7-4.7-10.2-6.8-2.8-1.7-5.4-3.9-8.4-5.1 0.6 3 1.6 6 1.9 9.1 1.5 1.8 3 3.6 4.6 5.3q0.1 0 0.1 0 0 0 0 0 0 0 0 0 0 0 0 0c8.2 4.6 17.7 5.6 26 9.7zm-9.6 20.2q-0.1 0-0.1 0 0 0-0.1 0 0 0-0.1-0.1 0 0 0 0-0.2-0.1-0.3-0.1c-3 1.5-5.5 3.6-8.2 5.5q-1.1 0.7-2.1 1.5-1.1 0.7-2.1 1.5-1 0.9-1.9 1.7-0.9 0.9-1.8 1.8 0 0.1 0 0.2 0 0.1 0 0.2 0 0 0 0.1 0 0.1 0 0.2c5.8-3.7 11.1-8.3 16.7-12.5zm-2.7-1.2q-0.7-0.4-1.4-0.7c-2 2-4.4 3.1-6.6 4.8-2.5 1.8-4.9 3.9-7.5 5.8q0 0 0 0 0 0.1 0 0.1 0 0 0 0.1-0.1 0-0.1 0 0.1 0.2 0.1 0.3 0.1 0.2 0.1 0.3 0.1 0.2 0.1 0.3 0.1 0.1 0.1 0.3 0 0 0.1 0 0 0 0 0 0 0 0 0 0 0 0.1 0 0.8-0.8 1.6-1.6 0.9-0.8 1.8-1.5 0.9-0.7 1.8-1.4 0.9-0.7 1.9-1.4 1-0.7 1.9-1.4 1-0.7 2-1.4 1-0.7 2-1.3 1-0.7 2-1.3zm-9.6 2.9c2.1-1.6 4.5-2.7 6.4-4.5q-2-1-3.9-2.1-2-1.1-3.8-2.3-1.9-1.2-3.7-2.5-1.8-1.3-3.6-2.6-1.1-1-2.3-1.9-1.2-0.8-2.5-1.6-1.2-0.8-2.5-1.4-1.4-0.7-2.7-1.2c-2.1-0.8-3.7-1.7-4.5-3.8q-0.8-0.3-1.6-0.7-0.8-0.4-1.6-0.8-0.8-0.5-1.5-1-0.8-0.4-1.5-1-0.5 0.6-1.1 1-0.6 0.4-1.3 0.6-0.8 0.2-1.5 0.2-0.7 0-1.4-0.3c-1.9-0.5-2.8-2-2.2-3.6q-0.5 0.4-1 0.9-0.5 0.4-1.1 0.7-0.5 0.4-1.1 0.7-0.6 0.3-1.2 0.5-0.2 0.1-0.4 0.1-0.2-0.1-0.3-0.2-0.2-0.1-0.3-0.3-0.1-0.2-0.1-0.4-0.1 0-0.1-0.1 0-0.1 0-0.2 0-0.1 0-0.1 0-0.1 0-0.2 0.2-1 0.4-1.9 0.2-1 0.5-1.9 0.3-0.9 0.6-1.9 0.4-0.9 0.8-1.8-0.4 0-0.7-0.1-0.4-0.1-0.7-0.3-0.4-0.1-0.7-0.3-0.3-0.2-0.6-0.4c-2.7 1.8-7 3.5-8.3 6.6 7.4 6.5 15.1 12.5 22.7 18.7 3.7 3 7.4 6 11.1 9.1 3.3 2.8 6.8 5.1 10.2 7.8 2.4-1.8 4.7-3.7 7.1-5.5zm-7.2 10.4q0-0.2 0-0.3 0-0.2 0-0.4 0-0.2-0.1-0.3 0-0.2-0.1-0.3c-5.3 6.2-13 10.6-19.2 15.9q-1.3 1.2-2.6 2.4-1.3 1.1-2.7 2.2-1.4 1.1-2.8 2.2-1.4 1.1-2.8 2.1-0.3 0.2-0.6 0.5-0.3 0.2-0.7 0.4-0.3 0.2-0.6 0.4-0.4 0.2-0.7 0.4-0.3 0.8-0.6 1.6 0.7-0.6 1.3-1.1 0.7-0.6 1.4-1.1 0.7-0.5 1.4-1 0.7-0.5 1.5-0.9c3.4-2.3 6.5-4.8 9.7-7.3 6.3-4.9 12.5-9.9 18.2-15.4zm-0.1 2.9l-0.1-0.1c-5.6 5.2-11.5 9.9-17.5 14.7-5.4 4.2-12 7.6-16.6 12.7q-0.1 0.1-0.2 0.1-0.1 0.1-0.2 0.1-0.1 0.1-0.2 0.1-0.1 0-0.3 0-0.1 0-0.2-0.1 0 0-0.1 0-0.1 0-0.2-0.1-0.1 0-0.2-0.1-0.1-0.1-0.1-0.2-0.1-0.1-0.1-0.2-0.1-0.1-0.1-0.2-0.1-0.1-0.1-0.2c-4.7-3.6-9.7-6.9-14.7-10.1-2.1-1.3-3.3-3.1-5.1-4.7-2.2-2-4.5-4-6.8-6-4.5-3.8-8.4-8.2-12.8-12-1.5-1.3-4.4-2.8-5.7-4.5q-0.1 0.2-0.4 0.5c1.8 3 5.1 4.9 7.6 7.1 3.5 3.1 7.1 6 10.5 9.3q1.3 1.4 2.7 2.7 1.3 1.3 2.7 2.6 1.4 1.3 2.8 2.5 1.5 1.3 2.9 2.5c3.8 3 7.8 5.4 11.8 8.1 1.8 1.2 3.5 3.3 5.6 3.8 1.3 0.4 3.2-2.1 4.2-2.9 3.9-3 7.8-6.2 11.8-9.4 4.1-3.3 8.4-6.5 12.4-9.9q2.7-2.3 5.2-4.8c0.6-0.5 1.1-0.9 1.5-1.3zm-7.7 0q1-0.7 1.8-1.4 0.9-0.8 1.8-1.6 0.8-0.7 1.7-1.6 0.8-0.8 1.5-1.6c-3.7-3-7.7-5.7-11.4-8.8q-5.5-4.6-11.1-9.1c-7.3-5.9-14.7-11.8-21.8-18q-0.1 0-0.2 0-0.1 0-0.2 0-0.1-0.1-0.1-0.1-0.1-0.1-0.2-0.2c-1.6-1.8-7.8 3.3-9.1 4.2-3.5 2.6-6.7 5.4-10 8.3q-1.4 1.3-3 2.5-1.5 1.2-3.1 2.4-1.6 1.1-3.3 2.2-1.6 1-3.3 2c-1.3 0.8-3.8 2-2.1 3.7q0.3 0.3 0.6 0.7 0.3 0.3 0.7 0.6 0.3 0.3 0.6 0.6 0.4 0.3 0.7 0.6c2.2 1.8 4.2 3.8 6.4 5.7 3.2 2.6 6.7 5 9.8 7.8 2.6 2.4 5.1 5 7.7 7.4q1.1 1 2.3 2 1.1 1 2.3 2 1.2 1 2.4 1.9 1.2 1 2.4 1.9c2.8 1.9 5.6 4.4 8.6 5.9 2.1 1.1 3.4-0.6 5.1-1.7q0.7-0.5 1.4-1 0.7-0.5 1.4-1 0.7-0.5 1.3-1 0.7-0.6 1.3-1.1c2.6-2.4 5.2-4.7 7.9-6.8 3.2-2.4 6.2-5 9.2-7.4zm-1.4-81.6q-0.2-0.2-0.3-0.3-0.2-0.1-0.4-0.1-0.1-0.1-0.3-0.2-0.2-0.1-0.4-0.2-1.1 1.7-2.1 3.4 0.2 0 0.4 0.1 0.2 0.1 0.3 0.2 0.2 0.1 0.4 0.1 0.2 0.1 0.4 0.2 0.2-0.4 0.4-0.8 0.2-0.5 0.5-0.9 0.2-0.4 0.5-0.8 0.3-0.4 0.6-0.7zm-2.6 5.1q-0.2-0.1-0.4-0.3-0.3-0.1-0.5-0.2-0.3-0.1-0.6-0.2-0.2-0.1-0.5-0.2c-4.7 6-7.2 13.3-11.2 19.8q0.6 0.1 1.2 0.2 0.1 0 0.1 0 0.1 0 0.1 0.1 0.1 0 0.1 0 0 0 0.1 0c2.5-2.7 4-6.2 5.8-9.4 1.9-3.3 3.9-6.5 5.8-9.8zm-10.1 9.1q-0.5 0-1 0-0.6 0-1.1 0-0.5 0.1-1 0.2-0.6 0.1-1.1 0.2-0.6 1.1-1.1 2.2-0.5 1.1-0.9 2.3-0.4 1.1-0.7 2.3-0.3 1.2-0.5 2.4 0.3 0 0.6 0 0.2 0 0.5 0 0.3 0 0.6 0 0.3 0 0.5 0 0 0 0 0 0.7-1.1 1.4-2.3-0.2-0.1-0.4-0.3-0.2-0.1-0.3-0.3-0.2-0.2-0.3-0.4-0.2-0.2-0.3-0.4c-0.2-0.5-0.2-0.8-0.1-0.8 0.1-0.1 0.3 0.1 0.6 0.5q0.1 0.1 0.2 0.2 0.1 0.1 0.3 0.2 0.1 0.1 0.2 0.1 0.1 0.1 0.2 0.2 0.1-0.1 0.2-0.3 0.1-0.2 0.2-0.3 0-0.2 0.2-0.3 0.1-0.1 0.2-0.3 0 0 0 0 0.1-0.1 0.1-0.1 0-0.1 0.1-0.1 0 0 0 0-0.2-0.2-0.3-0.5-0.2-0.2-0.3-0.4-0.2-0.2-0.3-0.5-0.1-0.2-0.2-0.5c-0.2-0.7-0.1-1.1 0-1.1 0.2 0 0.3 0.4 0.6 0.8q0.1 0.2 0.3 0.4 0.1 0.2 0.3 0.3 0.1 0.2 0.3 0.4 0.1 0.1 0.3 0.3 1-2 2-4.1zm-1.7 25.5q-0.2-0.1-0.4-0.3-0.1-0.1-0.3-0.3-0.2-0.2-0.4-0.4-0.1-0.1-0.3-0.3-0.3 0.2-0.6 0.4-0.3 0.1-0.7 0.3-0.3 0.1-0.7 0.1-0.4 0.1-0.7 0c-0.4 0.8 0 1.3 1.1 1.5q0.4 0.1 0.8 0.1 0.4-0.1 0.8-0.2 0.4-0.1 0.8-0.3 0.3-0.2 0.6-0.6zm-5.2-2.8q0.3 0.2 0.6 0.3 0.3 0.1 0.7 0.1 0.3 0 0.6-0.1 0.4-0.1 0.7-0.3c-0.7-0.8-1.3-1.6-1.9-2.5-0.6 0.8-1.3 2-0.7 2.5zm-0.5-4q-0.8 0-1.6 0-0.4 0.7-0.7 1.5-0.3 0.8-0.5 1.5-0.3 0.8-0.5 1.6-0.3 0.8-0.5 1.6 0.4-0.2 0.7-0.5 0.3-0.2 0.6-0.4 0.2-0.2 0.5-0.5 0.3-0.2 0.6-0.5-0.1-0.6-0.1-1.2 0.1-0.6 0.3-1.1 0.1-0.6 0.5-1.1 0.3-0.5 0.7-0.9zm-6.4 73.2c0.3-0.7 0.5-1.4 0.8-2.2q-0.2-0.1-0.4-0.1-0.2-0.1-0.4-0.2-0.2-0.1-0.3-0.2-0.2-0.1-0.4-0.2-2.8-1.7-5.5-3.6-2.7-1.8-5.3-3.9-2.6-2-5.1-4.2-2.4-2.2-4.8-4.5c-6.3-6.2-13.3-11.7-20.1-17.4-0.9-0.8-2-1.7-3-2.7q-0.1 0.4-0.1 0.8c-0.3 1.9 2.2 3.2 3.4 4.1q0.8 0.6 1.5 1.3 0.7 0.6 1.4 1.2 0.8 0.7 1.4 1.3 0.7 0.7 1.4 1.4 1.4 1.3 2.7 2.7 1.4 1.3 2.9 2.6 1.4 1.3 2.8 2.6 1.5 1.3 3 2.5c3.9 3.4 7.2 7.5 11.7 10.1q1.6 1 3.2 2.1 1.6 1 3.1 2.1 1.6 1 3.1 2.2 1.5 1.1 3 2.2z"/><path d="m78.5 83.8c0.2 0.2-0.3 0.8-1.1 1.3-0.8 0.4-1.6 0.6-1.7 0.3-0.2-0.2 0.4-0.8 1.1-1.3 0.8-0.4 1.6-0.6 1.7-0.3z"/><path d="m74 86.4c0.2 0.2-0.3 0.9-1.1 1.4-0.7 0.5-1.4 0.9-1.6 0.7-0.2-0.2 0.1-0.9 1-1.5 0.8-0.6 1.6-0.9 1.7-0.6z"/><path d="m72.8 78.7c0.1 0.3-0.1 0.6-0.6 0.8-0.5 0.2-0.9 0.1-1-0.2-0.1-0.2 0.1-0.6 0.6-0.8 0.5-0.2 0.9-0.1 1 0.2z"/><path d="m70.3 80.1c0.2 0.2-0.3 0.8-1.1 1.2-0.7 0.4-1.5 0.6-1.6 0.3-0.2-0.2 0.3-0.8 1-1.2 0.8-0.5 1.6-0.6 1.7-0.3z"/><path d="m69.3 90.6c0.1 0.3-0.3 0.9-0.9 1.4-0.7 0.7-1.3 1-1.6 0.8-0.2-0.2 0.2-0.9 0.8-1.5 0.8-0.6 1.5-0.9 1.7-0.7z"/><path d="m65.5 84.2c-0.4 0.5-1 0.7-1.2 0.5-0.2-0.2 0-0.8 0.5-1.2 0.4-0.5 1-0.7 1.2-0.5 0.2 0.2 0 0.8-0.5 1.2z"/><path d="m65.8 72.5c0.1 0.3-0.3 0.6-0.9 0.9-0.4 0.3-1.1 0.5-1.2 0.2-0.2-0.2 0-0.7 0.7-1.1 0.7-0.4 1.3-0.3 1.4 0z"/><path d="m64.5 94.9c0.2 0.2 0 0.8-0.6 1.3-0.5 0.5-1.1 0.7-1.3 0.5-0.2-0.2 0.1-0.8 0.6-1.3 0.5-0.5 1.1-0.7 1.3-0.5z"/><path d="m62.9 86.3c0.3 0.2-0.2 1-0.9 1.9-0.9 0.9-1.7 1.2-1.9 1-0.2-0.2 0.4-1 1.1-1.7 0.7-0.9 1.5-1.4 1.7-1.2z"/><path d="m61.3 74.9c0.1 0.2-0.7 1.2-1.8 2.2-1.2 1.1-2.3 1.6-2.5 1.4-0.2-0.3 0.7-1.2 1.8-2.2 1.1-1 2.3-1.6 2.5-1.4z"/><path d="m60.7 66.9c0.1 0.3-0.4 0.7-1 0.9-0.5 0.2-1.1 0.5-1.3 0.2-0.1-0.2 0.1-0.8 0.9-1.2 0.7-0.2 1.3-0.2 1.4 0.1z"/><path d="m60.2 98.9c0.2 0.2-0.1 1-0.8 1.7-0.7 0.7-1.4 0.9-1.6 0.7-0.2-0.3 0.3-0.9 0.9-1.5 0.6-0.6 1.3-1.1 1.5-0.9z"/><path d="m56.8 91.7c0.2 0.2 0 0.7-0.5 1.2-0.4 0.4-1 0.6-1.2 0.4-0.2-0.3 0-0.8 0.5-1.2 0.5-0.5 1-0.6 1.2-0.4z"/><path d="m56.7 69.1c0.2 0.2-0.1 0.8-0.7 1.2-0.6 0.4-1.2 0.6-1.4 0.3-0.2-0.2 0.2-0.7 0.8-1.2 0.5-0.4 1.1-0.5 1.3-0.3z"/><path d="m55.3 80.2c0.2 0.2-0.3 0.9-1 1.5-0.7 0.6-1.5 1-1.7 0.8-0.2-0.2 0.2-1 1-1.6 0.8-0.7 1.6-1 1.7-0.7z"/><path d="m55.1 103.4c0.2 0.2-0.2 0.9-1 1.5q-0.2 0.1-0.3 0.1-0.2 0.1-0.4 0.2-0.1 0-0.3 0.1-0.2 0-0.3 0c-0.4 0-0.6-0.1-0.6-0.2-0.1-0.2 0.1-0.4 0.4-0.5q0.1-0.1 0.2-0.2 0.1-0.1 0.2-0.1 0.1-0.1 0.3-0.2 0.1-0.1 0.2-0.1c0.7-0.5 1.4-0.9 1.6-0.6z"/><path d="m53.9 62.7c0.2 0.3 0 0.7-0.4 0.9-0.4 0.3-0.9 0.3-1 0.1-0.2-0.3 0-0.7 0.4-1 0.4-0.2 0.8-0.2 1 0z"/><path d="m53.7 71.3c0.1 0.3-0.2 0.8-0.8 1.3-0.6 0.4-1.2 0.6-1.4 0.4-0.2-0.2 0.2-0.8 0.7-1.3 0.6-0.4 1.3-0.6 1.5-0.4z"/><path d="m53.2 43.2c0.2 0.3 0 0.7-0.5 1.1-0.5 0.2-0.9 0.2-1.1 0-0.2-0.3 0.1-0.7 0.5-1 0.4-0.2 0.9-0.3 1.1-0.1z"/><path d="m53 94.9c0.2 0.2-0.2 0.9-0.9 1.5-0.7 0.5-1.4 0.7-1.6 0.4-0.2-0.2 0.3-0.8 1-1.3 0.6-0.5 1.3-0.8 1.5-0.6z"/><path d="m51.6 64.2c0.2 0.3-0.1 0.7-0.6 1-0.4 0.4-1 0.4-1.1 0.2-0.2-0.2 0.1-0.7 0.5-1 0.5-0.4 1-0.4 1.2-0.2z"/><path d="m50.7 58c0 0.3-0.6 0.7-1.3 1-0.2 0.2-0.6 0.3-0.8 0.5-0.3 0.1-0.5 0.2-0.6 0q-0.2-0.1 0-0.5 0.1-0.2 0.2-0.3 0.1-0.1 0.2-0.2 0.1-0.2 0.3-0.3 0.1 0 0.2-0.1c0.9-0.5 1.7-0.4 1.8-0.1z"/><path d="m50.4 84.1c0.2 0.2 0.1 0.8-0.3 1.2-0.5 0.5-1 0.7-1.2 0.5-0.2-0.2 0-0.7 0.4-1.2 0.4-0.4 0.9-0.6 1.1-0.5z"/><path d="m50.3 45.5c0.2 0.3 0 0.8-0.4 1.2-0.5 0.4-1 0.6-1.2 0.4-0.2-0.3 0-0.8 0.4-1.2 0.5-0.4 1-0.6 1.2-0.4z"/><path d="m50.2 74.2c0.1 0.2-0.3 0.8-0.9 1.4-0.7 0.5-1.4 0.7-1.6 0.5-0.2-0.3 0.2-0.9 0.9-1.4 0.7-0.5 1.4-0.8 1.6-0.5z"/><path d="m48.8 66.3c0.2 0.3 0.1 0.7-0.2 0.9-0.3 0.4-0.7 0.5-1 0.3-0.2-0.2-0.1-0.7 0.2-1 0.3-0.3 0.7-0.4 1-0.2z"/><path d="m48.2 98.5c0.1 0.2-0.3 0.9-1.2 1.5q-0.1 0.1-0.3 0.2-0.1 0.1-0.3 0.2-0.2 0-0.3 0.1-0.2 0-0.4 0c-0.3 0.1-0.5 0-0.6-0.2 0-0.1 0.2-0.3 0.4-0.5q0.4-0.3 1-0.6c0.7-0.6 1.5-0.9 1.7-0.7z"/><path d="m46.9 87.7c0.3 0.2 0 0.8-0.5 1.3-0.5 0.4-1.1 0.6-1.3 0.4-0.2-0.2 0.1-0.8 0.6-1.2 0.5-0.5 1-0.7 1.2-0.5z"/><path d="m46.4 77.5c0.2 0.2-0.1 0.8-0.7 1.3-0.6 0.6-1.2 0.8-1.4 0.6-0.2-0.2 0.1-0.8 0.7-1.3 0.6-0.6 1.2-0.8 1.4-0.6z"/><path d="m46.2 68.6c0.2 0.3-0.1 0.8-0.6 1.1-0.5 0.4-1 0.4-1.2 0.2-0.2-0.2 0.1-0.7 0.6-1.1 0.5-0.3 1.1-0.4 1.2-0.2z"/><path d="m45.7 60.7c0.2 0.2-0.2 0.8-0.9 1.3-0.7 0.4-1.3 0.6-1.5 0.4-0.2-0.3 0.2-0.8 0.9-1.3 0.7-0.5 1.4-0.7 1.5-0.4z"/><path d="m44.3 55c0.1 0.2-0.1 0.6-0.6 0.8-0.4 0.2-0.8 0.1-1-0.1-0.1-0.3 0.2-0.7 0.6-0.9 0.5-0.2 0.9-0.1 1 0.2z"/><path d="m43.7 90.6c0.2 0.1-0.1 0.8-0.7 1.4-0.6 0.4-1.3 0.6-1.4 0.4-0.2-0.3 0.1-0.8 0.8-1.3 0.5-0.5 1.1-0.7 1.3-0.5z"/><path d="m43.1 70.9c0.2 0.3-0.1 0.7-0.6 1.1-0.5 0.4-1 0.5-1.2 0.3-0.2-0.2 0.1-0.7 0.6-1.1 0.4-0.4 1-0.5 1.2-0.3z"/><path d="m42.2 81.4c0.2 0.2-0.1 0.8-0.8 1.4-0.6 0.5-1.2 0.7-1.4 0.5-0.2-0.3 0.1-0.8 0.8-1.4 0.6-0.5 1.2-0.7 1.4-0.5z"/><path d="m42 63.3c0.2 0.3 0 0.8-0.6 1.3-0.5 0.5-1.1 0.7-1.3 0.5-0.2-0.2 0.1-0.8 0.6-1.3 0.6-0.5 1.1-0.7 1.3-0.5z"/><path d="m41.9 56.2c0.2 0.3 0 0.8-0.5 1.2-0.5 0.4-1.1 0.5-1.3 0.3-0.2-0.3 0.1-0.8 0.6-1.2 0.5-0.4 1.1-0.5 1.2-0.3z"/><path d="m41.7 50.9c0.1 0.3-0.4 0.9-1.2 1.3-0.7 0.5-1.5 0.7-1.6 0.5-0.2-0.3 0.3-0.9 1.1-1.4 0.8-0.5 1.6-0.6 1.7-0.4z"/><path d="m40.1 72.9c0.1 0.1-0.1 0.5-0.5 0.9q-0.2 0.3-0.5 0.5-0.2 0.2-0.4 0.5-0.2 0.2-0.4 0.4-0.3 0.2-0.5 0.4-0.3 0.2-0.5 0.4-0.3 0.2-0.5 0.4-0.3 0.2-0.6 0.3-0.2 0.2-0.5 0.4c-0.6 0.2-1 0.3-1.1 0.2-0.1-0.1 0.2-0.5 0.7-0.9 0.4-0.4 1.1-1 1.8-1.6q0.2-0.2 0.5-0.4 0.2-0.2 0.5-0.4 0.2-0.2 0.5-0.4 0.2-0.2 0.5-0.3c0.5-0.4 0.9-0.5 1-0.4z"/><path d="m39.8 94.1c0.2 0.3 0 0.7-0.4 1-0.4 0.3-0.9 0.4-1.1 0.1-0.2-0.2 0-0.6 0.4-1 0.5-0.3 0.9-0.3 1.1-0.1z"/><path d="m38.7 66.3c0.2 0.3-0.2 0.9-0.9 1.5-0.6 0.6-1.4 0.9-1.5 0.7-0.2-0.2 0.2-0.9 0.8-1.5 0.7-0.6 1.4-0.9 1.6-0.7z"/><path d="m38.1 84.9c0.2 0.2-0.1 0.7-0.6 1.1-0.5 0.3-1.1 0.4-1.2 0.1-0.2-0.2 0.1-0.7 0.6-1 0.4-0.4 1-0.5 1.2-0.2z"/><path d="m37.9 59.3c0.2 0.2 0 0.8-0.6 1.3-0.5 0.4-1.1 0.5-1.3 0.3-0.2-0.2 0.1-0.8 0.7-1.2 0.5-0.4 1-0.6 1.2-0.4z"/><path d="m37.2 53.9c0.2 0.3-0.2 0.8-0.7 1.3-0.5 0.4-1.1 0.8-1.3 0.5-0.2-0.2 0-0.8 0.6-1.3 0.6-0.5 1.2-0.7 1.4-0.5z"/><path d="m34.9 69.4c0.2 0.3 0 0.7-0.5 1.1-0.4 0.3-0.9 0.4-1.1 0.1-0.2-0.2 0.1-0.7 0.5-1 0.4-0.3 0.9-0.4 1.1-0.2z"/><path d="m34.4 62.3c0.2 0.2 0 0.7-0.5 1.1-0.4 0.4-0.9 0.5-1.1 0.3-0.2-0.3 0-0.7 0.5-1.1 0.4-0.4 0.8-0.5 1.1-0.3z"/><path d="m34.4 87.7c0.2 0.1 0.1 0.8-0.5 1.2q-0.1 0-0.2 0.1-0.1 0-0.2 0.1-0.1 0-0.3 0-0.1 0-0.2 0 0 0-0.1 0-0.1-0.1-0.1-0.1-0.1 0-0.1-0.1-0.1 0-0.1-0.1c-0.1-0.3 0.4-0.6 0.7-0.8 0.4-0.3 0.8-0.5 1.1-0.3z"/><path d="m33.2 57.2c0.1 0.3-0.2 0.8-0.7 1.2-0.6 0.4-1.2 0.6-1.4 0.4-0.2-0.3 0.2-0.8 0.7-1.2 0.6-0.4 1.2-0.6 1.4-0.4z"/><path d="m32.5 78.7c0.2 0.2-0.1 0.8-0.7 1.4-0.6 0.6-1.3 0.9-1.5 0.6-0.2-0.2 0.1-0.8 0.7-1.4 0.6-0.5 1.2-0.8 1.5-0.6z"/><path d="m31.4 72c0.2 0.2 0 0.7-0.5 1.2-0.5 0.4-1.1 0.5-1.3 0.3-0.2-0.3 0.1-0.8 0.6-1.2 0.5-0.4 1-0.5 1.2-0.3z"/><path d="m30.8 65.3c0.2 0.2 0 0.7-0.4 1.1-0.5 0.4-1 0.6-1.2 0.3-0.2-0.2 0-0.7 0.5-1.1 0.4-0.4 0.9-0.5 1.1-0.3z"/><path d="m29.7 60c0.2 0.2-0.2 0.9-0.9 1.5-0.7 0.6-1.5 0.9-1.6 0.7-0.2-0.3 0.2-0.9 0.9-1.5 0.7-0.6 1.4-0.9 1.6-0.7z"/><path d="m28.4 82.6c0.2 0.2 0 0.7-0.6 1.1-0.5 0.3-1 0.4-1.2 0.1-0.2-0.2 0.1-0.7 0.6-1 0.5-0.4 1-0.5 1.2-0.2z"/><path d="m27.4 68.2c0.2 0.2-0.1 0.7-0.6 1.1-0.5 0.5-1.1 0.6-1.3 0.4-0.2-0.2 0.1-0.8 0.6-1.2 0.5-0.4 1.1-0.6 1.3-0.3z"/><path d="m27.3 75.1c0.2 0.2-0.2 0.8-0.8 1.3-0.7 0.4-1.3 0.6-1.5 0.3-0.1-0.2 0.2-0.8 0.9-1.2 0.6-0.5 1.2-0.7 1.4-0.4z"/><path d="m25.5 63.4c0.2 0.3-0.2 0.8-0.8 1.2-0.5 0.5-1.2 0.7-1.3 0.5-0.2-0.2 0.1-0.8 0.7-1.3 0.6-0.4 1.2-0.6 1.4-0.4z"/><path d="m23.5 71c0.2 0.2-0.4 0.9-1.2 1.5-0.9 0.6-1.7 0.9-1.9 0.7-0.1-0.3 0.4-1 1.2-1.6 0.9-0.5 1.7-0.8 1.9-0.6z"/><path d="m23 78.1c0.2 0.2 0 0.7-0.6 1.1-0.5 0.3-1 0.3-1.2 0-0.1-0.2 0.2-0.7 0.7-1 0.4-0.3 0.9-0.4 1.1-0.1z"/><path d="m20 67.6c0.2 0.2-0.2 0.8-0.9 1.3-0.6 0.5-1.3 0.7-1.4 0.5-0.2-0.3 0.2-0.9 0.8-1.3 0.6-0.5 1.3-0.7 1.5-0.5z"/><path d="m18.3 74.2c0.2 0.2-0.1 0.7-0.7 1.2-0.5 0.4-1.1 0.5-1.3 0.2-0.1-0.3 0.2-0.7 0.8-1.1 0.4-0.4 1-0.5 1.2-0.3z"/><path d="m15.4 71.2c0.2 0.2-0.2 0.8-0.8 1.4-0.7 0.5-1.3 0.8-1.5 0.6-0.2-0.3 0.1-0.9 0.8-1.4 0.6-0.6 1.3-0.8 1.5-0.6z"/></svg> \ No newline at end of file diff --git a/writers-delight-main/public/manifest.json b/writers-delight-main/public/manifest.json new file mode 100644 index 0000000..61eb035 --- /dev/null +++ b/writers-delight-main/public/manifest.json @@ -0,0 +1,15 @@ +{ + "short_name": "writers-delight", + "name": "{{name}}", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + } + ], + "start_url": "./index.html", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/writers-delight-main/public/writers-delight.png b/writers-delight-main/public/writers-delight.png new file mode 100644 index 0000000000000000000000000000000000000000..dc55d1401ead585e1abc109a6fde4e065e77c903 GIT binary patch literal 103911 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°20$EQdcPRt|^V8bzKW93r_O%Hl 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�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 H`tAP#pYB@D literal 0 HcmV?d00001 diff --git a/writers-delight-main/src/App.tsx b/writers-delight-main/src/App.tsx new file mode 100644 index 0000000..b224ae6 --- /dev/null +++ b/writers-delight-main/src/App.tsx @@ -0,0 +1,18 @@ +import { Admin, Resource } from "react-admin"; +import { createTheme } from "@mui/material"; + +import { dataProvider } from "./dataProvider"; +import { Layout } from "./Layout"; +import compositions from "./compositions"; + +const theme = createTheme({ + typography: { + fontFamily: ["Unna", "Georgia", "Times New Roman", "serif"].join(","), + }, +}); + +export const App = () => ( + <Admin dataProvider={dataProvider} layout={Layout} theme={theme}> + <Resource name="compositions" {...compositions} /> + </Admin> +); diff --git a/writers-delight-main/src/Layout.tsx b/writers-delight-main/src/Layout.tsx new file mode 100644 index 0000000..91cefcf --- /dev/null +++ b/writers-delight-main/src/Layout.tsx @@ -0,0 +1,9 @@ +import { Box } from "@mui/material"; +import { SplashScreen } from "./SplashScreen"; + +export const Layout = ({ children }: any) => ( + <Box display="flex" flex="1 0 auto" width="100%"> + {children} + <SplashScreen /> + </Box> +); diff --git a/writers-delight-main/src/SplashScreen.tsx b/writers-delight-main/src/SplashScreen.tsx new file mode 100644 index 0000000..5923ff1 --- /dev/null +++ b/writers-delight-main/src/SplashScreen.tsx @@ -0,0 +1,88 @@ +import { useStore } from "react-admin"; +import { + Button, + Dialog, + DialogActions, + DialogTitle, + DialogContent, + IconButton, + Typography, +} from "@mui/material"; +import CloseIcon from "@mui/icons-material/Close"; +import CodeIcon from "@mui/icons-material/Code"; + +export const SplashScreen = () => { + const [hasSeenSplashScreen, setHasSeenSplashScreen] = useStore( + "hasSeenSplashScreen", + false + ); + const handleClose = () => { + setHasSeenSplashScreen(true); + }; + return ( + <Dialog + open={!hasSeenSplashScreen} + onClose={handleClose} + fullWidth + maxWidth="sm" + > + <DialogTitle align="center"> + <img + src="./illustration.svg" + alt="writer by Hey Rabbit from Noun Project (CC BY 3.0)" + width="50%" + /> + <Typography variant="h2">Writer's Delight</Typography> + <Typography variant="h6" color="text.secondary" gutterBottom> + Write notes, essays, and stories with an AI assistant. + </Typography> + <IconButton + aria-label="close" + onClick={handleClose} + sx={{ + position: "absolute", + right: 8, + top: 8, + color: (theme) => theme.palette.grey[500], + }} + > + <CloseIcon /> + </IconButton> + </DialogTitle> + <DialogContent> + <Typography variant="body2" color="text.secondary" gutterBottom> + This demo uses{" "} + <a href="https://marmelab.com/react-admin/PredictiveTextInput.html"> + react-admin + </a> + 's built-in{" "} + <a href="https://marmelab.com/react-admin/PredictiveTextInput.html"> + AI capabilities + </a>{" "} + to provide an inline writing assistant. Try editing a composition to + see text suggestions appearing in ghost text. + </Typography> + <Typography variant="body2" color="text.secondary" gutterBottom> + By default, the suggestions use fake latin text, but you can connect + the app to{" "} + <a href="https://platform.openai.com/docs/introduction">OpenAI</a> to + get real suggestions powered by ChatGPT. Your OpenAI API key will not + be sent to any third-party, just to the OpenAI API. + </Typography> + <Typography variant="body2" color="text.secondary"> + This is an offline-first application: all your compositions are stored + in your browser's local storage. You can even use it offline. + </Typography> + </DialogContent> + <DialogActions> + <Button + component="a" + startIcon={<CodeIcon />} + href="https://github.com/marmelab/writers-delight" + > + Source for this demo + </Button> + </DialogActions> + </Dialog> + ); +}; diff --git a/writers-delight-main/src/compositions/AISwitch.tsx b/writers-delight-main/src/compositions/AISwitch.tsx new file mode 100644 index 0000000..2ec1dbb --- /dev/null +++ b/writers-delight-main/src/compositions/AISwitch.tsx @@ -0,0 +1,167 @@ +import * as React from "react"; +import { useStore } from "react-admin"; +import { + Box, + Button, + Switch, + FormGroup, + FormControlLabel, + Dialog, + DialogTitle, + DialogContent, + DialogContentText, + DialogActions, + IconButton, + InputAdornment, + MenuItem, + TextField, +} from "@mui/material"; +import KeyIcon from "@mui/icons-material/Key"; +import CloseIcon from "@mui/icons-material/Close"; +import SettingsIcon from "@mui/icons-material/Settings"; + +export const AISwitch = () => { + const [assistantEnabled, setAssistantEnabled] = useStore( + "assistantEnabled", + true + ); + const [model, setModel] = useStore("assistantModel", "gpt-3.5-turbo"); + const [open, setOpen] = React.useState(false); + + const handleToggle = (event: React.ChangeEvent<HTMLInputElement>) => { + if (event.target.checked && !localStorage.getItem("ra-ai.openai-api-key")) { + setOpen(true); + } else { + setAssistantEnabled(event.target.checked); + } + }; + + const handleConfigure = () => { + setOpen(true); + }; + + const handleSubmit = (event: React.FormEvent<HTMLFormElement>) => { + const data = new FormData(event.currentTarget); + const apiKey = data.get("api_key") as string; + localStorage.setItem("ra-ai.openai-api-key", apiKey); + setAssistantEnabled(true); + setOpen(false); + event.preventDefault(); + }; + + return ( + <Box + position="fixed" + bottom={0} + padding="0.5em 0.5em 0.5em 1em" + zIndex={2} + width={319} + bgcolor="background.default" + display="flex" + justifyContent="space-between" + alignItems="center" + > + <FormGroup> + <FormControlLabel + control={ + <Switch checked={assistantEnabled} onChange={handleToggle} /> + } + label="AI Assistant" + /> + </FormGroup> + {assistantEnabled ? ( + <IconButton onClick={handleConfigure}> + <SettingsIcon fontSize="small" /> + </IconButton> + ) : ( + <Box + component="span" + sx={{ + bgcolor: "primary.main", + width: 10, + height: 10, + borderRadius: "50%", + marginRight: 1.5, + }} + /> + )} + <Dialog + fullWidth + maxWidth="sm" + open={open} + onClose={() => setOpen(false)} + > + <DialogTitle>OpenAI API key</DialogTitle> + <IconButton + aria-label="close" + onClick={() => setOpen(false)} + sx={{ + position: "absolute", + right: 8, + top: 8, + color: (theme) => theme.palette.grey[500], + }} + > + <CloseIcon /> + </IconButton> + <form onSubmit={handleSubmit}> + <DialogContent> + <DialogContentText> + The AI assistant relies on the{" "} + <a href="https://openai.com/blog/openai-api"> + OpenAI completion API + </a> + , powered by ChatGPT. + <br /> + <br /> + To enable the assistant, please enter your OpenAI API key. If you + don't enter an API key, the assistant will suggest lorem + ipsum text. + <br /> + <br /> + </DialogContentText> + <TextField + autoFocus + fullWidth + name="api_key" + label="API key" + helperText="This key will not be sent to any third-party, just to the OpenAI API." + defaultValue={localStorage.getItem("ra-ai.openai-api-key")} + InputProps={{ + endAdornment: ( + <InputAdornment position="end"> + <KeyIcon /> + </InputAdornment> + ), + }} + /> + <TextField + select + fullWidth + name="model" + label="Model" + value={model} + onChange={(e) => setModel(e.target.value)} + sx={{ mt: 2 }} + > + <MenuItem value="gpt-3.5-turbo">GPT-3.5 Turbo</MenuItem> + <MenuItem value="gpt-4-turbo">GPT-4 Turbo</MenuItem> + </TextField> + </DialogContent> + <DialogActions sx={{ mb: 1 }}> + <Button onClick={() => setOpen(false)}>Cancel</Button> + <Button + type="submit" + onClick={() => setOpen(false)} + color="primary" + variant="contained" + sx={{ mr: 2 }} + > + Save + </Button> + </DialogActions> + </form> + </Dialog> + </Box> + ); +}; diff --git a/writers-delight-main/src/compositions/CompositionEdit.tsx b/writers-delight-main/src/compositions/CompositionEdit.tsx new file mode 100644 index 0000000..ff1894f --- /dev/null +++ b/writers-delight-main/src/compositions/CompositionEdit.tsx @@ -0,0 +1,55 @@ +import { EditBase, Form, useStore } from "react-admin"; +import { AutoSave } from "@react-admin/ra-form-layout"; +import { PredictiveTextInput } from "@react-admin/ra-ai"; +import { Box, Container } from "@mui/material"; + +import { MoreActionsButton } from "./MoreActionsButton"; +import { firstLine } from "./textUtils"; +import type { Composition } from "./types"; + +export const CompositionEdit = ({ id }: { id: number }) => { + const [assistantEnabled] = useStore("assistantEnabled", true); + const [model] = useStore("assistantModel", "gpt-3.5-turbo"); + return ( + <EditBase<Composition> + id={id} + sx={{ width: "100%" }} + actions={false} + mutationMode="optimistic" + transform={(data) => ({ + ...data, + title: firstLine(data.body), + updated_at: new Date().toISOString(), + })} + component="div" + > + <Box width="100%" mt={1}> + <Form key={id}> + <Box width="100%" display="flex" alignItems="center" px={1}> + <Box flex="1" /> + <AutoSave debounce={1000} /> + <MoreActionsButton /> + </Box> + <Container maxWidth="sm"> + <PredictiveTextInput + source="body" + variant="standard" + label={false} + helperText={false} + autoFocus + multiline + minRows={20} + fullWidth + sx={{ + "& .MuiInputBase-root:before": { display: "none" }, + "& .MuiInputBase-root:after": { display: "none" }, + }} + meta={{ model }} + queryOptions={{ enabled: assistantEnabled }} + /> + </Container> + </Form> + </Box> + </EditBase> + ); +}; diff --git a/writers-delight-main/src/compositions/CompositionEditEmpty.tsx b/writers-delight-main/src/compositions/CompositionEditEmpty.tsx new file mode 100644 index 0000000..9fd1243 --- /dev/null +++ b/writers-delight-main/src/compositions/CompositionEditEmpty.tsx @@ -0,0 +1,30 @@ +import { Container, Typography } from "@mui/material"; + +export const CompositionEditEmpty = () => ( + <Container + maxWidth="sm" + sx={{ + display: "flex", + flexDirection: "column", + height: "100vh", + justifyContent: "center", + }} + > + <Typography align="center" gutterBottom> + <img + src="./illustration.svg" + alt="writer by Hey Rabbit from Noun Project (CC BY 3.0)" + width="50%" + style={{ opacity: 0.6 }} + /> + </Typography> + <Typography variant="h2" color="text.secondary" align="center" mb={1}> + Writer's Delight + </Typography> + <Typography variant="body1" color="text.secondary" align="center"> + Write notes, essays, and stories + <br /> + with an AI assistant. + </Typography> + </Container> +); diff --git a/writers-delight-main/src/compositions/CompositionList.tsx b/writers-delight-main/src/compositions/CompositionList.tsx new file mode 100644 index 0000000..bea452d --- /dev/null +++ b/writers-delight-main/src/compositions/CompositionList.tsx @@ -0,0 +1,142 @@ +import { ReactNode } from "react"; +import { + InfiniteList, + SimpleList, + DateField, + useRedirect, + FilterLiveSearch, + useListContext, +} from "react-admin"; +import { Box, Stack } from "@mui/material"; +import { useLocation, matchPath } from "react-router-dom"; + +import { CompositionEdit } from "./CompositionEdit"; +import { CompositionEditEmpty } from "./CompositionEditEmpty"; +import { CompositionListEmpty } from "./CompositionListEmpty"; +import { CreateCompositionButton } from "./CreateCompositionButton"; +import { AISwitch } from "./AISwitch"; +import { notFirstLine } from "./textUtils"; +import { HighlightSearchTerm } from "./HighlighhtSearchTerm"; + +const ListActions = () => ( + <Stack direction="row" sx={{ px: 1, mt: 1, mb: 1 }}> + <CreateCompositionButton /> + </Stack> +); + +interface ListContentProps { + empty: ReactNode; + notEmpty: ReactNode; +} + +const ListContent = ({ empty, notEmpty }: ListContentProps) => { + const { isLoading, data, filterValues } = useListContext(); + return !isLoading && + data?.length === 0 && + (!filterValues || Object.keys(filterValues).length === 0) + ? empty + : notEmpty; +}; + +export const CompositionList = () => { + const redirect = useRedirect(); + const location = useLocation(); + const match = matchPath("/compositions/:id", location.pathname); + + return ( + <Box + display="flex" + gap={2} + width="100%" + sx={{ + "& ::highlight(search)": { + backgroundColor: "yellow", + color: "black", + }, + }} + > + <Box + width={320} + flexShrink={0} + sx={{ overflowY: "auto" }} + height="100vh" + borderRight="solid 1px #ccc" + position="fixed" + paddingBottom={3} + > + <InfiniteList + actions={<ListActions />} + empty={false} + sort={{ field: "updated_at", order: "DESC" }} + disableSyncWithLocation + component="div" + queryOptions={{ + onSuccess: (data: any) => { + if ( + !match && + data.pages.length > 0 && + data.pages[0].data.length > 0 + ) { + redirect(`/compositions/${data.pages[0].data[0].id}`); + } + }, + }} + > + <ListContent + empty={<CompositionListEmpty />} + notEmpty={ + <> + <FilterLiveSearch + fullWidth + // @ts-ignore + variant="standard" + label="Search all compositions" + hiddenLabel + sx={{ + px: 2, + "& .MuiInput-root:before": { display: "none" }, + "& .MuiInput-root:after": { display: "none" }, + "& .MuiSvgIcon-root": { fontSize: "1.25rem" }, + }} + /> + <SimpleList + primaryText="%{title}" + secondaryText={(record) => + notFirstLine(record.body).substring(0, 50).trim() || <br /> + } + tertiaryText={(record) => ( + <DateField record={record} source="updated_at" /> + )} + sx={{ + py: 0, + "& .MuiListItemText-secondary": { + overflow: "hidden", + whiteSpace: "nowrap", + textOverflow: "ellipsis", + width: 268, + }, + }} + rowSx={(record) => + !!match && + parseInt((match as any).params.id, 10) === record.id + ? { backgroundColor: "#eee" } + : null + } + /> + </> + } + /> + <HighlightSearchTerm /> + </InfiniteList> + <AISwitch /> + </Box> + <Box flex="1" marginLeft="320px"> + {match ? ( + <CompositionEdit id={(match as any).params.id} /> + ) : ( + <CompositionEditEmpty /> + )} + </Box> + </Box> + ); +}; diff --git a/writers-delight-main/src/compositions/CompositionListEmpty.tsx b/writers-delight-main/src/compositions/CompositionListEmpty.tsx new file mode 100644 index 0000000..6e76c70 --- /dev/null +++ b/writers-delight-main/src/compositions/CompositionListEmpty.tsx @@ -0,0 +1,11 @@ +import { Box, Typography } from "@mui/material"; +import TurnLeftIcon from "@mui/icons-material/TurnLeft"; + +export const CompositionListEmpty = () => ( + <Box m={2} display="flex"> + <Typography variant="body1" color="text.secondary" flex={1}> + Write your first composition + </Typography> + <TurnLeftIcon sx={{ transform: "rotate(90deg)" }} /> + </Box> +); diff --git a/writers-delight-main/src/compositions/CreateCompositionButton.tsx b/writers-delight-main/src/compositions/CreateCompositionButton.tsx new file mode 100644 index 0000000..7693eaf --- /dev/null +++ b/writers-delight-main/src/compositions/CreateCompositionButton.tsx @@ -0,0 +1,36 @@ +import { useCreate, useRedirect } from "react-admin"; +import { IconButton, Tooltip } from "@mui/material"; +import EditNoteIcon from "@mui/icons-material/EditNote"; +import { Composition } from "./types"; + +export const CreateCompositionButton = () => { + const redirect = useRedirect(); + const options = { + onSuccess: (data: Composition) => { + redirect(`/compositions/${data.id}`); + }, + }; + const [create] = useCreate<Composition>(); + return ( + <Tooltip title="New composition" placement="bottom"> + <IconButton + onClick={() => + create( + "compositions", + { + data: { + title: "New composition", + created_at: new Date().toISOString(), + updated_at: new Date().toISOString(), + }, + }, + options + ) + } + size="small" + > + <EditNoteIcon fontSize="small" /> + </IconButton> + </Tooltip> + ); +}; diff --git a/writers-delight-main/src/compositions/HighlighhtSearchTerm.tsx b/writers-delight-main/src/compositions/HighlighhtSearchTerm.tsx new file mode 100644 index 0000000..e308615 --- /dev/null +++ b/writers-delight-main/src/compositions/HighlighhtSearchTerm.tsx @@ -0,0 +1,29 @@ +import { useEffect } from "react"; +import { useListContext } from "react-admin"; +import { useLocation } from "react-router-dom"; +import debounce from "lodash/debounce"; +import { highlightSearchTerm } from "highlight-search-term"; + +/** + * Watch the current search term and highlight it in the list of compositions + * + * Uses the CSS Custom Highlight API (not supported on Firefox) + * @see https://developer.mozilla.org/en-US/docs/Web/API/CSS_Custom_Highlight_API + */ +export const HighlightSearchTerm = () => { + const { filterValues } = useListContext(); + const search = filterValues.q?.toLowerCase() || ""; + // the location pathname is used to trigger the user clicks on a composition + const location = useLocation(); + + useEffect(() => { + debounceHighlightSearchTerm({ + search, + selector: ".MuiList-root, [contenteditable=true]", + }); + }, [location.pathname, search]); + return null; +}; + +// debounce allows to delay the highlight, which allows the composition to render before the highlight +const debounceHighlightSearchTerm = debounce(highlightSearchTerm, 100); diff --git a/writers-delight-main/src/compositions/MoreActionsButton.tsx b/writers-delight-main/src/compositions/MoreActionsButton.tsx new file mode 100644 index 0000000..766dd71 --- /dev/null +++ b/writers-delight-main/src/compositions/MoreActionsButton.tsx @@ -0,0 +1,78 @@ +import * as React from "react"; +import { + useDeleteWithConfirmController, + useRecordContext, + Confirm, +} from "react-admin"; +import { IconButton, Menu, MenuItem, ListItemIcon } from "@mui/material"; +import MoreVertIcon from "@mui/icons-material/MoreVert"; +import DeleteIcon from "@mui/icons-material/Delete"; + +import type { Composition } from "./types"; + +export const MoreActionsButton = () => { + const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null); + const menuOpen = Boolean(anchorEl); + const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => { + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; + const record = useRecordContext<Composition>(); + const { open, isLoading, handleDialogOpen, handleDialogClose, handleDelete } = + useDeleteWithConfirmController({ + record, + onClick: handleClose, + redirect: "list", + }); + + return ( + <> + <IconButton + aria-controls={open ? "basic-menu" : undefined} + aria-haspopup="true" + aria-expanded={open ? "true" : undefined} + onClick={handleClick} + size="small" + > + <MoreVertIcon fontSize="small" /> + </IconButton> + <Menu + id="basic-menu" + anchorEl={anchorEl} + open={menuOpen} + onClose={handleClose} + MenuListProps={{ + "aria-labelledby": "basic-button", + }} + > + <MenuItem + onClick={(e) => { + handleClose(); + handleDialogOpen(e); + }} + sx={{ color: "error.main" }} + > + <ListItemIcon> + <DeleteIcon color="error" /> + </ListItemIcon> + Delete + </MenuItem> + </Menu> + <Confirm + isOpen={open} + loading={isLoading} + title={"ra.message.delete_title"} + content={"ra.message.delete_content"} + confirmColor={"primary"} + translateOptions={{ + name: "composition", + id: record?.id, + }} + onConfirm={handleDelete} + onClose={handleDialogClose} + /> + </> + ); +}; diff --git a/writers-delight-main/src/compositions/index.ts b/writers-delight-main/src/compositions/index.ts new file mode 100644 index 0000000..68bce6b --- /dev/null +++ b/writers-delight-main/src/compositions/index.ts @@ -0,0 +1,5 @@ +import { CompositionList } from "./CompositionList"; + +export default { + list: CompositionList, +}; diff --git a/writers-delight-main/src/compositions/textUtils.ts b/writers-delight-main/src/compositions/textUtils.ts new file mode 100644 index 0000000..3fff665 --- /dev/null +++ b/writers-delight-main/src/compositions/textUtils.ts @@ -0,0 +1,3 @@ +export const firstLine = (text: string) => (text ? text.split("\n")[0] : ""); +export const notFirstLine = (text: string) => + text ? text.split("\n").slice(1).join("\n") : ""; diff --git a/writers-delight-main/src/compositions/types.ts b/writers-delight-main/src/compositions/types.ts new file mode 100644 index 0000000..c6460fb --- /dev/null +++ b/writers-delight-main/src/compositions/types.ts @@ -0,0 +1,7 @@ +export interface Composition { + id: number; + title: string; + body: string; + updated_at: string; + created_at: string; +} diff --git a/writers-delight-main/src/dataProvider.ts b/writers-delight-main/src/dataProvider.ts new file mode 100644 index 0000000..a0d17d8 --- /dev/null +++ b/writers-delight-main/src/dataProvider.ts @@ -0,0 +1,55 @@ +import { DataProvider } from "react-admin"; +import localStorageDataProvider from "ra-data-local-storage"; +import { addGetCompletionBasedOnOpenAIAPI } from "@react-admin/ra-ai"; + +const LoremIpsumText = + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dapibus nisl ut sagittis euismod. Aenean convallis, lacus sed faucibus ornare, lectus magna consequat leo, at eleifend orci sem sed est. In rhoncus, sapien vel rutrum placerat, diam ante consequat enim, vitae dapibus sem nisi aliquam risus. Sed porta porttitor nibh eu aliquam. Sed eu tincidunt justo. Donec pulvinar, metus vel ultrices lobortis, nunc massa pharetra nulla, vitae tristique purus ante pellentesque mauris. Aenean scelerisque, quam sed molestie finibus, erat mauris blandit risus, a laoreet est sem in nisl. Donec hendrerit lacus ligula, et pharetra turpis facilisis vitae. Aenean quis augue malesuada, hendrerit diam eget, consequat felis. Quisque dignissim efficitur convallis. Nullam ac risus molestie, dictum dui eget, sagittis risus. Pellentesque sed velit velit. Praesent nec ipsum et sem faucibus placerat. Curabitur quis consequat augue. Aenean luctus velit eros, non feugiat augue suscipit a. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus bibendum erat vitae efficitur tristique. Fusce pretium tellus tempor pulvinar placerat. Integer viverra nisl justo, a varius tortor vulputate ac. Sed interdum eros magna, quis tristique tellus varius non. Nullam nec ipsum eu sem fermentum ultricies. Aliquam et purus risus. Mauris ornare in turpis vitae vestibulum. Cras facilisis tincidunt nisl, et ultricies nisi commodo ut. Duis in nisl arcu. Donec non placerat mi. Suspendisse sodales nec dui ac scelerisque. Cras quis pretium sem. Duis fermentum diam nunc, quis sodales sem vestibulum pellentesque. Duis diam purus, sollicitudin ut malesuada sed, dignissim ut eros. Integer aliquet est tortor, id rutrum nibh aliquet sed. Aenean posuere nisl sed justo placerat suscipit. Donec elementum lobortis neque, eget lacinia enim porta eget. Duis blandit a lacus facilisis sagittis. Etiam pellentesque sit amet nibh ac vestibulum. Nulla eu rhoncus lacus, id eleifend felis. Suspendisse non faucibus enim. Ut eleifend dolor eget venenatis viverra. Pellentesque pretium sagittis quam, in faucibus odio congue ut. Cras bibendum enim felis, vel auctor massa ultrices egestas. Aliquam accumsan mattis magna eu sodales. Donec hendrerit nisi leo, id tempus leo iaculis sed. In vel orci quis dolor interdum faucibus et porta diam. In hac habitasse platea dictumst. Vestibulum tempor velit risus, eget egestas mauris volutpat id. Pellentesque pretium sapien sit amet pellentesque sagittis. Maecenas aliquam, risus ut pharetra placerat, sapien orci commodo erat, id sollicitudin nulla quam quis arcu. Etiam aliquet feugiat sapien non sodales. Vestibulum in nisi accumsan mauris dignissim tempor vitae vitae lorem. Quisque nulla velit, vehicula et nulla non, tincidunt varius eros. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus sed leo turpis. Fusce lectus arcu, gravida eu sodales quis, mattis vel neque. Duis blandit a orci quis scelerisque. Mauris eu faucibus metus, egestas interdum orci. Fusce pulvinar, risus tristique lobortis molestie, eros purus aliquam tellus, in feugiat nisl mauris sed justo. Nulla et purus massa. Integer euismod nibh in ullamcorper aliquet. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sollicitudin lorem sapien, elementum blandit ex interdum sit amet. Aliquam lacus erat, lacinia eget dui nec, ultricies ultricies augue. Nulla scelerisque, nulla sit amet dictum cursus, ligula est convallis diam, et fringilla metus velit nec erat. Phasellus ac augue ac arcu consectetur semper. Nunc felis risus, porta sit amet ex vel, pretium fermentum est. Mauris tempor sed lacus vitae venenatis. Nam ac tellus fringilla, convallis leo in, iaculis libero. Mauris porttitor, dolor non volutpat sollicitudin, nisl lectus imperdiet sem, et efficitur mi erat eget orci. Sed nec quam tortor. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed mollis ornare nisi. Donec interdum ante tempor, porttitor nulla non, iaculis erat. Mauris convallis rutrum aliquet. Nunc ac erat purus. Vivamus vehicula eu enim nec rutrum. Proin porttitor sem nec ante porta, ut pretium nisl ornare. Vestibulum nec tellus eu justo porttitor laoreet a vel nisi. Vivamus egestas, tellus in dapibus tristique, justo ipsum mollis massa, sit amet dictum nisi dolor vel mi. Nullam vel sapien ultrices, interdum dolor quis, viverra ante. Morbi ac dignissim quam. Fusce cursus, arcu feugiat facilisis tempus, diam sem sollicitudin augue, vel viverra nunc massa sed augue. Donec id dignissim erat. Praesent eget faucibus ipsum, id porta lacus. Pellentesque tincidunt odio elit, aliquam dapibus magna egestas eu. Morbi facilisis, felis non sagittis condimentum, urna leo placerat turpis, et sagittis turpis elit in turpis. Mauris porta libero vel nisl cursus aliquam. Quisque tempus purus ac lobortis porta. In eget neque elit. Aliquam sit amet ullamcorper ligula. Aliquam sed ligula varius, euismod velit eu, fringilla quam. Sed mattis vulputate mi vitae tempus. Sed ut fermentum augue. Duis nec eros nec nibh tempor lacinia. Cras tristique dignissim ex in euismod. Suspendisse potenti. Aenean ullamcorper lacus ultrices, bibendum odio vel, imperdiet lorem. In convallis orci sit amet neque dictum, placerat gravida diam posuere. Nam vitae neque dolor. Nunc pharetra massa sit amet aliquet mattis. Maecenas pellentesque turpis a accumsan cursus. Sed dignissim rhoncus odio, a scelerisque augue ultrices in. Ut turpis metus, ornare sed justo vel, tincidunt rutrum felis. Suspendisse molestie eget sem accumsan tincidunt. Praesent volutpat convallis mattis. Vivamus fringilla libero ut ante facilisis, ac iaculis arcu euismod. Duis elit purus, cursus id massa in, tincidunt dapibus lacus. Cras dapibus odio ac commodo tincidunt. Nullam a velit tristique, posuere urna at, porta lacus. Aenean quis viverra turpis. Sed nec iaculis sapien. Nulla malesuada sem sed justo faucibus condimentum. Fusce tincidunt ut nulla a fringilla. Sed magna nibh, malesuada vel venenatis feugiat, dignissim at turpis. Sed et bibendum lorem, quis rhoncus lectus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc dictum, diam non porta luctus, nisi metus porta massa, nec finibus sem leo vel turpis. Aliquam tempus sodales lectus, quis fermentum ipsum egestas eu. Aenean cursus mi lacus, sed ullamcorper nisi ullamcorper sit amet. Nam vel aliquam ante, sed convallis nibh. Sed in feugiat nisl. Sed hendrerit metus sollicitudin sem aliquet congue a mattis eros. Proin vitae dolor vel est aliquam scelerisque. Sed auctor vehicula leo dignissim maximus. Etiam egestas, nunc viverra lobortis efficitur, nunc ante congue nisi, id sodales ligula tortor ac lectus. Nulla vitae rhoncus sapien. Donec in finibus odio. Cras eu tincidunt leo, eget rhoncus ipsum. Vestibulum malesuada elementum nunc vitae fermentum. Maecenas at pretium eros, in semper massa. Mauris sodales tortor sit amet dolor laoreet, in dignissim libero mollis. Praesent id urna ante. Mauris lobortis nec tellus id condimentum. Ut rhoncus posuere massa, ut congue tortor dignissim nec. Aliquam eleifend dolor varius est malesuada blandit. Praesent mollis nibh quis leo molestie vehicula."; +const sentences = LoremIpsumText.split("."); + +const addGetCompletionBasedOnLoremIpsum = (dataProvider: DataProvider) => ({ + ...dataProvider, + getCompletion: (params: any) => { + const hasOpenAIKey = localStorage.getItem("ra-ai.openai-api-key"); + if (hasOpenAIKey) { + return dataProvider.getCompletion(params); + } else { + // return a random sentence from the Lorem Ipsum text + const randomIndex = Math.floor(Math.random() * sentences.length); + const randomSentence = sentences[randomIndex]; + return Promise.resolve({ data: randomSentence }); + } + }, +}); + +export const dataProvider = addGetCompletionBasedOnLoremIpsum( + addGetCompletionBasedOnOpenAIAPI({ + dataProvider: localStorageDataProvider({ + loggingEnabled: true, + defaultData: { + compositions: [ + { + title: "Snow White", + created_at: "2023-10-16T20:56:13.390Z", + updated_at: "2023-11-08T15:22:18.909Z", + id: 3, + body: "Snow White\n\nIn a far-off kingdom, Snow White was born to a kind queen and king, with skin as white as snow, lips as red as blood, and hair as black as ebony. Sadly, Snow White’s mother died soon after her birth, and her father remarried a woman who was beautiful but prideful and cruel. The new queen possessed a magical mirror, and every day she asked, \"Mirror, mirror on the wall, who is the fairest of them all?\" The mirror always replied that the Queen was the fairest, which pleased her.\n\nYears passed, and Snow White grew up to be a kind and gentle young woman with beauty that surpassed even that of the Queen. One day, the mirror told the Queen that Snow White was now the fairest in the land. Enraged by jealousy, the Queen ordered a huntsman to take Snow White into the forest and kill her. The huntsman, unable to carry out the evil deed, urged Snow White to flee into the forest.\n\nLost and frightened, Snow White stumbled upon a tiny cottage belonging to seven dwarfs who worked in the mines. The dwarfs, upon finding her, were charmed by her and offered her shelter in exchange for housekeeping. Snow White and the dwarfs grew to love one another as a family.\n\nMeanwhile, the Queen discovered that Snow White was still alive and, using her dark magic, disguised herself as an old peddler woman. She visited Snow White while the dwarfs were away and tricked her into biting a poisoned apple, which put Snow White into a deathlike sleep. The dwarfs returned to find Snow White lifeless and, too heartbroken to bury her, placed her in a glass coffin in the forest.\n\nTime passed, and a prince who had heard tales of Snow White's beauty found her. Captivated by her, he begged the dwarfs to let him take the coffin. As his servants carried it away, they stumbled, causing the piece of poisoned apple to dislodge from Snow White's throat, awakening her.\n\nThe prince and Snow White quickly fell in love, and he asked her to marry him. Snow White agreed, and the kingdom rejoiced. They invited every noble to their wedding, including Snow White’s stepmother.\n\nUnaware of Snow White's identity, the Queen once again consulted her mirror before attending the wedding, needing assurance of her unrivaled beauty. The mirror revealed that the new bride, Snow White, was still the fairest of all. Enraged and jealous, the Queen arrived at the wedding only to find that the bride was her stepdaughter, Snow White. Her fury led to her downfall, and she was defeated.\n\nSnow White and the prince were married, and they lived happily ever after, ruling with kindness and fairness over the land for many years.\n\nThe end.", + }, + { + title: "Cinderella", + created_at: "2023-10-17T07:52:24.541Z", + updated_at: "2023-11-08T15:20:36.374Z", + id: 2, + body: "Cinderella\n\nOnce upon a time, in a kingdom filled with song and celebration, there lived a kind-hearted young woman named Cinderella. She was the daughter of a gentle and loving father, but after his untimely death, Cinderella found herself at the mercy of her cruel stepmother and two stepsisters, who turned her into their servant. Despite her hardships, Cinderella remained compassionate and optimistic, finding solace in her animal friends and her dreams of a better life.\n\nOne day, the kingdom announced a royal ball, where the Prince would choose his bride. Cinderella’s stepmother forbade her to attend and cruelly ripped apart her homemade gown. Heartbroken, Cinderella ran into the garden, where her tears summoned her Fairy Godmother. With a flick of magic and a cheerful “Bibbidi-Bobbidi-Boo,” the Fairy Godmother transformed Cinderella, creating a stunning dress, glass slippers, and a golden carriage from a pumpkin and mice.\n\nThe only warning: At the stroke of midnight, the spell would break.\n\nCinderella arrived at the ball and immediately enchanted everyone, including the Prince. They danced under the stars, lost in each other’s company. But as the clock began to strike twelve, Cinderella fled, losing one glass slipper on the palace stairs.\n\nThe next day, the Prince, determined to find the mysterious woman who stole his heart, initiated a kingdom-wide search. The glass slipper was the key, and the Prince’s royal footman traveled from house to house, looking for the slipper’s owner.\n\nWhen he arrived at Cinderella’s home, the stepmother locked her away. But Cinderella’s animal friends freed her just in time for her to try on the slipper. It was a perfect fit. Recognizing her at last, the Prince whisked Cinderella away from her life of servitude.\n\nCinderella and the Prince married, sharing their kindness and generosity with the kingdom. Cinderella's grace and compassion touched everyone's lives, and she and the Prince lived happily ever after.\n\nThe end.", + }, + { + title: "The Tree Little Pigs", + created_at: "2023-10-18T07:35:20.501Z", + updated_at: "2023-11-08T15:23:31.200Z", + id: 1, + body: "The Tree Little Pigs\n\nOnce upon a time, there were three little pigs who set out into the world to seek their fortunes. Each pig decided to build a house to live in. \n\nThe first little pig, eager and carefree, didn't want to toil too much. He gathered a heap of straw and constructed a flimsy house in no time. He then danced and played the rest of the day.\n\nThe second pig worked a little harder, but he also preferred leisure to labor. He gathered sticks and put together a slightly sturdier house. It stood wobbly, but it was faster than building a strong house, and so he too spent his days dancing and playing.\n\nThe third little pig was wise and industrious. He knew the value of hard work. He gathered bricks and painstakingly built a solid house. It took him much longer than his brothers, but the brick house stood firm and secure.\n\nOne day, a hungry wolf came upon the first pig’s straw house. He smelled the pig inside and licked his lips. The wolf knocked and said, “Little pig, little pig, let me in!”\n\nBut the little pig saw the wolf’s shadow and replied, “Not by the hair of my chinny-chin-chin!”\n\nSo the wolf huffed and puffed and blew the house down. The first little pig ran as fast as he could to his brother’s stick house.\n\nThe wolf followed and found the stick house. He knocked and said, “Little pigs, little pigs, let me in!”\n\nBut the little pigs replied, “Not by the hair of our chinny-chin-chins!”\n\nSo the wolf huffed and puffed and blew the house down. The two little pigs scampered to the third pig’s brick house.\n\nWhen the wolf reached the brick house, he was more determined than ever. He knocked and said, “Little pigs, little pigs, let me in!”\n\nBut the pigs replied, “Not by the hair of our chinny-chin-chins!”\n\nThe wolf huffed and puffed, but the brick house didn’t budge. Furious, he tried to enter through the chimney, but the clever third pig had a pot of boiling water waiting. The wolf fell in and ran away, never to bother the pigs again.\n\nThe two lazy pigs learned their lesson and with their brother’s help, they built their own brick houses. From then on, the three little pigs lived securely and worked hard, never underestimating the value of good workmanship again. And they all lived happily ever after.\n\nThe end.\n\n\n\n", + }, + ], + }, + }), + }) +); diff --git a/writers-delight-main/src/index.tsx b/writers-delight-main/src/index.tsx new file mode 100644 index 0000000..1d74d5f --- /dev/null +++ b/writers-delight-main/src/index.tsx @@ -0,0 +1,9 @@ +import React from "react"; +import ReactDOM from "react-dom/client"; +import { App } from "./App"; + +ReactDOM.createRoot(document.getElementById("root")!).render( + <React.StrictMode> + <App /> + </React.StrictMode> +); diff --git a/writers-delight-main/src/vite-env.d.ts b/writers-delight-main/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/writers-delight-main/src/vite-env.d.ts @@ -0,0 +1 @@ +/// <reference types="vite/client" /> diff --git a/writers-delight-main/tsconfig.json b/writers-delight-main/tsconfig.json new file mode 100644 index 0000000..a273b0c --- /dev/null +++ b/writers-delight-main/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": [ + "src" + ] +} diff --git a/writers-delight-main/vite.config.ts b/writers-delight-main/vite.config.ts new file mode 100644 index 0000000..b1e14d1 --- /dev/null +++ b/writers-delight-main/vite.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + define: { + 'process.env': process.env, + }, + server: { + host: true, + }, + base: './', +}); diff --git a/writers-delight-main/yarn.lock b/writers-delight-main/yarn.lock new file mode 100644 index 0000000..0f433e4 --- /dev/null +++ b/writers-delight-main/yarn.lock @@ -0,0 +1,3986 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" + integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== + dependencies: + "@babel/highlight" "^7.24.7" + picocolors "^1.0.0" + +"@babel/compat-data@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" + integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== + +"@babel/core@^7.24.5": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" + integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helpers" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/template" "^7.24.7" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d" + integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== + dependencies: + "@babel/types" "^7.24.7" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9" + integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== + dependencies: + "@babel/compat-data" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" + integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-function-name@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2" + integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== + dependencies: + "@babel/template" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-hoist-variables@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee" + integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" + integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-module-transforms@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8" + integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" + +"@babel/helper-plugin-utils@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" + integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== + +"@babel/helper-simple-access@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" + integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-split-export-declaration@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856" + integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-string-parser@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" + integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/helper-validator-option@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" + integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== + +"@babel/helpers@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.7.tgz#aa2ccda29f62185acb5d42fb4a3a1b1082107416" + integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== + dependencies: + "@babel/template" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/highlight@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" + integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" + integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== + +"@babel/plugin-transform-react-jsx-self@^7.24.5": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz#66bff0248ea0b549972e733516ffad577477bdab" + integrity sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-react-jsx-source@^7.24.1": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz#1198aab2548ad19582013815c938d3ebd8291ee3" + integrity sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12" + integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" + integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/traverse@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5" + integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.24.7" + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-function-name" "^7.24.7" + "@babel/helper-hoist-variables" "^7.24.7" + "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/types" "^7.24.7" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2" + integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== + dependencies: + "@babel/helper-string-parser" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" + to-fast-properties "^2.0.0" + +"@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz" + integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/serialize" "^1.1.2" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.11.0": + version "11.11.0" + resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz" + integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== + dependencies: + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + stylis "4.2.0" + +"@emotion/hash@^0.9.1": + version "0.9.1" + resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz" + integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== + +"@emotion/is-prop-valid@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz" + integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw== + dependencies: + "@emotion/memoize" "^0.8.1" + +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== + +"@emotion/react@^11.4.1": + version "11.11.1" + resolved "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz" + integrity sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/cache" "^11.11.0" + "@emotion/serialize" "^1.1.2" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz" + integrity sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA== + dependencies: + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" + csstype "^3.0.2" + +"@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz" + integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== + +"@emotion/styled@^11.3.0": + version "11.11.0" + resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz" + integrity sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/is-prop-valid" "^1.2.1" + "@emotion/serialize" "^1.1.2" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + +"@emotion/unitless@^0.8.1": + version "0.8.1" + resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz" + integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== + +"@emotion/utils@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz" + integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== + +"@emotion/weak-memoize@^0.3.1": + version "0.3.1" + resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz" + integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== + +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== + +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== + +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== + +"@esbuild/darwin-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" + integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== + +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== + +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== + +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== + +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== + +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== + +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== + +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== + +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== + +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== + +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== + +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== + +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== + +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== + +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== + +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== + +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== + +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": + version "4.8.1" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz" + integrity sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ== + +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.50.0": + version "8.50.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz" + integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ== + +"@floating-ui/core@^1.0.0": + version "1.6.2" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.2.tgz#d37f3e0ac1f1c756c7de45db13303a266226851a" + integrity sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg== + dependencies: + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/dom@^1.0.0": + version "1.6.5" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.5.tgz#323f065c003f1d3ecf0ff16d2c2c4d38979f4cb9" + integrity sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw== + dependencies: + "@floating-ui/core" "^1.0.0" + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/react-dom@^2.0.8": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.0.tgz#4f0e5e9920137874b2405f7d6c862873baf4beff" + integrity sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA== + dependencies: + "@floating-ui/dom" "^1.0.0" + +"@floating-ui/utils@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" + integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== + +"@humanwhocodes/config-array@^0.11.11": + version "0.11.11" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz" + integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.19" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz" + integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@mui/base@5.0.0-beta.40", "@mui/base@^5.0.0-beta.22": + version "5.0.0-beta.40" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.40.tgz#1f8a782f1fbf3f84a961e954c8176b187de3dae2" + integrity sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ== + dependencies: + "@babel/runtime" "^7.23.9" + "@floating-ui/react-dom" "^2.0.8" + "@mui/types" "^7.2.14" + "@mui/utils" "^5.15.14" + "@popperjs/core" "^2.11.8" + clsx "^2.1.0" + prop-types "^15.8.1" + +"@mui/core-downloads-tracker@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.20.tgz#6ede705770797c32f5a4fc0d3002ad0b758d23e8" + integrity sha512-DoL2ppgldL16utL8nNyj/P12f8mCNdx/Hb/AJnX9rLY4b52hCMIx1kH83pbXQ6uMy6n54M3StmEbvSGoj2OFuA== + +"@mui/icons-material@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.15.20.tgz#dbd45d635d82b034fb10dadb5c258c26e3311618" + integrity sha512-oGcKmCuHaYbAAoLN67WKSXtHmEgyWcJToT1uRtmPyxMj9N5uqwc/mRtEnst4Wj/eGr+zYH2FiZQ79v9k7kSk1Q== + dependencies: + "@babel/runtime" "^7.23.9" + +"@mui/material@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.15.20.tgz#87737404603ca2802a8e074b059f8329e013e615" + integrity sha512-tVq3l4qoXx/NxUgIx/x3lZiPn/5xDbdTE8VrLczNpfblLYZzlrbxA7kb9mI8NoBF6+w9WE9IrxWnKK5KlPI2bg== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/base" "5.0.0-beta.40" + "@mui/core-downloads-tracker" "^5.15.20" + "@mui/system" "^5.15.20" + "@mui/types" "^7.2.14" + "@mui/utils" "^5.15.20" + "@types/react-transition-group" "^4.4.10" + clsx "^2.1.0" + csstype "^3.1.3" + prop-types "^15.8.1" + react-is "^18.2.0" + react-transition-group "^4.4.5" + +"@mui/private-theming@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.20.tgz#028c4e3c717a13691ac2c8c98e29aa819d89001a" + integrity sha512-BK8F94AIqSrnaPYXf2KAOjGZJgWfvqAVQ2gVR3EryvQFtuBnG6RwodxrCvd3B48VuMy6Wsk897+lQMUxJyk+6g== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/utils" "^5.15.20" + prop-types "^15.8.1" + +"@mui/styled-engine@^5.15.14": + version "5.15.14" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.14.tgz#168b154c4327fa4ccc1933a498331d53f61c0de2" + integrity sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw== + dependencies: + "@babel/runtime" "^7.23.9" + "@emotion/cache" "^11.11.0" + csstype "^3.1.3" + prop-types "^15.8.1" + +"@mui/system@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.20.tgz#f1933aabc4c10f8580c7a951ca3b88542ef0f76b" + integrity sha512-LoMq4IlAAhxzL2VNUDBTQxAb4chnBe8JvRINVNDiMtHE2PiPOoHlhOPutSxEbaL5mkECPVWSv6p8JEV+uykwIA== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/private-theming" "^5.15.20" + "@mui/styled-engine" "^5.15.14" + "@mui/types" "^7.2.14" + "@mui/utils" "^5.15.20" + clsx "^2.1.0" + csstype "^3.1.3" + prop-types "^15.8.1" + +"@mui/types@^7.2.14": + version "7.2.14" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.14.tgz#8a02ac129b70f3d82f2f9b76ded2c8d48e3fc8c9" + integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ== + +"@mui/utils@^5.14.16", "@mui/utils@^5.15.14", "@mui/utils@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.20.tgz#92778d749ce5ded1598639b4e684aaedb1146e08" + integrity sha512-mAbYx0sovrnpAu1zHc3MDIhPqL8RPVC5W5xcO1b7PiSCJPtckIZmBkp8hefamAvUiAV8gpfMOM6Zb+eSisbI2A== + dependencies: + "@babel/runtime" "^7.23.9" + "@types/prop-types" "^15.7.11" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/x-date-pickers@^6.18.5": + version "6.20.2" + resolved "https://registry.yarnpkg.com/@mui/x-date-pickers/-/x-date-pickers-6.20.2.tgz#b1b1e4862daafb750496cc77a1645caeac28a739" + integrity sha512-x1jLg8R+WhvkmUETRfX2wC+xJreMii78EXKLl6r3G+ggcAZlPyt0myID1Amf6hvJb9CtR7CgUo8BwR+1Vx9Ggw== + dependencies: + "@babel/runtime" "^7.23.2" + "@mui/base" "^5.0.0-beta.22" + "@mui/utils" "^5.14.16" + "@types/react-transition-group" "^4.4.8" + clsx "^2.0.0" + prop-types "^15.8.1" + react-transition-group "^4.4.5" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@popperjs/core@^2.11.8", "@popperjs/core@^2.9.0": + version "2.11.8" + resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@react-admin/ra-ai@^5.0.0-beta.1": + version "5.0.0-beta.1" + resolved "https://registry.marmelab.com/download/@react-admin/ra-ai/5.0.0-beta.1/b0186ad83c2f75499ab222ffa0649f41ff4d4eb6#b0186ad83c2f75499ab222ffa0649f41ff4d4eb6" + integrity sha512-hN40gLdjDn57AM7zRJFvLqrKVetFU5Ol1aDpecG7AnYLppc3N5EmlPSNKCw4uNLBtsAxrIiv+BK/7Bmy3DKQUw== + dependencies: + use-debounce "^9.0.4" + +"@react-admin/ra-form-layout@^5.0.0-beta.1": + version "5.0.0-beta.0" + resolved "https://registry.marmelab.com/download/@react-admin/ra-form-layout/5.0.0-beta.0/a8ecf591d6ca4eed93b77b67d5ae7fd7d648a59a#a8ecf591d6ca4eed93b77b67d5ae7fd7d648a59a" + integrity sha512-Li/AaHq8ZgUmihxOyGUsd549e6JquVLn4nnteGTZenv9eNa5V3IUpdbQzJzstCZUvx3HBck1PR3NDv+C1abUzw== + dependencies: + "@mui/x-date-pickers" "^6.18.5" + +"@remirror/core-constants@^2.0.2": + version "2.0.2" + resolved "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-2.0.2.tgz" + integrity sha512-dyHY+sMF0ihPus3O27ODd4+agdHMEmuRdyiZJ2CCWjPV5UFmn17ZbElvk6WOGVE4rdCJKZQCrPV2BcikOMLUGQ== + +"@remirror/core-helpers@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@remirror/core-helpers/-/core-helpers-3.0.0.tgz" + integrity sha512-tusEgQJIqg4qKj6HSBUFcyRnWnziw3neh4T9wOmsPGHFC3w9kl5KSrDb9UAgE8uX6y32FnS7vJ955mWOl3n50A== + dependencies: + "@remirror/core-constants" "^2.0.2" + "@remirror/types" "^1.0.1" + "@types/object.omit" "^3.0.0" + "@types/object.pick" "^1.3.2" + "@types/throttle-debounce" "^2.1.0" + case-anything "^2.1.13" + dash-get "^1.0.2" + deepmerge "^4.3.1" + fast-deep-equal "^3.1.3" + make-error "^1.3.6" + object.omit "^3.0.0" + object.pick "^1.3.0" + throttle-debounce "^3.0.1" + +"@remirror/types@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@remirror/types/-/types-1.0.1.tgz" + integrity sha512-VlZQxwGnt1jtQ18D6JqdIF+uFZo525WEqrfp9BOc3COPpK4+AWCgdnAWL+ho6imWcoINlGjR/+3b6y5C1vBVEA== + dependencies: + type-fest "^2.19.0" + +"@remix-run/router@1.16.1": + version "1.16.1" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.1.tgz#73db3c48b975eeb06d0006481bde4f5f2d17d1cd" + integrity sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig== + +"@rollup/rollup-android-arm-eabi@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz#bbd0e616b2078cd2d68afc9824d1fadb2f2ffd27" + integrity sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ== + +"@rollup/rollup-android-arm64@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz#97255ef6384c5f73f4800c0de91f5f6518e21203" + integrity sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA== + +"@rollup/rollup-darwin-arm64@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz#b6dd74e117510dfe94541646067b0545b42ff096" + integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w== + +"@rollup/rollup-darwin-x64@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz#e07d76de1cec987673e7f3d48ccb8e106d42c05c" + integrity sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA== + +"@rollup/rollup-linux-arm-gnueabihf@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz#9f1a6d218b560c9d75185af4b8bb42f9f24736b8" + integrity sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA== + +"@rollup/rollup-linux-arm-musleabihf@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz#53618b92e6ffb642c7b620e6e528446511330549" + integrity sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A== + +"@rollup/rollup-linux-arm64-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz#99a7ba5e719d4f053761a698f7b52291cefba577" + integrity sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw== + +"@rollup/rollup-linux-arm64-musl@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz#f53db99a45d9bc00ce94db8a35efa7c3c144a58c" + integrity sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ== + +"@rollup/rollup-linux-powerpc64le-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz#cbb0837408fe081ce3435cf3730e090febafc9bf" + integrity sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA== + +"@rollup/rollup-linux-riscv64-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz#8ed09c1d1262ada4c38d791a28ae0fea28b80cc9" + integrity sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg== + +"@rollup/rollup-linux-s390x-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz#938138d3c8e0c96f022252a28441dcfb17afd7ec" + integrity sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg== + +"@rollup/rollup-linux-x64-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz#1a7481137a54740bee1ded4ae5752450f155d942" + integrity sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w== + +"@rollup/rollup-linux-x64-musl@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz#f1186afc601ac4f4fc25fac4ca15ecbee3a1874d" + integrity sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg== + +"@rollup/rollup-win32-arm64-msvc@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz#ed6603e93636a96203c6915be4117245c1bd2daf" + integrity sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA== + +"@rollup/rollup-win32-ia32-msvc@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz#14e0b404b1c25ebe6157a15edb9c46959ba74c54" + integrity sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg== + +"@rollup/rollup-win32-x64-msvc@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz#5d694d345ce36b6ecf657349e03eb87297e68da4" + integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g== + +"@tanstack/query-core@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.45.0.tgz#47a662d311c2588867341238960ec21dc7f0714e" + integrity sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw== + +"@tanstack/react-query@^5.8.4": + version "5.45.1" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.45.1.tgz#a0ac6bb89b4a2c2b0251f6647a0a370d86f05347" + integrity sha512-mYYfJujKg2kxmkRRjA6nn4YKG3ITsKuH22f1kteJ5IuVQqgKUgbaSQfYwVP0gBS05mhwxO03HVpD0t7BMN7WOA== + dependencies: + "@tanstack/query-core" "5.45.0" + +"@tiptap/core@^2.0.3", "@tiptap/core@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/core/-/core-2.1.11.tgz" + integrity sha512-1W2DdjpPwfphHgQ3Qm4s5wzCnEjiXm1TeZ+6/zBl89yKURXgv8Mw1JGdj/NcImQjtDcsNn97MscACK3GKbEJBA== + +"@tiptap/extension-blockquote@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.1.11.tgz" + integrity sha512-IEVe3goA0rgp1G8Wm733BSRJiy71Vh2fmTCyZKWmc2A6GREVSy1X3fCvAo6pMENRObhjIoaBQUCE3p4iJYOxqg== + +"@tiptap/extension-bold@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.1.11.tgz" + integrity sha512-vhdkBtvd029ufOYt2ug49Gz+RLKSczO/CCqKYBqBmpIpsifyK7M6jkgamvAQg3c/vYk0LNcKiL2dp0Jp7L+5Gw== + +"@tiptap/extension-bubble-menu@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.1.11.tgz" + integrity sha512-WFJJpZvl9DP94Y5RQZB/THDxvDbrTo8tuhjT7yWlhseJ6zyhWmRXdutt39wfSZNFxitv/As+s7cO9aYLML/TVg== + dependencies: + tippy.js "^6.3.7" + +"@tiptap/extension-bullet-list@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.1.11.tgz" + integrity sha512-SOOVH2aSmdMtjWL7TTLbN72xbAFz2G5jifT4UCXb7Qx6LsyhNCyDCu0ukOW8rSosGoSdmBXxAsD9sBJ1jEOmZw== + +"@tiptap/extension-code-block@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.1.11.tgz" + integrity sha512-QhmhCCWqg/5qLXpZ3sl2A0rqJqV8zMOegcxUFaqcJMOqNbsuHcRgc9C+1hWSVLbCmstB7M6sgF02QpTBOkYHxg== + +"@tiptap/extension-code@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.1.11.tgz" + integrity sha512-G0UEbMFunujy/F86yHN0/dumPLbwTis9C+6IQv1XRPNsV28U0MgxBhlPcJUgyO5lwuleePDxiBVcRv2XrysgKw== + +"@tiptap/extension-color@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-color/-/extension-color-2.1.11.tgz" + integrity sha512-xfSfZRnNd40YtFfrXvzpGa2OZsRAZapq0Ce09q7bCEpudhiD7yIIVOjOjggagllOFnafKTwKkFaDLIA0K0eIwg== + +"@tiptap/extension-document@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.1.11.tgz" + integrity sha512-L/iLuqxvJep33ycCFNrnUhdR0VtcZyeNnqB+ZvVHzEwLoRud+LBy44lpEdBrAFsvRm3DG14m/FGYL+TfaD0vxA== + +"@tiptap/extension-dropcursor@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.1.11.tgz" + integrity sha512-MiJepRpHlu93aInOMW8NeRCvm9VE5rL0MA9TONY/IspJFGFIqonc/01J6t33JQa3Xh/x3xAfis4nKa/UazeVJw== + +"@tiptap/extension-floating-menu@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.1.11.tgz" + integrity sha512-ExeoOQ6nT0CY0eWx6WjbG+osurXLXa7XrqIdhCAcTmzBAlGiKt8khX9qaZ+QF+BRK1r1lja2KX+5/fpLK7Dt1g== + dependencies: + tippy.js "^6.3.7" + +"@tiptap/extension-gapcursor@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.1.11.tgz" + integrity sha512-P/xjyhSOVyop5XXbNtRPgrooQrSlpYblwR67ClI9FAC7uQliuOwi5VcndmEItjWWSe85kJa2IHjOS7mLYvJe8A== + +"@tiptap/extension-hard-break@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.1.11.tgz" + integrity sha512-qhiPe6FA0b6PPb/ITlgSnY0l9tEVmXZ9e7eSjvks12ORfqL/dofSCLtChHWvhZxugzo92xejG2hXLi6lyOLbkg== + +"@tiptap/extension-heading@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.1.11.tgz" + integrity sha512-QBtl0S1aDFB+F1wvTrS5iGdNUEeXp+WuTddj+L2f5EP4KqG2x7sj7e7ENMy20g/l8tbKwzd3AZZydvClH4Ybbw== + +"@tiptap/extension-highlight@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-2.1.11.tgz" + integrity sha512-pcs55B1lF2vyQ8VvZob9CsYdbFgVpIfG3+qchLsA1WflUJCcIexstTclWTS9N5UocADg4hBOeerZ4ecq1iXs3w== + +"@tiptap/extension-history@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.1.11.tgz" + integrity sha512-88dovV2O9icmBn0IvaArFFeS6X5ts6BxZPu5VbGML8KBL8iAu+Og7RXEPdOy5e13K0K4V21fDpO3n7KdvNOAYQ== + +"@tiptap/extension-horizontal-rule@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.1.11.tgz" + integrity sha512-uvHPa2YCKnDhtSBSZB3lk5U4H3wRKP0DNvVx4Y2F7MdQianVzcyOd1pZYO9BQs+lUB1aZots6doE69Zqz3mU2Q== + +"@tiptap/extension-image@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.1.11.tgz" + integrity sha512-dFFRvzl9F4fEcG95nyka72TeV127C1UVaMm816GHoFlVEFGV4yJ8NKgzT3UEDgFcs6OPwPlt8tuHuDeYm7EVOQ== + +"@tiptap/extension-italic@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.1.11.tgz" + integrity sha512-QmDsHtnBBit/1KtQpBPxjSPjDC1mVKtoNTgsEwMWK6YAkCKOKPj7oPEqqjaNZIRMKPPzE5XCsfBoS3jtVmo+6A== + +"@tiptap/extension-link@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.1.11.tgz" + integrity sha512-Dn8hq4ld8br53fE4/QUZ7/y6ejY/kqAxeNhtud+OZKRs6VRn/CQd0H6A26opL+mKAK0kzrs0rh7rJPpHvahx/Q== + dependencies: + linkifyjs "^4.1.0" + +"@tiptap/extension-list-item@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.1.11.tgz" + integrity sha512-YhwHaPGhffsFsg/zjCu1G24//j/BTRDRZbZXmMwp77m1yEqPULcWyoWrI+gUzetQxJRD/ruAucqjLtoLLfICmQ== + +"@tiptap/extension-ordered-list@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.1.11.tgz" + integrity sha512-/tghfEJ5U7WFbF8xyOqRJks8KxP/lRjnroMXMglaushSMx8PYPo1dZDB/dJZw7ksy47MAaKJfKlx3gyN2CPXBQ== + +"@tiptap/extension-paragraph@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.1.11.tgz" + integrity sha512-gXMgJ2CU3X4yh1wKnb8RdbDmhITB76pH6DX0uWprmEgvzNMN3Qw+h5uBD9lgxg1WVghbCmkG9mY9J4PPbPTLxw== + +"@tiptap/extension-placeholder@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.1.11.tgz" + integrity sha512-laHYRFxJWj6m72Yf1v6Q5nF2nvwWpQlKUj6Yu/yluOOoVE92HpLqCAvA8RamqLtPiw5VxR3v3oCY0WNeQRvyIg== + +"@tiptap/extension-strike@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.1.11.tgz" + integrity sha512-UnjeSVgu3bDuyjjUdWsUErRCoQKAHCzH/pAiqTEPEEdFYgZFQPBpcJICRVdlYjRmI2ZKh6d0TMUS55m7ckmwmQ== + +"@tiptap/extension-text-align@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-2.1.11.tgz" + integrity sha512-mRUouUZviU7OjzMbW5O728HsRl/T/Gue4DuNWaY2hiddlJWOpDmO/FYRR7JaAQjTr+16NCofRwgfWdJL3nyv5w== + +"@tiptap/extension-text-style@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.1.11.tgz" + integrity sha512-+JDWmcSUyFKzMDm/1xqlk7e0qPJ1nQ/UKIRuDeRtqgbxTyEw4fNlkV2k7GHCoELXqxUoplzweLID+kM1Vk2OaA== + +"@tiptap/extension-text@^2.1.11": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.1.11.tgz" + integrity sha512-Iey0EXYv9079+lbHMvZtLc6XcYfKrq++msEXuFFNHxvL0i/XzndhGf+qlDhLROLgEtDiiTqzOBBwFCGlFjbDow== + +"@tiptap/extension-underline@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.1.11.tgz" + integrity sha512-2C/jDNRV3WHfM5kgx6xB/1ooBciQ9j02gJVJkTHeLpz6zUWkxrRgU/u+FvZxGVBVskasJsQnsYMG9pAqwd9R8A== + +"@tiptap/pm@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/pm/-/pm-2.1.11.tgz" + integrity sha512-vBIAic+H8fjHfT8r2qJkAOxdx1Iiss9+qMyujAoIdPkiyjEc4+sXcM0qSYgIr6KL5icITyuK8J7x/V62VfB7Uw== + dependencies: + prosemirror-changeset "^2.2.0" + prosemirror-collab "^1.3.0" + prosemirror-commands "^1.3.1" + prosemirror-dropcursor "^1.5.0" + prosemirror-gapcursor "^1.3.1" + prosemirror-history "^1.3.0" + prosemirror-inputrules "^1.2.0" + prosemirror-keymap "^1.2.0" + prosemirror-markdown "^1.10.1" + prosemirror-menu "^1.2.1" + prosemirror-model "^1.18.1" + prosemirror-schema-basic "^1.2.0" + prosemirror-schema-list "^1.2.2" + prosemirror-state "^1.4.1" + prosemirror-tables "^1.3.0" + prosemirror-trailing-node "^2.0.2" + prosemirror-transform "^1.7.0" + prosemirror-view "^1.28.2" + +"@tiptap/react@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/react/-/react-2.1.11.tgz" + integrity sha512-OLU4uqMeCE/LKz/GY2P1JRykUgHJDoPROHUa1IOnVpj/1FbbBHDyurT3eomwsVzScTULbrKGwrS3ada6QAmTTA== + dependencies: + "@tiptap/extension-bubble-menu" "^2.1.11" + "@tiptap/extension-floating-menu" "^2.1.11" + +"@tiptap/starter-kit@^2.0.3": + version "2.1.11" + resolved "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.1.11.tgz" + integrity sha512-kZXwuo9yxrs1ASxluRKjXThjdcy90d7owJxnJWD7SyEwXaXYc4h+Ar1M9rP3jieCDBuRTtCgvAOKbVbhnRJ2jg== + dependencies: + "@tiptap/core" "^2.1.11" + "@tiptap/extension-blockquote" "^2.1.11" + "@tiptap/extension-bold" "^2.1.11" + "@tiptap/extension-bullet-list" "^2.1.11" + "@tiptap/extension-code" "^2.1.11" + "@tiptap/extension-code-block" "^2.1.11" + "@tiptap/extension-document" "^2.1.11" + "@tiptap/extension-dropcursor" "^2.1.11" + "@tiptap/extension-gapcursor" "^2.1.11" + "@tiptap/extension-hard-break" "^2.1.11" + "@tiptap/extension-heading" "^2.1.11" + "@tiptap/extension-history" "^2.1.11" + "@tiptap/extension-horizontal-rule" "^2.1.11" + "@tiptap/extension-italic" "^2.1.11" + "@tiptap/extension-list-item" "^2.1.11" + "@tiptap/extension-ordered-list" "^2.1.11" + "@tiptap/extension-paragraph" "^2.1.11" + "@tiptap/extension-strike" "^2.1.11" + "@tiptap/extension-text" "^2.1.11" + +"@types/babel__core@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.5" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz" + integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.2" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz" + integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*": + version "7.20.2" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz" + integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== + dependencies: + "@babel/types" "^7.20.7" + +"@types/estree@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/json-schema@^7.0.9": + version "7.0.13" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz" + integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== + +"@types/lodash@^4.17.5": + version "4.17.5" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.5.tgz#e6c29b58e66995d57cd170ce3e2a61926d55ee04" + integrity sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw== + +"@types/node@^20.14.8": + version "20.14.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.8.tgz#45c26a2a5de26c3534a9504530ddb3b27ce031ac" + integrity sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA== + dependencies: + undici-types "~5.26.4" + +"@types/object.omit@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@types/object.omit/-/object.omit-3.0.1.tgz" + integrity sha512-24XD34UeRWw505TsMNBrQ4bES2s8IxiFC59mmNUFhTz9IX2hAtA7gQ8wVww1i17QmhBYILg5iqYP2y7aqA3pwQ== + +"@types/object.pick@^1.3.2": + version "1.3.2" + resolved "https://registry.npmjs.org/@types/object.pick/-/object.pick-1.3.2.tgz" + integrity sha512-sn7L+qQ6RLPdXRoiaE7bZ/Ek+o4uICma/lBFPyJEKDTPTBP1W8u0c4baj3EiS4DiqLs+Hk+KUGvMVJtAw3ePJg== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prop-types@*": + version "15.7.7" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.7.tgz" + integrity sha512-FbtmBWCcSa2J4zL781Zf1p5YUBXQomPEcep9QZCfRfQgTxz3pJWiDFLebohZ9fFntX5ibzOkSsrJ0TEew8cAog== + +"@types/prop-types@^15.7.11": + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + +"@types/react-dom@^18.3.0": + version "18.3.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" + integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== + dependencies: + "@types/react" "*" + +"@types/react-transition-group@^4.4.10", "@types/react-transition-group@^4.4.8": + version "4.4.10" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" + integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "18.2.22" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.22.tgz" + integrity sha512-60fLTOLqzarLED2O3UQImc/lsNRgG0jE/a1mPW9KjMemY0LMITWEsbS4VvZ4p6rorEHd5YKxxmMKSDK505GHpA== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.3.tgz#9679020895318b0915d7a3ab004d92d33375c45f" + integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.3" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz" + integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== + +"@types/semver@^7.3.12": + version "7.5.2" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz" + integrity sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw== + +"@types/throttle-debounce@^2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz" + integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ== + +"@typescript-eslint/eslint-plugin@^5.60.1": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.60.1": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== + dependencies: + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@vitejs/plugin-react@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz#d0be6594051ded8957df555ff07a991fb618b48e" + integrity sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg== + dependencies: + "@babel/core" "^7.24.5" + "@babel/plugin-transform-react-jsx-self" "^7.24.5" + "@babel/plugin-transform-react-jsx-source" "^7.24.1" + "@types/babel__core" "^7.20.5" + react-refresh "^0.14.2" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-includes@^3.1.6: + version "3.1.7" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-string "^1.0.7" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + +array.prototype.flat@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.foreach@^1.0.2: + version "1.0.5" + resolved "https://registry.npmjs.org/array.prototype.foreach/-/array.prototype.foreach-1.0.5.tgz" + integrity sha512-FSk2BdZDQVdxGeh63usPldJo5xtkdBp3iYBqEGlGnId5TV0xtrKOnz9kXzfFL5L/81EIuVkxtiYtJSE2IjKoPA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-array-method-boxes-properly "^1.0.0" + get-intrinsic "^1.2.1" + is-string "^1.0.7" + +array.prototype.tosorted@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz" + integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" + +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +async@^3.2.4: + version "3.2.5" + resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynciterator.prototype@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz" + integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== + dependencies: + has-symbols "^1.0.3" + +attr-accept@^2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" + integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== + +autosuggest-highlight@^3.1.1: + version "3.3.4" + resolved "https://registry.npmjs.org/autosuggest-highlight/-/autosuggest-highlight-3.3.4.tgz" + integrity sha512-j6RETBD2xYnrVcoV1S5R4t3WxOlWZKyDQjkwnggDPSjF5L4jV98ZltBpvPvbkM1HtoSe5o+bNrTHyjPbieGeYA== + dependencies: + remove-accents "^0.4.2" + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.22.2: + version "4.23.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" + integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== + dependencies: + caniuse-lite "^1.0.30001629" + electron-to-chromium "^1.4.796" + node-releases "^2.0.14" + update-browserslist-db "^1.0.16" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +caniuse-lite@^1.0.30001629: + version "1.0.30001636" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz#b15f52d2bdb95fad32c2f53c0b68032b85188a78" + integrity sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg== + +case-anything@^2.1.13: + version "2.1.13" + resolved "https://registry.npmjs.org/case-anything/-/case-anything-2.1.13.tgz" + integrity sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +clsx@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz" + integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== + +clsx@^2.1.0, clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^11.0.0: + version "11.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +crelt@^1.0.0: + version "1.0.6" + resolved "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz" + integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g== + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-mediaquery@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz" + integrity sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q== + +csstype@^3.0.2: + version "3.1.2" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +dash-get@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/dash-get/-/dash-get-1.0.2.tgz" + integrity sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ== + +date-fns@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-3.6.0.tgz#f20ca4fe94f8b754951b24240676e8618c0206bf" + integrity sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww== + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^4.3.1: + version "4.3.5" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" + integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== + dependencies: + ms "2.1.2" + +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +define-data-property@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz" + integrity sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +dompurify@^2.4.3: + version "2.4.7" + resolved "https://registry.npmjs.org/dompurify/-/dompurify-2.4.7.tgz" + integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ== + +electron-to-chromium@^1.4.796: + version "1.4.810" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.810.tgz#7dee01b090b9e048e6db752f7b30921790230654" + integrity sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ== + +email-addresses@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz" + integrity sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw== + +entities@~3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.22.1: + version "1.22.2" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz" + integrity sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.1" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.12" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.11" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-iterator-helpers@^1.0.12: + version "1.0.15" + resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz" + integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== + dependencies: + asynciterator.prototype "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.1" + es-abstract "^1.22.1" + es-set-tostringtag "^2.0.1" + function-bind "^1.1.1" + get-intrinsic "^1.2.1" + globalthis "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + iterator.prototype "^1.1.2" + safe-array-concat "^1.0.1" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +esbuild@^0.21.3: + version "0.21.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" + integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== + optionalDependencies: + "@esbuild/aix-ppc64" "0.21.5" + "@esbuild/android-arm" "0.21.5" + "@esbuild/android-arm64" "0.21.5" + "@esbuild/android-x64" "0.21.5" + "@esbuild/darwin-arm64" "0.21.5" + "@esbuild/darwin-x64" "0.21.5" + "@esbuild/freebsd-arm64" "0.21.5" + "@esbuild/freebsd-x64" "0.21.5" + "@esbuild/linux-arm" "0.21.5" + "@esbuild/linux-arm64" "0.21.5" + "@esbuild/linux-ia32" "0.21.5" + "@esbuild/linux-loong64" "0.21.5" + "@esbuild/linux-mips64el" "0.21.5" + "@esbuild/linux-ppc64" "0.21.5" + "@esbuild/linux-riscv64" "0.21.5" + "@esbuild/linux-s390x" "0.21.5" + "@esbuild/linux-x64" "0.21.5" + "@esbuild/netbsd-x64" "0.21.5" + "@esbuild/openbsd-x64" "0.21.5" + "@esbuild/sunos-x64" "0.21.5" + "@esbuild/win32-arm64" "0.21.5" + "@esbuild/win32-ia32" "0.21.5" + "@esbuild/win32-x64" "0.21.5" + +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^8.8.0: + version "8.10.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz" + integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== + +eslint-plugin-react-hooks@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@^7.32.2: + version "7.33.2" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz" + integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + es-iterator-helpers "^1.0.12" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.1" + string.prototype.matchall "^4.0.8" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.43.0: + version "8.50.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz" + integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "8.50.0" + "@humanwhocodes/config-array" "^0.11.11" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +fakerest@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/fakerest/-/fakerest-4.0.1.tgz#ab14767621dad8ecf7e139fcc1d01fb8e7a00502" + integrity sha512-W7fmJaLEbLfi9YKPVRaBWlTBWunUR7MylUNDDOHUn2VCXymKbE36hmhDca4OHLoFmOYOuJN14T+zxT/ZeWBVOQ== + dependencies: + lodash "^4.17.21" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.9: + version "3.3.1" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-selector@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" + integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== + dependencies: + tslib "^2.4.0" + +filename-reserved-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz" + integrity sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ== + +filenamify@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz" + integrity sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg== + dependencies: + filename-reserved-regex "^2.0.0" + strip-outer "^1.0.1" + trim-repeated "^1.0.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.1.0" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz" + integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== + dependencies: + flatted "^3.2.7" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.7: + version "3.2.9" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +fs-extra@^11.1.1: + version "11.1.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +gh-pages@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-6.1.1.tgz#e80af927a081cb480657fde5a0b87ea2e77d6c74" + integrity sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw== + dependencies: + async "^3.2.4" + commander "^11.0.0" + email-addresses "^5.0.0" + filenamify "^4.3.0" + find-cache-dir "^3.3.1" + fs-extra "^11.1.1" + globby "^6.1.0" + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^7.0.3, glob@^7.1.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.22.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz" + integrity sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" + integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +highlight-search-term@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/highlight-search-term/-/highlight-search-term-1.0.0.tgz#825bb14286592c9399be50a3811fb9feb2c3e80d" + integrity sha512-xU6VrHiNo9wnRXYbozfI/7usZ+g8r7dk07/2qxXrvZE+AluWOadsUAG6m5sMV2JFdWtZwju24HUBWv84OWGUFQ== + +hoist-non-react-statics@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hotscript@^1.0.12: + version "1.0.13" + resolved "https://registry.npmjs.org/hotscript/-/hotscript-1.0.13.tgz" + integrity sha512-C++tTF1GqkGYecL+2S1wJTfoH6APGAsbb7PAWQ3iVIwgG/EFseAfEVOKFgAFq4yK3+6j1EjUD4UQ9dRJHX/sSQ== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflection@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/inflection/-/inflection-3.0.0.tgz#6a956fa90d72a27d22e6b32ec1064877593ee23b" + integrity sha512-1zEJU1l19SgJlmwqsEyFTbScw/tkMHFenUo//Y0i+XEP83gDFdMvPizAD/WGcE+l1ku12PcTVHQhO6g5E0UCMw== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0, is-core-module@^2.9.0: + version "2.13.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extendable@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + +is-generator-function@^1.0.10: + version "1.0.10" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-map@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-set@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" + integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonexport@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/jsonexport/-/jsonexport-3.2.0.tgz" + integrity sha512-GbO9ugb0YTZatPd/hqCGR0FSwbr82H6OzG04yzdrG7XOe4QZ0jhQ+kOsB29zqkzoYJLmLxbbrFiuwbQu891XnQ== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.3.5" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keyv@^4.5.3: + version "4.5.3" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz" + integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + dependencies: + json-buffer "3.0.1" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +linkify-it@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz" + integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== + dependencies: + uc.micro "^1.0.1" + +linkifyjs@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.1.1.tgz" + integrity sha512-zFN/CTVmbcVef+WaDXT63dNzzkfRBKT1j464NJQkV7iSgJU0sLBus9W0HBwnXK13/hf168pbrx/V/bjEHOXNHA== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.21, lodash@~4.17.5: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@^1.3.6: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +markdown-it@^13.0.1: + version "13.0.1" + resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz" + integrity sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q== + dependencies: + argparse "^2.0.1" + entities "~3.0.1" + linkify-it "^4.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +node-polyglot@^2.2.2: + version "2.5.0" + resolved "https://registry.npmjs.org/node-polyglot/-/node-polyglot-2.5.0.tgz" + integrity sha512-zXVwHNhFsG3mls+LKHxoHF70GQOL3FTDT3jH7ldkb95kG76RdU7F/NbvxV7D2hNIL9VpWXW6y78Fz+3KZkatRg== + dependencies: + array.prototype.foreach "^1.0.2" + has "^1.0.3" + object.entries "^1.1.5" + string.prototype.trim "^1.2.6" + warning "^4.0.3" + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +object-assign@^4.0.1, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.5, object.entries@^1.1.6: + version "1.1.7" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz" + integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.fromentries@^2.0.6: + version "2.0.7" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.hasown@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz" + integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== + dependencies: + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.omit@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/object.omit/-/object.omit-3.0.0.tgz" + integrity sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ== + dependencies: + is-extendable "^1.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + +object.values@^1.1.6: + version "1.1.7" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +orderedmap@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz" + integrity sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^2.8.8: + version "2.8.8" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +prop-types@^15.6.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +prosemirror-changeset@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.2.1.tgz" + integrity sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ== + dependencies: + prosemirror-transform "^1.0.0" + +prosemirror-collab@^1.3.0: + version "1.3.1" + resolved "https://registry.npmjs.org/prosemirror-collab/-/prosemirror-collab-1.3.1.tgz" + integrity sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ== + dependencies: + prosemirror-state "^1.0.0" + +prosemirror-commands@^1.0.0, prosemirror-commands@^1.3.1: + version "1.5.2" + resolved "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.2.tgz" + integrity sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.0.0" + +prosemirror-dropcursor@^1.5.0: + version "1.8.1" + resolved "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.1.tgz" + integrity sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw== + dependencies: + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + prosemirror-view "^1.1.0" + +prosemirror-gapcursor@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz" + integrity sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ== + dependencies: + prosemirror-keymap "^1.0.0" + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-view "^1.0.0" + +prosemirror-history@^1.0.0, prosemirror-history@^1.3.0: + version "1.3.2" + resolved "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.3.2.tgz" + integrity sha512-/zm0XoU/N/+u7i5zepjmZAEnpvjDtzoPWW6VmKptcAnPadN/SStsBjMImdCEbb3seiNTpveziPTIrXQbHLtU1g== + dependencies: + prosemirror-state "^1.2.2" + prosemirror-transform "^1.0.0" + prosemirror-view "^1.31.0" + rope-sequence "^1.3.0" + +prosemirror-inputrules@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.2.1.tgz" + integrity sha512-3LrWJX1+ULRh5SZvbIQlwZafOXqp1XuV21MGBu/i5xsztd+9VD15x6OtN6mdqSFI7/8Y77gYUbQ6vwwJ4mr6QQ== + dependencies: + prosemirror-state "^1.0.0" + prosemirror-transform "^1.0.0" + +prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.1.2, prosemirror-keymap@^1.2.0: + version "1.2.2" + resolved "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz" + integrity sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ== + dependencies: + prosemirror-state "^1.0.0" + w3c-keyname "^2.2.0" + +prosemirror-markdown@^1.10.1: + version "1.11.2" + resolved "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.11.2.tgz" + integrity sha512-Eu5g4WPiCdqDTGhdSsG9N6ZjACQRYrsAkrF9KYfdMaCmjIApH75aVncsWYOJvEk2i1B3i8jZppv3J/tnuHGiUQ== + dependencies: + markdown-it "^13.0.1" + prosemirror-model "^1.0.0" + +prosemirror-menu@^1.2.1: + version "1.2.4" + resolved "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.2.4.tgz" + integrity sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA== + dependencies: + crelt "^1.0.0" + prosemirror-commands "^1.0.0" + prosemirror-history "^1.0.0" + prosemirror-state "^1.0.0" + +prosemirror-model@^1.0.0, prosemirror-model@^1.16.0, prosemirror-model@^1.18.1, prosemirror-model@^1.19.0, prosemirror-model@^1.8.1: + version "1.19.3" + resolved "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.19.3.tgz" + integrity sha512-tgSnwN7BS7/UM0sSARcW+IQryx2vODKX4MI7xpqY2X+iaepJdKBPc7I4aACIsDV/LTaTjt12Z56MhDr9LsyuZQ== + dependencies: + orderedmap "^2.0.0" + +prosemirror-schema-basic@^1.2.0: + version "1.2.2" + resolved "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.2.tgz" + integrity sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw== + dependencies: + prosemirror-model "^1.19.0" + +prosemirror-schema-list@^1.2.2: + version "1.3.0" + resolved "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.3.0.tgz" + integrity sha512-Hz/7gM4skaaYfRPNgr421CU4GSwotmEwBVvJh5ltGiffUJwm7C8GfN/Bc6DR1EKEp5pDKhODmdXXyi9uIsZl5A== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.7.3" + +prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1, prosemirror-state@^1.4.1: + version "1.4.3" + resolved "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz" + integrity sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-transform "^1.0.0" + prosemirror-view "^1.27.0" + +prosemirror-tables@^1.3.0: + version "1.3.4" + resolved "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.3.4.tgz" + integrity sha512-z6uLSQ1BLC3rgbGwZmpfb+xkdvD7W/UOsURDfognZFYaTtc0gsk7u/t71Yijp2eLflVpffMk6X0u0+u+MMDvIw== + dependencies: + prosemirror-keymap "^1.1.2" + prosemirror-model "^1.8.1" + prosemirror-state "^1.3.1" + prosemirror-transform "^1.2.1" + prosemirror-view "^1.13.3" + +prosemirror-trailing-node@^2.0.2: + version "2.0.7" + resolved "https://registry.npmjs.org/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.7.tgz" + integrity sha512-8zcZORYj/8WEwsGo6yVCRXFMOfBo0Ub3hCUvmoWIZYfMP26WqENU0mpEP27w7mt8buZWuGrydBewr0tOArPb1Q== + dependencies: + "@remirror/core-constants" "^2.0.2" + "@remirror/core-helpers" "^3.0.0" + escape-string-regexp "^4.0.0" + +prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.2.1, prosemirror-transform@^1.7.0, prosemirror-transform@^1.7.3: + version "1.7.5" + resolved "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.7.5.tgz" + integrity sha512-U/fWB6frEzY7dzwJUo+ir8dU1JEanaI/RwL12Imy9js/527N0v/IRUKewocP1kTq998JNT18IGtThaDLwLOBxQ== + dependencies: + prosemirror-model "^1.0.0" + +prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.28.2, prosemirror-view@^1.31.0: + version "1.31.8" + resolved "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.31.8.tgz" + integrity sha512-VQrEIdiPJ4YV65Ifj2kWISwaiqocMHy7cpUKVQYt19C/87FepoqnwVW3kMKRpeY/nQzED8L+vyOaYDBn0WqT7w== + dependencies: + prosemirror-model "^1.16.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +query-string@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +ra-core@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ra-core/-/ra-core-5.0.1.tgz#f654b9d20c563658c822d5333a4d161909e36089" + integrity sha512-fmMKe9gPGrmUlFLUrJliOGBIdQwpLaXgqsEyyeETcKJrQkK0nha+YW05NrY/axm9vvbDCSxij0H6phMjISImNQ== + dependencies: + "@tanstack/react-query" "^5.8.4" + clsx "^2.1.1" + date-fns "^3.6.0" + eventemitter3 "^5.0.1" + hotscript "^1.0.12" + inflection "^3.0.0" + jsonexport "^3.2.0" + lodash "~4.17.5" + query-string "^7.1.3" + react-error-boundary "^4.0.13" + react-is "^18.2.0" + +ra-data-fakerest@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ra-data-fakerest/-/ra-data-fakerest-5.0.1.tgz#68b9b66198be7d1998664b486816922dda9f9613" + integrity sha512-2T/CCgK0AnBMGksKxAgAS/SGFQ2aGiUtUgPPvVhAMwMsKvjZPfdxU3cgJ1NVIBsqsQ0e7GenMtyvSGb9dJzj4g== + dependencies: + fakerest "^4.0.1" + +ra-data-local-storage@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ra-data-local-storage/-/ra-data-local-storage-5.0.1.tgz#008d63e63f6dae278728fba02e10c17159b92bd3" + integrity sha512-rBr2qNvmcCfXF5dkmK5z++YhBbaI8/f4gUFUDjqStRcIM0Mvyd8DnKQfdqogCfkwbVXHK+AESYH/FVPTlvMT1A== + dependencies: + lodash "~4.17.5" + ra-data-fakerest "^5.0.1" + +ra-i18n-polyglot@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ra-i18n-polyglot/-/ra-i18n-polyglot-5.0.1.tgz#43788e40ff6d433ab4ec8f1b666e0d2adce8e227" + integrity sha512-tfjEPRnrpvGJ72ZFIUxUJAmHprk78Xj9VIYsX/Vpuq6a1tCWJyrnlOIriPUTkaLHXex0PuVvrKw6R8SZoVLY/w== + dependencies: + node-polyglot "^2.2.2" + ra-core "^5.0.1" + +ra-input-rich-text@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ra-input-rich-text/-/ra-input-rich-text-5.0.1.tgz#64b36a2d18d178deb982f95d689dee16a00484d1" + integrity sha512-cRMffi//To2uFfSFZ0DUKG8TZgEQI/8m+VWrPC6Vu1bLZ5ST+FX1tlado8No54lsxlfEKNy6YhTUadp2vqbOGA== + dependencies: + "@tiptap/core" "^2.0.3" + "@tiptap/extension-color" "^2.0.3" + "@tiptap/extension-highlight" "^2.0.3" + "@tiptap/extension-image" "^2.0.3" + "@tiptap/extension-link" "^2.0.3" + "@tiptap/extension-placeholder" "^2.0.3" + "@tiptap/extension-text-align" "^2.0.3" + "@tiptap/extension-text-style" "^2.0.3" + "@tiptap/extension-underline" "^2.0.3" + "@tiptap/pm" "^2.0.3" + "@tiptap/react" "^2.0.3" + "@tiptap/starter-kit" "^2.0.3" + clsx "^2.1.1" + +ra-language-english@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ra-language-english/-/ra-language-english-5.0.1.tgz#c3b0b17b905bb875b083341de33fd124072fdba4" + integrity sha512-bm/5Al2X32GgBtrCgAg1SL6KGGWyGozIupB/D0KQ8ol4lMYXXAaKIFwWgc08IJ+p+mecu680nW8UpIkNdl+cqA== + dependencies: + ra-core "^5.0.1" + +ra-ui-materialui@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ra-ui-materialui/-/ra-ui-materialui-5.0.1.tgz#9807c626af124adb0d5ffa05fe7528553ea4a7c0" + integrity sha512-RSfR9B7KaMRAwgXVbCToX7MRikNW8Ffoi1AqXfsrmtunurtc+smitiDtO45pk5y/F7F3JkR5sayegMj54p3R1A== + dependencies: + "@tanstack/react-query" "^5.8.4" + autosuggest-highlight "^3.1.1" + clsx "^2.1.1" + css-mediaquery "^0.1.2" + dompurify "^2.4.3" + hotscript "^1.0.12" + inflection "^3.0.0" + jsonexport "^3.2.0" + lodash "~4.17.5" + query-string "^7.1.3" + react-dropzone "^14.2.3" + react-error-boundary "^4.0.13" + react-transition-group "^4.4.5" + +react-admin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/react-admin/-/react-admin-5.0.1.tgz#32aff27b5bbc11db8a2877aa7ad7d1bc735f3b52" + integrity sha512-lW1bJspOnY2AErhY1mCm2f2oF7ajmRGdT0nb8QU/7ziDbUYAgtioxs0r2wAXX//x4oFnR3zh4SnsE/4AlURNzg== + dependencies: + "@emotion/react" "^11.4.1" + "@emotion/styled" "^11.3.0" + "@mui/icons-material" "^5.15.20" + "@mui/material" "^5.15.20" + ra-core "^5.0.1" + ra-i18n-polyglot "^5.0.1" + ra-language-english "^5.0.1" + ra-ui-materialui "^5.0.1" + react-hook-form "^7.52.0" + react-router "^6.22.0" + react-router-dom "^6.22.0" + +react-dom@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.2" + +react-dropzone@^14.2.3: + version "14.2.3" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" + integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== + dependencies: + attr-accept "^2.2.2" + file-selector "^0.6.0" + prop-types "^15.8.1" + +react-error-boundary@^4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-4.0.13.tgz#80386b7b27b1131c5fbb7368b8c0d983354c7947" + integrity sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ== + dependencies: + "@babel/runtime" "^7.12.5" + +react-hook-form@^7.52.0: + version "7.52.0" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.52.0.tgz#e52b33043e283719586b9dd80f6d51b68dd3999c" + integrity sha512-mJX506Xc6mirzLsmXUJyqlAI3Kj9Ph2RhplYhUVffeOQSnubK2uVqBFOBJmvKikvbFV91pxVXmDiR+QMF19x6A== + +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-refresh@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" + integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== + +react-router-dom@^6.22.0: + version "6.23.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.23.1.tgz#30cbf266669693e9492aa4fc0dde2541ab02322f" + integrity sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ== + dependencies: + "@remix-run/router" "1.16.1" + react-router "6.23.1" + +react-router@6.23.1, react-router@^6.22.0: + version "6.23.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.23.1.tgz#d08cbdbd9d6aedc13eea6e94bc6d9b29cb1c4be9" + integrity sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ== + dependencies: + "@remix-run/router" "1.16.1" + +react-transition-group@^4.4.5: + version "4.4.5" + resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== + dependencies: + loose-envify "^1.1.0" + +reflect.getprototypeof@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz" + integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" + +remove-accents@^0.4.2: + version "0.4.4" + resolved "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.4.tgz" + integrity sha512-EpFcOa/ISetVHEXqu+VwI96KZBmq+a8LJnGkaeFw45epGlxIZz5dhEEnNZMsQXgORu3qaMoLX4qJCzOik6ytAg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.19.0: + version "1.22.6" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz" + integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup@^4.13.0: + version "4.18.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.18.0.tgz#497f60f0c5308e4602cf41136339fbf87d5f5dda" + integrity sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.18.0" + "@rollup/rollup-android-arm64" "4.18.0" + "@rollup/rollup-darwin-arm64" "4.18.0" + "@rollup/rollup-darwin-x64" "4.18.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.18.0" + "@rollup/rollup-linux-arm-musleabihf" "4.18.0" + "@rollup/rollup-linux-arm64-gnu" "4.18.0" + "@rollup/rollup-linux-arm64-musl" "4.18.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.18.0" + "@rollup/rollup-linux-riscv64-gnu" "4.18.0" + "@rollup/rollup-linux-s390x-gnu" "4.18.0" + "@rollup/rollup-linux-x64-gnu" "4.18.0" + "@rollup/rollup-linux-x64-musl" "4.18.0" + "@rollup/rollup-win32-arm64-msvc" "4.18.0" + "@rollup/rollup-win32-ia32-msvc" "4.18.0" + "@rollup/rollup-win32-x64-msvc" "4.18.0" + fsevents "~2.3.2" + +rope-sequence@^1.3.0: + version "1.3.4" + resolved "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz" + integrity sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-array-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz" + integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== + dependencies: + loose-envify "^1.1.0" + +semver@^6.0.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.7: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +set-function-name@^2.0.0, set-function-name@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string.prototype.matchall@^4.0.8: + version "4.0.10" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz" + integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + regexp.prototype.flags "^1.5.0" + set-function-name "^2.0.0" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.6, string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-outer@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz" + integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== + dependencies: + escape-string-regexp "^1.0.2" + +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throttle-debounce@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz" + integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== + +tippy.js@^6.3.7: + version "6.3.7" + resolved "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz" + integrity sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ== + dependencies: + "@popperjs/core" "^2.9.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz" + integrity sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg== + dependencies: + escape-string-regexp "^1.0.2" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.4.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^2.19.0: + version "2.19.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typescript@^5.5.2: + version "5.5.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.2.tgz#c26f023cb0054e657ce04f72583ea2d85f8d0507" + integrity sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew== + +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +update-browserslist-db@^1.0.16: + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.1" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +use-debounce@^9.0.4: + version "9.0.4" + resolved "https://registry.npmjs.org/use-debounce/-/use-debounce-9.0.4.tgz" + integrity sha512-6X8H/mikbrt0XE8e+JXRtZ8yYVvKkdYRfmIhWZYsP8rcNs9hk3APV8Ua2mFkKRLcJKVdnX2/Vwrmg2GWKUQEaQ== + +vite@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.1.tgz#bb2ca6b5fd7483249d3e86b25026e27ba8a663e6" + integrity sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ== + dependencies: + esbuild "^0.21.3" + postcss "^8.4.38" + rollup "^4.13.0" + optionalDependencies: + fsevents "~2.3.3" + +w3c-keyname@^2.2.0: + version "2.2.8" + resolved "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz" + integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== + +warning@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-builtin-type@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz" + integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + dependencies: + function.prototype.name "^1.1.5" + has-tostringtag "^1.0.0" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-typed-array@^1.1.11, which-typed-array@^1.1.9: + version "1.1.11" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz" + integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==