├── .DS_Store ├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .idea ├── .gitignore ├── jsLibraryMappings.xml ├── masonite-broadcast-client.iml ├── modules.xml └── vcs.xml ├── LICENSE ├── README.md ├── example └── index.html ├── global.d.ts ├── package-lock.json ├── package.json ├── src ├── app.ts ├── channels │ └── socket-channel.ts └── types.d.ts ├── tsconfig.json └── yarn.lock /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/py-package/masonite-broadcast-client/7fce22b92c3a2b6806ae650c78e266e5d254e66e/.DS_Store -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | -------------------------------------------------------------------------------- /.idea/jsLibraryMappings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/masonite-broadcast-client.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | Copyright (c) 2022 Yubaraj Shrestha 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | The above copyright notice and this permission notice shall be included in all 10 | copies or substantial portions of the Software. 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | SOFTWARE. 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Masonite Broadcast Client (WIP) 2 | 3 |

4 | 5 |

6 | 7 | 8 | > This is a library providing client side support for the Masonite broadcast driver. 9 | 10 | **Masonite Broadcast Server and Client Library** 11 | - [x] [Broadcast Driver - Backend](https://github.com/py-package/masonite-socketio-driver) 12 | - [x] [Broadcast Server](https://github.com/py-package/masonite-broadcast-server) 13 | 14 | 15 |

16 | Version 17 | Issues 18 | GitHub release (latest by date including pre-releases) 19 | License 20 | star 21 | downloads 22 |

23 | 24 | **Installation** 25 | 26 | ```sh 27 | $ npm install masonite-broadcast-client socket.io-client 28 | $ yarn add masonite-broadcast-client socket.io-client 29 | ``` 30 | 31 | **Example** 32 | 33 | ```js 34 | /** Connection */ 35 | 36 | window.io = require("socket.io-client"); 37 | const MasoniteBroadcastClient = require("masonite-broadcast-client"); 38 | 39 | const broadcast = new MasoniteBroadcastClient({ 40 | url: "http://localhost:3000", 41 | broadcastUrl: "http://localhost:8000/broadcast/auth" // optional 42 | }); 43 | 44 | broadcast.onUserConnected(user => { 45 | console.log(`${user.userID} connected`); 46 | }); 47 | ``` 48 | ```js 49 | /** You can add an extra value in session */ 50 | 51 | broadcast.setExtra("value", (user) => { // value here must not be complex data types 52 | console.log(user); 53 | }) 54 | ``` 55 | ```js 56 | /** Subscribe to channel */ 57 | 58 | const subscription = broadcast.subscribe("chat"); 59 | ``` 60 | ```js 61 | /** Broadcast to all */ 62 | 63 | subscription.emit("your-event", your_data_here) 64 | ``` 65 | ```js 66 | /** Broadcast to all except the sender */ 67 | 68 | subscription.broadcast("your-event", your_data_here); 69 | ``` 70 | ```js 71 | /** Listen for events */ 72 | 73 | subscription.listen('message', (data) => { 74 | console.log(data); 75 | }).listen('your-event', (data) => { 76 | console.log(data); 77 | }); 78 | ``` -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Document 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 |
17 | 18 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /global.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/py-package/masonite-broadcast-client/7fce22b92c3a2b6806ae650c78e266e5d254e66e/global.d.ts -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "masonite-broadcast-client", 3 | "version": "2.0.13", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "masonite-broadcast-client", 9 | "version": "2.0.13", 10 | "license": "MIT", 11 | "dependencies": { 12 | "esbuild": "^0.14.41", 13 | "socket.io-client": "^4.5.1" 14 | }, 15 | "devDependencies": { 16 | "eslint": "^8.21.0" 17 | } 18 | }, 19 | "node_modules/@aashutoshrathi/word-wrap": { 20 | "version": "1.2.6", 21 | "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", 22 | "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", 23 | "dev": true, 24 | "engines": { 25 | "node": ">=0.10.0" 26 | } 27 | }, 28 | "node_modules/@esbuild/linux-loong64": { 29 | "version": "0.14.54", 30 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", 31 | "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", 32 | "cpu": [ 33 | "loong64" 34 | ], 35 | "optional": true, 36 | "os": [ 37 | "linux" 38 | ], 39 | "engines": { 40 | "node": ">=12" 41 | } 42 | }, 43 | "node_modules/@eslint-community/eslint-utils": { 44 | "version": "4.4.0", 45 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", 46 | "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", 47 | "dev": true, 48 | "dependencies": { 49 | "eslint-visitor-keys": "^3.3.0" 50 | }, 51 | "engines": { 52 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 53 | }, 54 | "peerDependencies": { 55 | "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 56 | } 57 | }, 58 | "node_modules/@eslint-community/regexpp": { 59 | "version": "4.10.0", 60 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", 61 | "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", 62 | "dev": true, 63 | "engines": { 64 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 65 | } 66 | }, 67 | "node_modules/@eslint/eslintrc": { 68 | "version": "2.1.4", 69 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", 70 | "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", 71 | "dev": true, 72 | "dependencies": { 73 | "ajv": "^6.12.4", 74 | "debug": "^4.3.2", 75 | "espree": "^9.6.0", 76 | "globals": "^13.19.0", 77 | "ignore": "^5.2.0", 78 | "import-fresh": "^3.2.1", 79 | "js-yaml": "^4.1.0", 80 | "minimatch": "^3.1.2", 81 | "strip-json-comments": "^3.1.1" 82 | }, 83 | "engines": { 84 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 85 | }, 86 | "funding": { 87 | "url": "https://opencollective.com/eslint" 88 | } 89 | }, 90 | "node_modules/@eslint/js": { 91 | "version": "8.57.0", 92 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", 93 | "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", 94 | "dev": true, 95 | "engines": { 96 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 97 | } 98 | }, 99 | "node_modules/@humanwhocodes/config-array": { 100 | "version": "0.11.14", 101 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", 102 | "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", 103 | "dev": true, 104 | "dependencies": { 105 | "@humanwhocodes/object-schema": "^2.0.2", 106 | "debug": "^4.3.1", 107 | "minimatch": "^3.0.5" 108 | }, 109 | "engines": { 110 | "node": ">=10.10.0" 111 | } 112 | }, 113 | "node_modules/@humanwhocodes/module-importer": { 114 | "version": "1.0.1", 115 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 116 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 117 | "dev": true, 118 | "engines": { 119 | "node": ">=12.22" 120 | }, 121 | "funding": { 122 | "type": "github", 123 | "url": "https://github.com/sponsors/nzakas" 124 | } 125 | }, 126 | "node_modules/@humanwhocodes/object-schema": { 127 | "version": "2.0.2", 128 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", 129 | "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", 130 | "dev": true 131 | }, 132 | "node_modules/@nodelib/fs.scandir": { 133 | "version": "2.1.5", 134 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 135 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 136 | "dev": true, 137 | "dependencies": { 138 | "@nodelib/fs.stat": "2.0.5", 139 | "run-parallel": "^1.1.9" 140 | }, 141 | "engines": { 142 | "node": ">= 8" 143 | } 144 | }, 145 | "node_modules/@nodelib/fs.stat": { 146 | "version": "2.0.5", 147 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 148 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 149 | "dev": true, 150 | "engines": { 151 | "node": ">= 8" 152 | } 153 | }, 154 | "node_modules/@nodelib/fs.walk": { 155 | "version": "1.2.8", 156 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 157 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 158 | "dev": true, 159 | "dependencies": { 160 | "@nodelib/fs.scandir": "2.1.5", 161 | "fastq": "^1.6.0" 162 | }, 163 | "engines": { 164 | "node": ">= 8" 165 | } 166 | }, 167 | "node_modules/@socket.io/component-emitter": { 168 | "version": "3.1.0", 169 | "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", 170 | "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" 171 | }, 172 | "node_modules/@ungap/structured-clone": { 173 | "version": "1.2.0", 174 | "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", 175 | "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", 176 | "dev": true 177 | }, 178 | "node_modules/acorn": { 179 | "version": "8.11.3", 180 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", 181 | "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", 182 | "dev": true, 183 | "bin": { 184 | "acorn": "bin/acorn" 185 | }, 186 | "engines": { 187 | "node": ">=0.4.0" 188 | } 189 | }, 190 | "node_modules/acorn-jsx": { 191 | "version": "5.3.2", 192 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 193 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 194 | "dev": true, 195 | "peerDependencies": { 196 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 197 | } 198 | }, 199 | "node_modules/ajv": { 200 | "version": "6.12.6", 201 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 202 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 203 | "dev": true, 204 | "dependencies": { 205 | "fast-deep-equal": "^3.1.1", 206 | "fast-json-stable-stringify": "^2.0.0", 207 | "json-schema-traverse": "^0.4.1", 208 | "uri-js": "^4.2.2" 209 | }, 210 | "funding": { 211 | "type": "github", 212 | "url": "https://github.com/sponsors/epoberezkin" 213 | } 214 | }, 215 | "node_modules/ansi-regex": { 216 | "version": "5.0.1", 217 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 218 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 219 | "dev": true, 220 | "engines": { 221 | "node": ">=8" 222 | } 223 | }, 224 | "node_modules/ansi-styles": { 225 | "version": "4.3.0", 226 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 227 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 228 | "dev": true, 229 | "dependencies": { 230 | "color-convert": "^2.0.1" 231 | }, 232 | "engines": { 233 | "node": ">=8" 234 | }, 235 | "funding": { 236 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 237 | } 238 | }, 239 | "node_modules/argparse": { 240 | "version": "2.0.1", 241 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 242 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 243 | "dev": true 244 | }, 245 | "node_modules/balanced-match": { 246 | "version": "1.0.2", 247 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 248 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 249 | "dev": true 250 | }, 251 | "node_modules/brace-expansion": { 252 | "version": "1.1.11", 253 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 254 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 255 | "dev": true, 256 | "dependencies": { 257 | "balanced-match": "^1.0.0", 258 | "concat-map": "0.0.1" 259 | } 260 | }, 261 | "node_modules/callsites": { 262 | "version": "3.1.0", 263 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 264 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 265 | "dev": true, 266 | "engines": { 267 | "node": ">=6" 268 | } 269 | }, 270 | "node_modules/chalk": { 271 | "version": "4.1.2", 272 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 273 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 274 | "dev": true, 275 | "dependencies": { 276 | "ansi-styles": "^4.1.0", 277 | "supports-color": "^7.1.0" 278 | }, 279 | "engines": { 280 | "node": ">=10" 281 | }, 282 | "funding": { 283 | "url": "https://github.com/chalk/chalk?sponsor=1" 284 | } 285 | }, 286 | "node_modules/color-convert": { 287 | "version": "2.0.1", 288 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 289 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 290 | "dev": true, 291 | "dependencies": { 292 | "color-name": "~1.1.4" 293 | }, 294 | "engines": { 295 | "node": ">=7.0.0" 296 | } 297 | }, 298 | "node_modules/color-name": { 299 | "version": "1.1.4", 300 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 301 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 302 | "dev": true 303 | }, 304 | "node_modules/concat-map": { 305 | "version": "0.0.1", 306 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 307 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 308 | "dev": true 309 | }, 310 | "node_modules/cross-spawn": { 311 | "version": "7.0.3", 312 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 313 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 314 | "dev": true, 315 | "dependencies": { 316 | "path-key": "^3.1.0", 317 | "shebang-command": "^2.0.0", 318 | "which": "^2.0.1" 319 | }, 320 | "engines": { 321 | "node": ">= 8" 322 | } 323 | }, 324 | "node_modules/debug": { 325 | "version": "4.3.4", 326 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 327 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 328 | "license": "MIT", 329 | "dependencies": { 330 | "ms": "2.1.2" 331 | }, 332 | "engines": { 333 | "node": ">=6.0" 334 | }, 335 | "peerDependenciesMeta": { 336 | "supports-color": { 337 | "optional": true 338 | } 339 | } 340 | }, 341 | "node_modules/deep-is": { 342 | "version": "0.1.4", 343 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 344 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 345 | "dev": true 346 | }, 347 | "node_modules/doctrine": { 348 | "version": "3.0.0", 349 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 350 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 351 | "dev": true, 352 | "dependencies": { 353 | "esutils": "^2.0.2" 354 | }, 355 | "engines": { 356 | "node": ">=6.0.0" 357 | } 358 | }, 359 | "node_modules/engine.io-client": { 360 | "version": "6.5.3", 361 | "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz", 362 | "integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==", 363 | "dependencies": { 364 | "@socket.io/component-emitter": "~3.1.0", 365 | "debug": "~4.3.1", 366 | "engine.io-parser": "~5.2.1", 367 | "ws": "~8.11.0", 368 | "xmlhttprequest-ssl": "~2.0.0" 369 | } 370 | }, 371 | "node_modules/engine.io-parser": { 372 | "version": "5.2.2", 373 | "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", 374 | "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", 375 | "engines": { 376 | "node": ">=10.0.0" 377 | } 378 | }, 379 | "node_modules/esbuild": { 380 | "version": "0.14.54", 381 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", 382 | "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", 383 | "hasInstallScript": true, 384 | "bin": { 385 | "esbuild": "bin/esbuild" 386 | }, 387 | "engines": { 388 | "node": ">=12" 389 | }, 390 | "optionalDependencies": { 391 | "@esbuild/linux-loong64": "0.14.54", 392 | "esbuild-android-64": "0.14.54", 393 | "esbuild-android-arm64": "0.14.54", 394 | "esbuild-darwin-64": "0.14.54", 395 | "esbuild-darwin-arm64": "0.14.54", 396 | "esbuild-freebsd-64": "0.14.54", 397 | "esbuild-freebsd-arm64": "0.14.54", 398 | "esbuild-linux-32": "0.14.54", 399 | "esbuild-linux-64": "0.14.54", 400 | "esbuild-linux-arm": "0.14.54", 401 | "esbuild-linux-arm64": "0.14.54", 402 | "esbuild-linux-mips64le": "0.14.54", 403 | "esbuild-linux-ppc64le": "0.14.54", 404 | "esbuild-linux-riscv64": "0.14.54", 405 | "esbuild-linux-s390x": "0.14.54", 406 | "esbuild-netbsd-64": "0.14.54", 407 | "esbuild-openbsd-64": "0.14.54", 408 | "esbuild-sunos-64": "0.14.54", 409 | "esbuild-windows-32": "0.14.54", 410 | "esbuild-windows-64": "0.14.54", 411 | "esbuild-windows-arm64": "0.14.54" 412 | } 413 | }, 414 | "node_modules/esbuild-android-64": { 415 | "version": "0.14.54", 416 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", 417 | "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", 418 | "cpu": [ 419 | "x64" 420 | ], 421 | "optional": true, 422 | "os": [ 423 | "android" 424 | ], 425 | "engines": { 426 | "node": ">=12" 427 | } 428 | }, 429 | "node_modules/esbuild-android-arm64": { 430 | "version": "0.14.54", 431 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", 432 | "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", 433 | "cpu": [ 434 | "arm64" 435 | ], 436 | "optional": true, 437 | "os": [ 438 | "android" 439 | ], 440 | "engines": { 441 | "node": ">=12" 442 | } 443 | }, 444 | "node_modules/esbuild-darwin-64": { 445 | "version": "0.14.54", 446 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", 447 | "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", 448 | "cpu": [ 449 | "x64" 450 | ], 451 | "optional": true, 452 | "os": [ 453 | "darwin" 454 | ], 455 | "engines": { 456 | "node": ">=12" 457 | } 458 | }, 459 | "node_modules/esbuild-darwin-arm64": { 460 | "version": "0.14.54", 461 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", 462 | "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", 463 | "cpu": [ 464 | "arm64" 465 | ], 466 | "optional": true, 467 | "os": [ 468 | "darwin" 469 | ], 470 | "engines": { 471 | "node": ">=12" 472 | } 473 | }, 474 | "node_modules/esbuild-freebsd-64": { 475 | "version": "0.14.54", 476 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", 477 | "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", 478 | "cpu": [ 479 | "x64" 480 | ], 481 | "optional": true, 482 | "os": [ 483 | "freebsd" 484 | ], 485 | "engines": { 486 | "node": ">=12" 487 | } 488 | }, 489 | "node_modules/esbuild-freebsd-arm64": { 490 | "version": "0.14.54", 491 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", 492 | "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", 493 | "cpu": [ 494 | "arm64" 495 | ], 496 | "optional": true, 497 | "os": [ 498 | "freebsd" 499 | ], 500 | "engines": { 501 | "node": ">=12" 502 | } 503 | }, 504 | "node_modules/esbuild-linux-32": { 505 | "version": "0.14.54", 506 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", 507 | "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", 508 | "cpu": [ 509 | "ia32" 510 | ], 511 | "optional": true, 512 | "os": [ 513 | "linux" 514 | ], 515 | "engines": { 516 | "node": ">=12" 517 | } 518 | }, 519 | "node_modules/esbuild-linux-64": { 520 | "version": "0.14.54", 521 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", 522 | "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", 523 | "cpu": [ 524 | "x64" 525 | ], 526 | "optional": true, 527 | "os": [ 528 | "linux" 529 | ], 530 | "engines": { 531 | "node": ">=12" 532 | } 533 | }, 534 | "node_modules/esbuild-linux-arm": { 535 | "version": "0.14.54", 536 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", 537 | "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", 538 | "cpu": [ 539 | "arm" 540 | ], 541 | "optional": true, 542 | "os": [ 543 | "linux" 544 | ], 545 | "engines": { 546 | "node": ">=12" 547 | } 548 | }, 549 | "node_modules/esbuild-linux-arm64": { 550 | "version": "0.14.54", 551 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", 552 | "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", 553 | "cpu": [ 554 | "arm64" 555 | ], 556 | "optional": true, 557 | "os": [ 558 | "linux" 559 | ], 560 | "engines": { 561 | "node": ">=12" 562 | } 563 | }, 564 | "node_modules/esbuild-linux-mips64le": { 565 | "version": "0.14.54", 566 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", 567 | "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", 568 | "cpu": [ 569 | "mips64el" 570 | ], 571 | "optional": true, 572 | "os": [ 573 | "linux" 574 | ], 575 | "engines": { 576 | "node": ">=12" 577 | } 578 | }, 579 | "node_modules/esbuild-linux-ppc64le": { 580 | "version": "0.14.54", 581 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", 582 | "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", 583 | "cpu": [ 584 | "ppc64" 585 | ], 586 | "optional": true, 587 | "os": [ 588 | "linux" 589 | ], 590 | "engines": { 591 | "node": ">=12" 592 | } 593 | }, 594 | "node_modules/esbuild-linux-riscv64": { 595 | "version": "0.14.54", 596 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", 597 | "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", 598 | "cpu": [ 599 | "riscv64" 600 | ], 601 | "optional": true, 602 | "os": [ 603 | "linux" 604 | ], 605 | "engines": { 606 | "node": ">=12" 607 | } 608 | }, 609 | "node_modules/esbuild-linux-s390x": { 610 | "version": "0.14.54", 611 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", 612 | "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", 613 | "cpu": [ 614 | "s390x" 615 | ], 616 | "optional": true, 617 | "os": [ 618 | "linux" 619 | ], 620 | "engines": { 621 | "node": ">=12" 622 | } 623 | }, 624 | "node_modules/esbuild-netbsd-64": { 625 | "version": "0.14.54", 626 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", 627 | "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", 628 | "cpu": [ 629 | "x64" 630 | ], 631 | "optional": true, 632 | "os": [ 633 | "netbsd" 634 | ], 635 | "engines": { 636 | "node": ">=12" 637 | } 638 | }, 639 | "node_modules/esbuild-openbsd-64": { 640 | "version": "0.14.54", 641 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", 642 | "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", 643 | "cpu": [ 644 | "x64" 645 | ], 646 | "optional": true, 647 | "os": [ 648 | "openbsd" 649 | ], 650 | "engines": { 651 | "node": ">=12" 652 | } 653 | }, 654 | "node_modules/esbuild-sunos-64": { 655 | "version": "0.14.54", 656 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", 657 | "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", 658 | "cpu": [ 659 | "x64" 660 | ], 661 | "optional": true, 662 | "os": [ 663 | "sunos" 664 | ], 665 | "engines": { 666 | "node": ">=12" 667 | } 668 | }, 669 | "node_modules/esbuild-windows-32": { 670 | "version": "0.14.54", 671 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", 672 | "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", 673 | "cpu": [ 674 | "ia32" 675 | ], 676 | "optional": true, 677 | "os": [ 678 | "win32" 679 | ], 680 | "engines": { 681 | "node": ">=12" 682 | } 683 | }, 684 | "node_modules/esbuild-windows-64": { 685 | "version": "0.14.54", 686 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", 687 | "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", 688 | "cpu": [ 689 | "x64" 690 | ], 691 | "optional": true, 692 | "os": [ 693 | "win32" 694 | ], 695 | "engines": { 696 | "node": ">=12" 697 | } 698 | }, 699 | "node_modules/esbuild-windows-arm64": { 700 | "version": "0.14.54", 701 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", 702 | "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", 703 | "cpu": [ 704 | "arm64" 705 | ], 706 | "optional": true, 707 | "os": [ 708 | "win32" 709 | ], 710 | "engines": { 711 | "node": ">=12" 712 | } 713 | }, 714 | "node_modules/escape-string-regexp": { 715 | "version": "4.0.0", 716 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 717 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 718 | "dev": true, 719 | "engines": { 720 | "node": ">=10" 721 | }, 722 | "funding": { 723 | "url": "https://github.com/sponsors/sindresorhus" 724 | } 725 | }, 726 | "node_modules/eslint": { 727 | "version": "8.57.0", 728 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", 729 | "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", 730 | "dev": true, 731 | "dependencies": { 732 | "@eslint-community/eslint-utils": "^4.2.0", 733 | "@eslint-community/regexpp": "^4.6.1", 734 | "@eslint/eslintrc": "^2.1.4", 735 | "@eslint/js": "8.57.0", 736 | "@humanwhocodes/config-array": "^0.11.14", 737 | "@humanwhocodes/module-importer": "^1.0.1", 738 | "@nodelib/fs.walk": "^1.2.8", 739 | "@ungap/structured-clone": "^1.2.0", 740 | "ajv": "^6.12.4", 741 | "chalk": "^4.0.0", 742 | "cross-spawn": "^7.0.2", 743 | "debug": "^4.3.2", 744 | "doctrine": "^3.0.0", 745 | "escape-string-regexp": "^4.0.0", 746 | "eslint-scope": "^7.2.2", 747 | "eslint-visitor-keys": "^3.4.3", 748 | "espree": "^9.6.1", 749 | "esquery": "^1.4.2", 750 | "esutils": "^2.0.2", 751 | "fast-deep-equal": "^3.1.3", 752 | "file-entry-cache": "^6.0.1", 753 | "find-up": "^5.0.0", 754 | "glob-parent": "^6.0.2", 755 | "globals": "^13.19.0", 756 | "graphemer": "^1.4.0", 757 | "ignore": "^5.2.0", 758 | "imurmurhash": "^0.1.4", 759 | "is-glob": "^4.0.0", 760 | "is-path-inside": "^3.0.3", 761 | "js-yaml": "^4.1.0", 762 | "json-stable-stringify-without-jsonify": "^1.0.1", 763 | "levn": "^0.4.1", 764 | "lodash.merge": "^4.6.2", 765 | "minimatch": "^3.1.2", 766 | "natural-compare": "^1.4.0", 767 | "optionator": "^0.9.3", 768 | "strip-ansi": "^6.0.1", 769 | "text-table": "^0.2.0" 770 | }, 771 | "bin": { 772 | "eslint": "bin/eslint.js" 773 | }, 774 | "engines": { 775 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 776 | }, 777 | "funding": { 778 | "url": "https://opencollective.com/eslint" 779 | } 780 | }, 781 | "node_modules/eslint-scope": { 782 | "version": "7.2.2", 783 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", 784 | "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", 785 | "dev": true, 786 | "dependencies": { 787 | "esrecurse": "^4.3.0", 788 | "estraverse": "^5.2.0" 789 | }, 790 | "engines": { 791 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 792 | }, 793 | "funding": { 794 | "url": "https://opencollective.com/eslint" 795 | } 796 | }, 797 | "node_modules/eslint-visitor-keys": { 798 | "version": "3.4.3", 799 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 800 | "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 801 | "dev": true, 802 | "engines": { 803 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 804 | }, 805 | "funding": { 806 | "url": "https://opencollective.com/eslint" 807 | } 808 | }, 809 | "node_modules/espree": { 810 | "version": "9.6.1", 811 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", 812 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", 813 | "dev": true, 814 | "dependencies": { 815 | "acorn": "^8.9.0", 816 | "acorn-jsx": "^5.3.2", 817 | "eslint-visitor-keys": "^3.4.1" 818 | }, 819 | "engines": { 820 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 821 | }, 822 | "funding": { 823 | "url": "https://opencollective.com/eslint" 824 | } 825 | }, 826 | "node_modules/esquery": { 827 | "version": "1.5.0", 828 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", 829 | "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", 830 | "dev": true, 831 | "dependencies": { 832 | "estraverse": "^5.1.0" 833 | }, 834 | "engines": { 835 | "node": ">=0.10" 836 | } 837 | }, 838 | "node_modules/esrecurse": { 839 | "version": "4.3.0", 840 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 841 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 842 | "dev": true, 843 | "dependencies": { 844 | "estraverse": "^5.2.0" 845 | }, 846 | "engines": { 847 | "node": ">=4.0" 848 | } 849 | }, 850 | "node_modules/estraverse": { 851 | "version": "5.3.0", 852 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 853 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 854 | "dev": true, 855 | "engines": { 856 | "node": ">=4.0" 857 | } 858 | }, 859 | "node_modules/esutils": { 860 | "version": "2.0.3", 861 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 862 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 863 | "dev": true, 864 | "engines": { 865 | "node": ">=0.10.0" 866 | } 867 | }, 868 | "node_modules/fast-deep-equal": { 869 | "version": "3.1.3", 870 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 871 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 872 | "dev": true 873 | }, 874 | "node_modules/fast-json-stable-stringify": { 875 | "version": "2.1.0", 876 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 877 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 878 | "dev": true 879 | }, 880 | "node_modules/fast-levenshtein": { 881 | "version": "2.0.6", 882 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 883 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 884 | "dev": true 885 | }, 886 | "node_modules/fastq": { 887 | "version": "1.17.1", 888 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 889 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 890 | "dev": true, 891 | "dependencies": { 892 | "reusify": "^1.0.4" 893 | } 894 | }, 895 | "node_modules/file-entry-cache": { 896 | "version": "6.0.1", 897 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 898 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 899 | "dev": true, 900 | "dependencies": { 901 | "flat-cache": "^3.0.4" 902 | }, 903 | "engines": { 904 | "node": "^10.12.0 || >=12.0.0" 905 | } 906 | }, 907 | "node_modules/find-up": { 908 | "version": "5.0.0", 909 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 910 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 911 | "dev": true, 912 | "dependencies": { 913 | "locate-path": "^6.0.0", 914 | "path-exists": "^4.0.0" 915 | }, 916 | "engines": { 917 | "node": ">=10" 918 | }, 919 | "funding": { 920 | "url": "https://github.com/sponsors/sindresorhus" 921 | } 922 | }, 923 | "node_modules/flat-cache": { 924 | "version": "3.0.4", 925 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 926 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 927 | "dev": true, 928 | "dependencies": { 929 | "flatted": "^3.1.0", 930 | "rimraf": "^3.0.2" 931 | }, 932 | "engines": { 933 | "node": "^10.12.0 || >=12.0.0" 934 | } 935 | }, 936 | "node_modules/flatted": { 937 | "version": "3.2.6", 938 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", 939 | "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", 940 | "dev": true 941 | }, 942 | "node_modules/fs.realpath": { 943 | "version": "1.0.0", 944 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 945 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 946 | "dev": true 947 | }, 948 | "node_modules/glob": { 949 | "version": "7.2.3", 950 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 951 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 952 | "dev": true, 953 | "dependencies": { 954 | "fs.realpath": "^1.0.0", 955 | "inflight": "^1.0.4", 956 | "inherits": "2", 957 | "minimatch": "^3.1.1", 958 | "once": "^1.3.0", 959 | "path-is-absolute": "^1.0.0" 960 | }, 961 | "engines": { 962 | "node": "*" 963 | }, 964 | "funding": { 965 | "url": "https://github.com/sponsors/isaacs" 966 | } 967 | }, 968 | "node_modules/glob-parent": { 969 | "version": "6.0.2", 970 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 971 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 972 | "dev": true, 973 | "dependencies": { 974 | "is-glob": "^4.0.3" 975 | }, 976 | "engines": { 977 | "node": ">=10.13.0" 978 | } 979 | }, 980 | "node_modules/globals": { 981 | "version": "13.24.0", 982 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", 983 | "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", 984 | "dev": true, 985 | "dependencies": { 986 | "type-fest": "^0.20.2" 987 | }, 988 | "engines": { 989 | "node": ">=8" 990 | }, 991 | "funding": { 992 | "url": "https://github.com/sponsors/sindresorhus" 993 | } 994 | }, 995 | "node_modules/graphemer": { 996 | "version": "1.4.0", 997 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 998 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 999 | "dev": true 1000 | }, 1001 | "node_modules/has-flag": { 1002 | "version": "4.0.0", 1003 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1004 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1005 | "dev": true, 1006 | "engines": { 1007 | "node": ">=8" 1008 | } 1009 | }, 1010 | "node_modules/ignore": { 1011 | "version": "5.3.1", 1012 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", 1013 | "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", 1014 | "dev": true, 1015 | "engines": { 1016 | "node": ">= 4" 1017 | } 1018 | }, 1019 | "node_modules/import-fresh": { 1020 | "version": "3.3.0", 1021 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1022 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1023 | "dev": true, 1024 | "dependencies": { 1025 | "parent-module": "^1.0.0", 1026 | "resolve-from": "^4.0.0" 1027 | }, 1028 | "engines": { 1029 | "node": ">=6" 1030 | }, 1031 | "funding": { 1032 | "url": "https://github.com/sponsors/sindresorhus" 1033 | } 1034 | }, 1035 | "node_modules/imurmurhash": { 1036 | "version": "0.1.4", 1037 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1038 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1039 | "dev": true, 1040 | "engines": { 1041 | "node": ">=0.8.19" 1042 | } 1043 | }, 1044 | "node_modules/inflight": { 1045 | "version": "1.0.6", 1046 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1047 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1048 | "dev": true, 1049 | "dependencies": { 1050 | "once": "^1.3.0", 1051 | "wrappy": "1" 1052 | } 1053 | }, 1054 | "node_modules/inherits": { 1055 | "version": "2.0.4", 1056 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1057 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1058 | "dev": true 1059 | }, 1060 | "node_modules/is-extglob": { 1061 | "version": "2.1.1", 1062 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1063 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1064 | "dev": true, 1065 | "engines": { 1066 | "node": ">=0.10.0" 1067 | } 1068 | }, 1069 | "node_modules/is-glob": { 1070 | "version": "4.0.3", 1071 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1072 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1073 | "dev": true, 1074 | "dependencies": { 1075 | "is-extglob": "^2.1.1" 1076 | }, 1077 | "engines": { 1078 | "node": ">=0.10.0" 1079 | } 1080 | }, 1081 | "node_modules/is-path-inside": { 1082 | "version": "3.0.3", 1083 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 1084 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 1085 | "dev": true, 1086 | "engines": { 1087 | "node": ">=8" 1088 | } 1089 | }, 1090 | "node_modules/isexe": { 1091 | "version": "2.0.0", 1092 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1093 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1094 | "dev": true 1095 | }, 1096 | "node_modules/js-yaml": { 1097 | "version": "4.1.0", 1098 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1099 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1100 | "dev": true, 1101 | "dependencies": { 1102 | "argparse": "^2.0.1" 1103 | }, 1104 | "bin": { 1105 | "js-yaml": "bin/js-yaml.js" 1106 | } 1107 | }, 1108 | "node_modules/json-schema-traverse": { 1109 | "version": "0.4.1", 1110 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1111 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1112 | "dev": true 1113 | }, 1114 | "node_modules/json-stable-stringify-without-jsonify": { 1115 | "version": "1.0.1", 1116 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1117 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 1118 | "dev": true 1119 | }, 1120 | "node_modules/levn": { 1121 | "version": "0.4.1", 1122 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1123 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1124 | "dev": true, 1125 | "dependencies": { 1126 | "prelude-ls": "^1.2.1", 1127 | "type-check": "~0.4.0" 1128 | }, 1129 | "engines": { 1130 | "node": ">= 0.8.0" 1131 | } 1132 | }, 1133 | "node_modules/locate-path": { 1134 | "version": "6.0.0", 1135 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 1136 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 1137 | "dev": true, 1138 | "dependencies": { 1139 | "p-locate": "^5.0.0" 1140 | }, 1141 | "engines": { 1142 | "node": ">=10" 1143 | }, 1144 | "funding": { 1145 | "url": "https://github.com/sponsors/sindresorhus" 1146 | } 1147 | }, 1148 | "node_modules/lodash.merge": { 1149 | "version": "4.6.2", 1150 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1151 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1152 | "dev": true 1153 | }, 1154 | "node_modules/minimatch": { 1155 | "version": "3.1.2", 1156 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1157 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1158 | "dev": true, 1159 | "dependencies": { 1160 | "brace-expansion": "^1.1.7" 1161 | }, 1162 | "engines": { 1163 | "node": "*" 1164 | } 1165 | }, 1166 | "node_modules/ms": { 1167 | "version": "2.1.2", 1168 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1169 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1170 | "license": "MIT" 1171 | }, 1172 | "node_modules/natural-compare": { 1173 | "version": "1.4.0", 1174 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1175 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 1176 | "dev": true 1177 | }, 1178 | "node_modules/once": { 1179 | "version": "1.4.0", 1180 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1181 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1182 | "dev": true, 1183 | "dependencies": { 1184 | "wrappy": "1" 1185 | } 1186 | }, 1187 | "node_modules/optionator": { 1188 | "version": "0.9.3", 1189 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", 1190 | "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", 1191 | "dev": true, 1192 | "dependencies": { 1193 | "@aashutoshrathi/word-wrap": "^1.2.3", 1194 | "deep-is": "^0.1.3", 1195 | "fast-levenshtein": "^2.0.6", 1196 | "levn": "^0.4.1", 1197 | "prelude-ls": "^1.2.1", 1198 | "type-check": "^0.4.0" 1199 | }, 1200 | "engines": { 1201 | "node": ">= 0.8.0" 1202 | } 1203 | }, 1204 | "node_modules/p-limit": { 1205 | "version": "3.1.0", 1206 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 1207 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 1208 | "dev": true, 1209 | "dependencies": { 1210 | "yocto-queue": "^0.1.0" 1211 | }, 1212 | "engines": { 1213 | "node": ">=10" 1214 | }, 1215 | "funding": { 1216 | "url": "https://github.com/sponsors/sindresorhus" 1217 | } 1218 | }, 1219 | "node_modules/p-locate": { 1220 | "version": "5.0.0", 1221 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 1222 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 1223 | "dev": true, 1224 | "dependencies": { 1225 | "p-limit": "^3.0.2" 1226 | }, 1227 | "engines": { 1228 | "node": ">=10" 1229 | }, 1230 | "funding": { 1231 | "url": "https://github.com/sponsors/sindresorhus" 1232 | } 1233 | }, 1234 | "node_modules/parent-module": { 1235 | "version": "1.0.1", 1236 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1237 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1238 | "dev": true, 1239 | "dependencies": { 1240 | "callsites": "^3.0.0" 1241 | }, 1242 | "engines": { 1243 | "node": ">=6" 1244 | } 1245 | }, 1246 | "node_modules/path-exists": { 1247 | "version": "4.0.0", 1248 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1249 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1250 | "dev": true, 1251 | "engines": { 1252 | "node": ">=8" 1253 | } 1254 | }, 1255 | "node_modules/path-is-absolute": { 1256 | "version": "1.0.1", 1257 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1258 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1259 | "dev": true, 1260 | "engines": { 1261 | "node": ">=0.10.0" 1262 | } 1263 | }, 1264 | "node_modules/path-key": { 1265 | "version": "3.1.1", 1266 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1267 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1268 | "dev": true, 1269 | "engines": { 1270 | "node": ">=8" 1271 | } 1272 | }, 1273 | "node_modules/prelude-ls": { 1274 | "version": "1.2.1", 1275 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1276 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1277 | "dev": true, 1278 | "engines": { 1279 | "node": ">= 0.8.0" 1280 | } 1281 | }, 1282 | "node_modules/punycode": { 1283 | "version": "2.3.1", 1284 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 1285 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 1286 | "dev": true, 1287 | "engines": { 1288 | "node": ">=6" 1289 | } 1290 | }, 1291 | "node_modules/queue-microtask": { 1292 | "version": "1.2.3", 1293 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1294 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1295 | "dev": true, 1296 | "funding": [ 1297 | { 1298 | "type": "github", 1299 | "url": "https://github.com/sponsors/feross" 1300 | }, 1301 | { 1302 | "type": "patreon", 1303 | "url": "https://www.patreon.com/feross" 1304 | }, 1305 | { 1306 | "type": "consulting", 1307 | "url": "https://feross.org/support" 1308 | } 1309 | ] 1310 | }, 1311 | "node_modules/resolve-from": { 1312 | "version": "4.0.0", 1313 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1314 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1315 | "dev": true, 1316 | "engines": { 1317 | "node": ">=4" 1318 | } 1319 | }, 1320 | "node_modules/reusify": { 1321 | "version": "1.0.4", 1322 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1323 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1324 | "dev": true, 1325 | "engines": { 1326 | "iojs": ">=1.0.0", 1327 | "node": ">=0.10.0" 1328 | } 1329 | }, 1330 | "node_modules/rimraf": { 1331 | "version": "3.0.2", 1332 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1333 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1334 | "dev": true, 1335 | "dependencies": { 1336 | "glob": "^7.1.3" 1337 | }, 1338 | "bin": { 1339 | "rimraf": "bin.js" 1340 | }, 1341 | "funding": { 1342 | "url": "https://github.com/sponsors/isaacs" 1343 | } 1344 | }, 1345 | "node_modules/run-parallel": { 1346 | "version": "1.2.0", 1347 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1348 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1349 | "dev": true, 1350 | "funding": [ 1351 | { 1352 | "type": "github", 1353 | "url": "https://github.com/sponsors/feross" 1354 | }, 1355 | { 1356 | "type": "patreon", 1357 | "url": "https://www.patreon.com/feross" 1358 | }, 1359 | { 1360 | "type": "consulting", 1361 | "url": "https://feross.org/support" 1362 | } 1363 | ], 1364 | "dependencies": { 1365 | "queue-microtask": "^1.2.2" 1366 | } 1367 | }, 1368 | "node_modules/shebang-command": { 1369 | "version": "2.0.0", 1370 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1371 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1372 | "dev": true, 1373 | "dependencies": { 1374 | "shebang-regex": "^3.0.0" 1375 | }, 1376 | "engines": { 1377 | "node": ">=8" 1378 | } 1379 | }, 1380 | "node_modules/shebang-regex": { 1381 | "version": "3.0.0", 1382 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1383 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1384 | "dev": true, 1385 | "engines": { 1386 | "node": ">=8" 1387 | } 1388 | }, 1389 | "node_modules/socket.io-client": { 1390 | "version": "4.7.5", 1391 | "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", 1392 | "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", 1393 | "dependencies": { 1394 | "@socket.io/component-emitter": "~3.1.0", 1395 | "debug": "~4.3.2", 1396 | "engine.io-client": "~6.5.2", 1397 | "socket.io-parser": "~4.2.4" 1398 | }, 1399 | "engines": { 1400 | "node": ">=10.0.0" 1401 | } 1402 | }, 1403 | "node_modules/socket.io-parser": { 1404 | "version": "4.2.4", 1405 | "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", 1406 | "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", 1407 | "dependencies": { 1408 | "@socket.io/component-emitter": "~3.1.0", 1409 | "debug": "~4.3.1" 1410 | }, 1411 | "engines": { 1412 | "node": ">=10.0.0" 1413 | } 1414 | }, 1415 | "node_modules/strip-ansi": { 1416 | "version": "6.0.1", 1417 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1418 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1419 | "dev": true, 1420 | "dependencies": { 1421 | "ansi-regex": "^5.0.1" 1422 | }, 1423 | "engines": { 1424 | "node": ">=8" 1425 | } 1426 | }, 1427 | "node_modules/strip-json-comments": { 1428 | "version": "3.1.1", 1429 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1430 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1431 | "dev": true, 1432 | "engines": { 1433 | "node": ">=8" 1434 | }, 1435 | "funding": { 1436 | "url": "https://github.com/sponsors/sindresorhus" 1437 | } 1438 | }, 1439 | "node_modules/supports-color": { 1440 | "version": "7.2.0", 1441 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1442 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1443 | "dev": true, 1444 | "dependencies": { 1445 | "has-flag": "^4.0.0" 1446 | }, 1447 | "engines": { 1448 | "node": ">=8" 1449 | } 1450 | }, 1451 | "node_modules/text-table": { 1452 | "version": "0.2.0", 1453 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1454 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 1455 | "dev": true 1456 | }, 1457 | "node_modules/type-check": { 1458 | "version": "0.4.0", 1459 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 1460 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 1461 | "dev": true, 1462 | "dependencies": { 1463 | "prelude-ls": "^1.2.1" 1464 | }, 1465 | "engines": { 1466 | "node": ">= 0.8.0" 1467 | } 1468 | }, 1469 | "node_modules/type-fest": { 1470 | "version": "0.20.2", 1471 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 1472 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 1473 | "dev": true, 1474 | "engines": { 1475 | "node": ">=10" 1476 | }, 1477 | "funding": { 1478 | "url": "https://github.com/sponsors/sindresorhus" 1479 | } 1480 | }, 1481 | "node_modules/uri-js": { 1482 | "version": "4.4.1", 1483 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1484 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1485 | "dev": true, 1486 | "dependencies": { 1487 | "punycode": "^2.1.0" 1488 | } 1489 | }, 1490 | "node_modules/which": { 1491 | "version": "2.0.2", 1492 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1493 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1494 | "dev": true, 1495 | "dependencies": { 1496 | "isexe": "^2.0.0" 1497 | }, 1498 | "bin": { 1499 | "node-which": "bin/node-which" 1500 | }, 1501 | "engines": { 1502 | "node": ">= 8" 1503 | } 1504 | }, 1505 | "node_modules/wrappy": { 1506 | "version": "1.0.2", 1507 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1508 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1509 | "dev": true 1510 | }, 1511 | "node_modules/ws": { 1512 | "version": "8.11.0", 1513 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", 1514 | "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", 1515 | "engines": { 1516 | "node": ">=10.0.0" 1517 | }, 1518 | "peerDependencies": { 1519 | "bufferutil": "^4.0.1", 1520 | "utf-8-validate": "^5.0.2" 1521 | }, 1522 | "peerDependenciesMeta": { 1523 | "bufferutil": { 1524 | "optional": true 1525 | }, 1526 | "utf-8-validate": { 1527 | "optional": true 1528 | } 1529 | } 1530 | }, 1531 | "node_modules/xmlhttprequest-ssl": { 1532 | "version": "2.0.0", 1533 | "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", 1534 | "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", 1535 | "engines": { 1536 | "node": ">=0.4.0" 1537 | } 1538 | }, 1539 | "node_modules/yocto-queue": { 1540 | "version": "0.1.0", 1541 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 1542 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 1543 | "dev": true, 1544 | "engines": { 1545 | "node": ">=10" 1546 | }, 1547 | "funding": { 1548 | "url": "https://github.com/sponsors/sindresorhus" 1549 | } 1550 | } 1551 | }, 1552 | "dependencies": { 1553 | "@aashutoshrathi/word-wrap": { 1554 | "version": "1.2.6", 1555 | "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", 1556 | "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", 1557 | "dev": true 1558 | }, 1559 | "@esbuild/linux-loong64": { 1560 | "version": "0.14.54", 1561 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", 1562 | "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", 1563 | "optional": true 1564 | }, 1565 | "@eslint-community/eslint-utils": { 1566 | "version": "4.4.0", 1567 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", 1568 | "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", 1569 | "dev": true, 1570 | "requires": { 1571 | "eslint-visitor-keys": "^3.3.0" 1572 | } 1573 | }, 1574 | "@eslint-community/regexpp": { 1575 | "version": "4.10.0", 1576 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", 1577 | "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", 1578 | "dev": true 1579 | }, 1580 | "@eslint/eslintrc": { 1581 | "version": "2.1.4", 1582 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", 1583 | "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", 1584 | "dev": true, 1585 | "requires": { 1586 | "ajv": "^6.12.4", 1587 | "debug": "^4.3.2", 1588 | "espree": "^9.6.0", 1589 | "globals": "^13.19.0", 1590 | "ignore": "^5.2.0", 1591 | "import-fresh": "^3.2.1", 1592 | "js-yaml": "^4.1.0", 1593 | "minimatch": "^3.1.2", 1594 | "strip-json-comments": "^3.1.1" 1595 | } 1596 | }, 1597 | "@eslint/js": { 1598 | "version": "8.57.0", 1599 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", 1600 | "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", 1601 | "dev": true 1602 | }, 1603 | "@humanwhocodes/config-array": { 1604 | "version": "0.11.14", 1605 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", 1606 | "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", 1607 | "dev": true, 1608 | "requires": { 1609 | "@humanwhocodes/object-schema": "^2.0.2", 1610 | "debug": "^4.3.1", 1611 | "minimatch": "^3.0.5" 1612 | } 1613 | }, 1614 | "@humanwhocodes/module-importer": { 1615 | "version": "1.0.1", 1616 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 1617 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 1618 | "dev": true 1619 | }, 1620 | "@humanwhocodes/object-schema": { 1621 | "version": "2.0.2", 1622 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", 1623 | "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", 1624 | "dev": true 1625 | }, 1626 | "@nodelib/fs.scandir": { 1627 | "version": "2.1.5", 1628 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1629 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1630 | "dev": true, 1631 | "requires": { 1632 | "@nodelib/fs.stat": "2.0.5", 1633 | "run-parallel": "^1.1.9" 1634 | } 1635 | }, 1636 | "@nodelib/fs.stat": { 1637 | "version": "2.0.5", 1638 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1639 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1640 | "dev": true 1641 | }, 1642 | "@nodelib/fs.walk": { 1643 | "version": "1.2.8", 1644 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1645 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1646 | "dev": true, 1647 | "requires": { 1648 | "@nodelib/fs.scandir": "2.1.5", 1649 | "fastq": "^1.6.0" 1650 | } 1651 | }, 1652 | "@socket.io/component-emitter": { 1653 | "version": "3.1.0", 1654 | "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", 1655 | "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" 1656 | }, 1657 | "@ungap/structured-clone": { 1658 | "version": "1.2.0", 1659 | "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", 1660 | "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", 1661 | "dev": true 1662 | }, 1663 | "acorn": { 1664 | "version": "8.11.3", 1665 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", 1666 | "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", 1667 | "dev": true 1668 | }, 1669 | "acorn-jsx": { 1670 | "version": "5.3.2", 1671 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1672 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1673 | "dev": true, 1674 | "requires": {} 1675 | }, 1676 | "ajv": { 1677 | "version": "6.12.6", 1678 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1679 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1680 | "dev": true, 1681 | "requires": { 1682 | "fast-deep-equal": "^3.1.1", 1683 | "fast-json-stable-stringify": "^2.0.0", 1684 | "json-schema-traverse": "^0.4.1", 1685 | "uri-js": "^4.2.2" 1686 | } 1687 | }, 1688 | "ansi-regex": { 1689 | "version": "5.0.1", 1690 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1691 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1692 | "dev": true 1693 | }, 1694 | "ansi-styles": { 1695 | "version": "4.3.0", 1696 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1697 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1698 | "dev": true, 1699 | "requires": { 1700 | "color-convert": "^2.0.1" 1701 | } 1702 | }, 1703 | "argparse": { 1704 | "version": "2.0.1", 1705 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1706 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1707 | "dev": true 1708 | }, 1709 | "balanced-match": { 1710 | "version": "1.0.2", 1711 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1712 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1713 | "dev": true 1714 | }, 1715 | "brace-expansion": { 1716 | "version": "1.1.11", 1717 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1718 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1719 | "dev": true, 1720 | "requires": { 1721 | "balanced-match": "^1.0.0", 1722 | "concat-map": "0.0.1" 1723 | } 1724 | }, 1725 | "callsites": { 1726 | "version": "3.1.0", 1727 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1728 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1729 | "dev": true 1730 | }, 1731 | "chalk": { 1732 | "version": "4.1.2", 1733 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1734 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1735 | "dev": true, 1736 | "requires": { 1737 | "ansi-styles": "^4.1.0", 1738 | "supports-color": "^7.1.0" 1739 | } 1740 | }, 1741 | "color-convert": { 1742 | "version": "2.0.1", 1743 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1744 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1745 | "dev": true, 1746 | "requires": { 1747 | "color-name": "~1.1.4" 1748 | } 1749 | }, 1750 | "color-name": { 1751 | "version": "1.1.4", 1752 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1753 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1754 | "dev": true 1755 | }, 1756 | "concat-map": { 1757 | "version": "0.0.1", 1758 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1759 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1760 | "dev": true 1761 | }, 1762 | "cross-spawn": { 1763 | "version": "7.0.3", 1764 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1765 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1766 | "dev": true, 1767 | "requires": { 1768 | "path-key": "^3.1.0", 1769 | "shebang-command": "^2.0.0", 1770 | "which": "^2.0.1" 1771 | } 1772 | }, 1773 | "debug": { 1774 | "version": "4.3.4", 1775 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1776 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1777 | "requires": { 1778 | "ms": "2.1.2" 1779 | } 1780 | }, 1781 | "deep-is": { 1782 | "version": "0.1.4", 1783 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1784 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1785 | "dev": true 1786 | }, 1787 | "doctrine": { 1788 | "version": "3.0.0", 1789 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 1790 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 1791 | "dev": true, 1792 | "requires": { 1793 | "esutils": "^2.0.2" 1794 | } 1795 | }, 1796 | "engine.io-client": { 1797 | "version": "6.5.3", 1798 | "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz", 1799 | "integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==", 1800 | "requires": { 1801 | "@socket.io/component-emitter": "~3.1.0", 1802 | "debug": "~4.3.1", 1803 | "engine.io-parser": "~5.2.1", 1804 | "ws": "~8.11.0", 1805 | "xmlhttprequest-ssl": "~2.0.0" 1806 | } 1807 | }, 1808 | "engine.io-parser": { 1809 | "version": "5.2.2", 1810 | "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", 1811 | "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==" 1812 | }, 1813 | "esbuild": { 1814 | "version": "0.14.54", 1815 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", 1816 | "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", 1817 | "requires": { 1818 | "@esbuild/linux-loong64": "0.14.54", 1819 | "esbuild-android-64": "0.14.54", 1820 | "esbuild-android-arm64": "0.14.54", 1821 | "esbuild-darwin-64": "0.14.54", 1822 | "esbuild-darwin-arm64": "0.14.54", 1823 | "esbuild-freebsd-64": "0.14.54", 1824 | "esbuild-freebsd-arm64": "0.14.54", 1825 | "esbuild-linux-32": "0.14.54", 1826 | "esbuild-linux-64": "0.14.54", 1827 | "esbuild-linux-arm": "0.14.54", 1828 | "esbuild-linux-arm64": "0.14.54", 1829 | "esbuild-linux-mips64le": "0.14.54", 1830 | "esbuild-linux-ppc64le": "0.14.54", 1831 | "esbuild-linux-riscv64": "0.14.54", 1832 | "esbuild-linux-s390x": "0.14.54", 1833 | "esbuild-netbsd-64": "0.14.54", 1834 | "esbuild-openbsd-64": "0.14.54", 1835 | "esbuild-sunos-64": "0.14.54", 1836 | "esbuild-windows-32": "0.14.54", 1837 | "esbuild-windows-64": "0.14.54", 1838 | "esbuild-windows-arm64": "0.14.54" 1839 | } 1840 | }, 1841 | "esbuild-android-64": { 1842 | "version": "0.14.54", 1843 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", 1844 | "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", 1845 | "optional": true 1846 | }, 1847 | "esbuild-android-arm64": { 1848 | "version": "0.14.54", 1849 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", 1850 | "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", 1851 | "optional": true 1852 | }, 1853 | "esbuild-darwin-64": { 1854 | "version": "0.14.54", 1855 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", 1856 | "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", 1857 | "optional": true 1858 | }, 1859 | "esbuild-darwin-arm64": { 1860 | "version": "0.14.54", 1861 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", 1862 | "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", 1863 | "optional": true 1864 | }, 1865 | "esbuild-freebsd-64": { 1866 | "version": "0.14.54", 1867 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", 1868 | "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", 1869 | "optional": true 1870 | }, 1871 | "esbuild-freebsd-arm64": { 1872 | "version": "0.14.54", 1873 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", 1874 | "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", 1875 | "optional": true 1876 | }, 1877 | "esbuild-linux-32": { 1878 | "version": "0.14.54", 1879 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", 1880 | "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", 1881 | "optional": true 1882 | }, 1883 | "esbuild-linux-64": { 1884 | "version": "0.14.54", 1885 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", 1886 | "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", 1887 | "optional": true 1888 | }, 1889 | "esbuild-linux-arm": { 1890 | "version": "0.14.54", 1891 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", 1892 | "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", 1893 | "optional": true 1894 | }, 1895 | "esbuild-linux-arm64": { 1896 | "version": "0.14.54", 1897 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", 1898 | "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", 1899 | "optional": true 1900 | }, 1901 | "esbuild-linux-mips64le": { 1902 | "version": "0.14.54", 1903 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", 1904 | "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", 1905 | "optional": true 1906 | }, 1907 | "esbuild-linux-ppc64le": { 1908 | "version": "0.14.54", 1909 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", 1910 | "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", 1911 | "optional": true 1912 | }, 1913 | "esbuild-linux-riscv64": { 1914 | "version": "0.14.54", 1915 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", 1916 | "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", 1917 | "optional": true 1918 | }, 1919 | "esbuild-linux-s390x": { 1920 | "version": "0.14.54", 1921 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", 1922 | "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", 1923 | "optional": true 1924 | }, 1925 | "esbuild-netbsd-64": { 1926 | "version": "0.14.54", 1927 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", 1928 | "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", 1929 | "optional": true 1930 | }, 1931 | "esbuild-openbsd-64": { 1932 | "version": "0.14.54", 1933 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", 1934 | "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", 1935 | "optional": true 1936 | }, 1937 | "esbuild-sunos-64": { 1938 | "version": "0.14.54", 1939 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", 1940 | "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", 1941 | "optional": true 1942 | }, 1943 | "esbuild-windows-32": { 1944 | "version": "0.14.54", 1945 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", 1946 | "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", 1947 | "optional": true 1948 | }, 1949 | "esbuild-windows-64": { 1950 | "version": "0.14.54", 1951 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", 1952 | "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", 1953 | "optional": true 1954 | }, 1955 | "esbuild-windows-arm64": { 1956 | "version": "0.14.54", 1957 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", 1958 | "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", 1959 | "optional": true 1960 | }, 1961 | "escape-string-regexp": { 1962 | "version": "4.0.0", 1963 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1964 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1965 | "dev": true 1966 | }, 1967 | "eslint": { 1968 | "version": "8.57.0", 1969 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", 1970 | "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", 1971 | "dev": true, 1972 | "requires": { 1973 | "@eslint-community/eslint-utils": "^4.2.0", 1974 | "@eslint-community/regexpp": "^4.6.1", 1975 | "@eslint/eslintrc": "^2.1.4", 1976 | "@eslint/js": "8.57.0", 1977 | "@humanwhocodes/config-array": "^0.11.14", 1978 | "@humanwhocodes/module-importer": "^1.0.1", 1979 | "@nodelib/fs.walk": "^1.2.8", 1980 | "@ungap/structured-clone": "^1.2.0", 1981 | "ajv": "^6.12.4", 1982 | "chalk": "^4.0.0", 1983 | "cross-spawn": "^7.0.2", 1984 | "debug": "^4.3.2", 1985 | "doctrine": "^3.0.0", 1986 | "escape-string-regexp": "^4.0.0", 1987 | "eslint-scope": "^7.2.2", 1988 | "eslint-visitor-keys": "^3.4.3", 1989 | "espree": "^9.6.1", 1990 | "esquery": "^1.4.2", 1991 | "esutils": "^2.0.2", 1992 | "fast-deep-equal": "^3.1.3", 1993 | "file-entry-cache": "^6.0.1", 1994 | "find-up": "^5.0.0", 1995 | "glob-parent": "^6.0.2", 1996 | "globals": "^13.19.0", 1997 | "graphemer": "^1.4.0", 1998 | "ignore": "^5.2.0", 1999 | "imurmurhash": "^0.1.4", 2000 | "is-glob": "^4.0.0", 2001 | "is-path-inside": "^3.0.3", 2002 | "js-yaml": "^4.1.0", 2003 | "json-stable-stringify-without-jsonify": "^1.0.1", 2004 | "levn": "^0.4.1", 2005 | "lodash.merge": "^4.6.2", 2006 | "minimatch": "^3.1.2", 2007 | "natural-compare": "^1.4.0", 2008 | "optionator": "^0.9.3", 2009 | "strip-ansi": "^6.0.1", 2010 | "text-table": "^0.2.0" 2011 | } 2012 | }, 2013 | "eslint-scope": { 2014 | "version": "7.2.2", 2015 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", 2016 | "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", 2017 | "dev": true, 2018 | "requires": { 2019 | "esrecurse": "^4.3.0", 2020 | "estraverse": "^5.2.0" 2021 | } 2022 | }, 2023 | "eslint-visitor-keys": { 2024 | "version": "3.4.3", 2025 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 2026 | "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 2027 | "dev": true 2028 | }, 2029 | "espree": { 2030 | "version": "9.6.1", 2031 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", 2032 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", 2033 | "dev": true, 2034 | "requires": { 2035 | "acorn": "^8.9.0", 2036 | "acorn-jsx": "^5.3.2", 2037 | "eslint-visitor-keys": "^3.4.1" 2038 | } 2039 | }, 2040 | "esquery": { 2041 | "version": "1.5.0", 2042 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", 2043 | "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", 2044 | "dev": true, 2045 | "requires": { 2046 | "estraverse": "^5.1.0" 2047 | } 2048 | }, 2049 | "esrecurse": { 2050 | "version": "4.3.0", 2051 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2052 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2053 | "dev": true, 2054 | "requires": { 2055 | "estraverse": "^5.2.0" 2056 | } 2057 | }, 2058 | "estraverse": { 2059 | "version": "5.3.0", 2060 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2061 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2062 | "dev": true 2063 | }, 2064 | "esutils": { 2065 | "version": "2.0.3", 2066 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2067 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2068 | "dev": true 2069 | }, 2070 | "fast-deep-equal": { 2071 | "version": "3.1.3", 2072 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2073 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2074 | "dev": true 2075 | }, 2076 | "fast-json-stable-stringify": { 2077 | "version": "2.1.0", 2078 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2079 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2080 | "dev": true 2081 | }, 2082 | "fast-levenshtein": { 2083 | "version": "2.0.6", 2084 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2085 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 2086 | "dev": true 2087 | }, 2088 | "fastq": { 2089 | "version": "1.17.1", 2090 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 2091 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 2092 | "dev": true, 2093 | "requires": { 2094 | "reusify": "^1.0.4" 2095 | } 2096 | }, 2097 | "file-entry-cache": { 2098 | "version": "6.0.1", 2099 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 2100 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 2101 | "dev": true, 2102 | "requires": { 2103 | "flat-cache": "^3.0.4" 2104 | } 2105 | }, 2106 | "find-up": { 2107 | "version": "5.0.0", 2108 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 2109 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 2110 | "dev": true, 2111 | "requires": { 2112 | "locate-path": "^6.0.0", 2113 | "path-exists": "^4.0.0" 2114 | } 2115 | }, 2116 | "flat-cache": { 2117 | "version": "3.0.4", 2118 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 2119 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 2120 | "dev": true, 2121 | "requires": { 2122 | "flatted": "^3.1.0", 2123 | "rimraf": "^3.0.2" 2124 | } 2125 | }, 2126 | "flatted": { 2127 | "version": "3.2.6", 2128 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", 2129 | "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", 2130 | "dev": true 2131 | }, 2132 | "fs.realpath": { 2133 | "version": "1.0.0", 2134 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2135 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 2136 | "dev": true 2137 | }, 2138 | "glob": { 2139 | "version": "7.2.3", 2140 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 2141 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 2142 | "dev": true, 2143 | "requires": { 2144 | "fs.realpath": "^1.0.0", 2145 | "inflight": "^1.0.4", 2146 | "inherits": "2", 2147 | "minimatch": "^3.1.1", 2148 | "once": "^1.3.0", 2149 | "path-is-absolute": "^1.0.0" 2150 | } 2151 | }, 2152 | "glob-parent": { 2153 | "version": "6.0.2", 2154 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2155 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2156 | "dev": true, 2157 | "requires": { 2158 | "is-glob": "^4.0.3" 2159 | } 2160 | }, 2161 | "globals": { 2162 | "version": "13.24.0", 2163 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", 2164 | "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", 2165 | "dev": true, 2166 | "requires": { 2167 | "type-fest": "^0.20.2" 2168 | } 2169 | }, 2170 | "graphemer": { 2171 | "version": "1.4.0", 2172 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 2173 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 2174 | "dev": true 2175 | }, 2176 | "has-flag": { 2177 | "version": "4.0.0", 2178 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2179 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2180 | "dev": true 2181 | }, 2182 | "ignore": { 2183 | "version": "5.3.1", 2184 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", 2185 | "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", 2186 | "dev": true 2187 | }, 2188 | "import-fresh": { 2189 | "version": "3.3.0", 2190 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 2191 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 2192 | "dev": true, 2193 | "requires": { 2194 | "parent-module": "^1.0.0", 2195 | "resolve-from": "^4.0.0" 2196 | } 2197 | }, 2198 | "imurmurhash": { 2199 | "version": "0.1.4", 2200 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2201 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 2202 | "dev": true 2203 | }, 2204 | "inflight": { 2205 | "version": "1.0.6", 2206 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2207 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 2208 | "dev": true, 2209 | "requires": { 2210 | "once": "^1.3.0", 2211 | "wrappy": "1" 2212 | } 2213 | }, 2214 | "inherits": { 2215 | "version": "2.0.4", 2216 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2217 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2218 | "dev": true 2219 | }, 2220 | "is-extglob": { 2221 | "version": "2.1.1", 2222 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2223 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2224 | "dev": true 2225 | }, 2226 | "is-glob": { 2227 | "version": "4.0.3", 2228 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2229 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2230 | "dev": true, 2231 | "requires": { 2232 | "is-extglob": "^2.1.1" 2233 | } 2234 | }, 2235 | "is-path-inside": { 2236 | "version": "3.0.3", 2237 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 2238 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 2239 | "dev": true 2240 | }, 2241 | "isexe": { 2242 | "version": "2.0.0", 2243 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2244 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2245 | "dev": true 2246 | }, 2247 | "js-yaml": { 2248 | "version": "4.1.0", 2249 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 2250 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 2251 | "dev": true, 2252 | "requires": { 2253 | "argparse": "^2.0.1" 2254 | } 2255 | }, 2256 | "json-schema-traverse": { 2257 | "version": "0.4.1", 2258 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2259 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2260 | "dev": true 2261 | }, 2262 | "json-stable-stringify-without-jsonify": { 2263 | "version": "1.0.1", 2264 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2265 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 2266 | "dev": true 2267 | }, 2268 | "levn": { 2269 | "version": "0.4.1", 2270 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 2271 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 2272 | "dev": true, 2273 | "requires": { 2274 | "prelude-ls": "^1.2.1", 2275 | "type-check": "~0.4.0" 2276 | } 2277 | }, 2278 | "locate-path": { 2279 | "version": "6.0.0", 2280 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 2281 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 2282 | "dev": true, 2283 | "requires": { 2284 | "p-locate": "^5.0.0" 2285 | } 2286 | }, 2287 | "lodash.merge": { 2288 | "version": "4.6.2", 2289 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2290 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2291 | "dev": true 2292 | }, 2293 | "minimatch": { 2294 | "version": "3.1.2", 2295 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2296 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2297 | "dev": true, 2298 | "requires": { 2299 | "brace-expansion": "^1.1.7" 2300 | } 2301 | }, 2302 | "ms": { 2303 | "version": "2.1.2", 2304 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2305 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 2306 | }, 2307 | "natural-compare": { 2308 | "version": "1.4.0", 2309 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2310 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 2311 | "dev": true 2312 | }, 2313 | "once": { 2314 | "version": "1.4.0", 2315 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2316 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 2317 | "dev": true, 2318 | "requires": { 2319 | "wrappy": "1" 2320 | } 2321 | }, 2322 | "optionator": { 2323 | "version": "0.9.3", 2324 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", 2325 | "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", 2326 | "dev": true, 2327 | "requires": { 2328 | "@aashutoshrathi/word-wrap": "^1.2.3", 2329 | "deep-is": "^0.1.3", 2330 | "fast-levenshtein": "^2.0.6", 2331 | "levn": "^0.4.1", 2332 | "prelude-ls": "^1.2.1", 2333 | "type-check": "^0.4.0" 2334 | } 2335 | }, 2336 | "p-limit": { 2337 | "version": "3.1.0", 2338 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 2339 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 2340 | "dev": true, 2341 | "requires": { 2342 | "yocto-queue": "^0.1.0" 2343 | } 2344 | }, 2345 | "p-locate": { 2346 | "version": "5.0.0", 2347 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 2348 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 2349 | "dev": true, 2350 | "requires": { 2351 | "p-limit": "^3.0.2" 2352 | } 2353 | }, 2354 | "parent-module": { 2355 | "version": "1.0.1", 2356 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2357 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2358 | "dev": true, 2359 | "requires": { 2360 | "callsites": "^3.0.0" 2361 | } 2362 | }, 2363 | "path-exists": { 2364 | "version": "4.0.0", 2365 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2366 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 2367 | "dev": true 2368 | }, 2369 | "path-is-absolute": { 2370 | "version": "1.0.1", 2371 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2372 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 2373 | "dev": true 2374 | }, 2375 | "path-key": { 2376 | "version": "3.1.1", 2377 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2378 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2379 | "dev": true 2380 | }, 2381 | "prelude-ls": { 2382 | "version": "1.2.1", 2383 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 2384 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 2385 | "dev": true 2386 | }, 2387 | "punycode": { 2388 | "version": "2.3.1", 2389 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 2390 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 2391 | "dev": true 2392 | }, 2393 | "queue-microtask": { 2394 | "version": "1.2.3", 2395 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2396 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2397 | "dev": true 2398 | }, 2399 | "resolve-from": { 2400 | "version": "4.0.0", 2401 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2402 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2403 | "dev": true 2404 | }, 2405 | "reusify": { 2406 | "version": "1.0.4", 2407 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2408 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2409 | "dev": true 2410 | }, 2411 | "rimraf": { 2412 | "version": "3.0.2", 2413 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 2414 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 2415 | "dev": true, 2416 | "requires": { 2417 | "glob": "^7.1.3" 2418 | } 2419 | }, 2420 | "run-parallel": { 2421 | "version": "1.2.0", 2422 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2423 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2424 | "dev": true, 2425 | "requires": { 2426 | "queue-microtask": "^1.2.2" 2427 | } 2428 | }, 2429 | "shebang-command": { 2430 | "version": "2.0.0", 2431 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2432 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2433 | "dev": true, 2434 | "requires": { 2435 | "shebang-regex": "^3.0.0" 2436 | } 2437 | }, 2438 | "shebang-regex": { 2439 | "version": "3.0.0", 2440 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2441 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2442 | "dev": true 2443 | }, 2444 | "socket.io-client": { 2445 | "version": "4.7.5", 2446 | "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", 2447 | "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", 2448 | "requires": { 2449 | "@socket.io/component-emitter": "~3.1.0", 2450 | "debug": "~4.3.2", 2451 | "engine.io-client": "~6.5.2", 2452 | "socket.io-parser": "~4.2.4" 2453 | } 2454 | }, 2455 | "socket.io-parser": { 2456 | "version": "4.2.4", 2457 | "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", 2458 | "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", 2459 | "requires": { 2460 | "@socket.io/component-emitter": "~3.1.0", 2461 | "debug": "~4.3.1" 2462 | } 2463 | }, 2464 | "strip-ansi": { 2465 | "version": "6.0.1", 2466 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2467 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2468 | "dev": true, 2469 | "requires": { 2470 | "ansi-regex": "^5.0.1" 2471 | } 2472 | }, 2473 | "strip-json-comments": { 2474 | "version": "3.1.1", 2475 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 2476 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 2477 | "dev": true 2478 | }, 2479 | "supports-color": { 2480 | "version": "7.2.0", 2481 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2482 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2483 | "dev": true, 2484 | "requires": { 2485 | "has-flag": "^4.0.0" 2486 | } 2487 | }, 2488 | "text-table": { 2489 | "version": "0.2.0", 2490 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 2491 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 2492 | "dev": true 2493 | }, 2494 | "type-check": { 2495 | "version": "0.4.0", 2496 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 2497 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 2498 | "dev": true, 2499 | "requires": { 2500 | "prelude-ls": "^1.2.1" 2501 | } 2502 | }, 2503 | "type-fest": { 2504 | "version": "0.20.2", 2505 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 2506 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 2507 | "dev": true 2508 | }, 2509 | "uri-js": { 2510 | "version": "4.4.1", 2511 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2512 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2513 | "dev": true, 2514 | "requires": { 2515 | "punycode": "^2.1.0" 2516 | } 2517 | }, 2518 | "which": { 2519 | "version": "2.0.2", 2520 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2521 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2522 | "dev": true, 2523 | "requires": { 2524 | "isexe": "^2.0.0" 2525 | } 2526 | }, 2527 | "wrappy": { 2528 | "version": "1.0.2", 2529 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2530 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2531 | "dev": true 2532 | }, 2533 | "ws": { 2534 | "version": "8.11.0", 2535 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", 2536 | "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", 2537 | "requires": {} 2538 | }, 2539 | "xmlhttprequest-ssl": { 2540 | "version": "2.0.0", 2541 | "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", 2542 | "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" 2543 | }, 2544 | "yocto-queue": { 2545 | "version": "0.1.0", 2546 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 2547 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 2548 | "dev": true 2549 | } 2550 | } 2551 | } 2552 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "masonite-broadcast-client", 3 | "version": "2.0.13", 4 | "main": "dist/mbroadcast.js", 5 | "license": "MIT", 6 | "dependencies": { 7 | "esbuild": "^0.14.41", 8 | "socket.io-client": "^4.5.1" 9 | }, 10 | "scripts": { 11 | "build": "esbuild src/app.ts --bundle --outfile=dist/mbroadcast.js --minify --sourcemap", 12 | "copy": "yarn build && cp -r dist ~/Projects/MasonitePackages/masonite-socketio-driver/tests/integrations/storage/public/", 13 | "release": "npm run build && npm version patch && npm publish", 14 | "lint": "eslint src/**/*.ts" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/py-package/masonite-broadcast-client" 19 | }, 20 | "keywords": [ 21 | "masonite", 22 | "socket.io" 23 | ], 24 | "author": "Yubaraj Shrestha (https://py-package.com)", 25 | "bugs": { 26 | "url": "https://github.com/py-package/masonite-broadcast-client/issues" 27 | }, 28 | "homepage": "https://github.com/py-package/masonite-broadcast-client", 29 | "module": "dist/mbroadcast.js", 30 | "devDependencies": { 31 | "eslint": "^8.21.0" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/app.ts: -------------------------------------------------------------------------------- 1 | import { io } from "socket.io-client"; 2 | import SocketChannel from './channels/socket-channel'; 3 | 4 | class MasoniteBroadcastClient { 5 | config: any; 6 | socket = undefined; 7 | channels: { [name: string]: SocketChannel } = {}; 8 | 9 | constructor(config: Config) { 10 | if (!config.url) { 11 | throw new Error('url is required'); 12 | } 13 | this.config = config; 14 | this.#connect(); 15 | } 16 | 17 | setExtra(value, callback) { 18 | this.socket.emit("setExtra", { 19 | extra: value 20 | }, (value) => { 21 | callback(value); 22 | }); 23 | } 24 | 25 | #connect() { 26 | this.socket = io(this.config.url, { 27 | transports: ["websocket", "polling"], 28 | path: "/socket.io", 29 | autoConnect: false, 30 | }); 31 | 32 | const sessionID = localStorage.getItem('sessionID'); 33 | if (sessionID) { 34 | this.socket.auth = { sessionID }; 35 | this.socket.connect(); 36 | } else { 37 | this.socket.connect(); 38 | } 39 | 40 | /** Handling Events */ 41 | this.socket.on("session", ({ userID, sessionID }) => { 42 | this.socket.auth = { sessionID }; 43 | localStorage.setItem('sessionID', sessionID); 44 | this.socket.userID = userID; 45 | this.socket.connect(); 46 | }); 47 | 48 | this.socket.on("connect", () => { 49 | console.log("connected"); 50 | }); 51 | 52 | this.socket.on("reconnect", this.#reconnect.bind(this)); 53 | this.socket.on("disconnect", this.#disconnect.bind(this)); 54 | this.socket.on("error", this.#error.bind(this)); 55 | this.socket.on("connect_error", this.#connect_error.bind(this)); 56 | 57 | return this.socket; 58 | } 59 | 60 | #reconnect() { 61 | Object.values(this.channels).forEach((channel) => { 62 | channel.subscribe(); 63 | }) 64 | } 65 | 66 | #disconnect() { 67 | this.socket.disconnect(); 68 | } 69 | 70 | #error() { 71 | console.log("error"); 72 | } 73 | 74 | #connect_error() { 75 | this.socket.io.opts.transports = ["polling", "websocket"]; 76 | } 77 | 78 | on(event: string, callback) { 79 | this.socket.on(event, callback); 80 | } 81 | 82 | onAny(callback) { 83 | this.socket.onAny(callback); 84 | } 85 | 86 | /** Subscribe to channel */ 87 | subscribe(channel) { 88 | if (!this.channels[channel]) { 89 | this.channels[channel] = SocketChannel.connect(this.socket, channel, this.config); 90 | } 91 | return this.channels[channel]; 92 | } 93 | 94 | listen(event: string, callback: Function) { 95 | this.socket.on(event, callback); 96 | } 97 | 98 | listenForWhisper(event, callback) { 99 | this.socket.on(`whisper:${event}`, callback); 100 | } 101 | 102 | onClientConnected(callback) { 103 | this.socket.on("user:connected", callback); 104 | } 105 | 106 | onClientDisconnected(callback) { 107 | this.socket.on("user:disconnected", callback); 108 | } 109 | } 110 | 111 | // make it available to the outside world 112 | (window as any).MasoniteBroadcastClient = MasoniteBroadcastClient; 113 | 114 | export default MasoniteBroadcastClient; 115 | -------------------------------------------------------------------------------- /src/channels/socket-channel.ts: -------------------------------------------------------------------------------- 1 | class SocketChannel { 2 | socket: any; 3 | channel: string; 4 | config: any; 5 | private listeners: any = {}; 6 | 7 | static connect(socket, name, config: Config) { 8 | const channel = new SocketChannel(); 9 | channel.#init(socket, name, config); 10 | return channel; 11 | } 12 | 13 | #init(socket, channel, config: Config) { 14 | this.socket = socket; 15 | this.channel = channel; 16 | this.config = config; 17 | this.listeners = {}; 18 | this.subscribe(); 19 | } 20 | 21 | subscribe(): void { 22 | this.socket.emit("subscribe", { 23 | channel: this.channel, 24 | }); 25 | 26 | let data = { 27 | channel_name: this.channel, 28 | socket_id: this.socket.auth?.sessionID, 29 | } 30 | 31 | if (this.config.broadcastUrl) { 32 | fetch('/pusher/auth', { 33 | method: 'POST', 34 | headers: { 35 | 'Content-Type': 'application/json', 36 | }, 37 | body: JSON.stringify(data) 38 | }).then((response) => { 39 | if (response.status === 200) return response.json(); 40 | return false; 41 | }).catch((error) => { 42 | //! ignore 43 | }).then((data) => { 44 | if (data !== false) { 45 | this.socket.emit("subscribe", { 46 | channel: `private-${this.channel}` 47 | }) 48 | } 49 | }); 50 | } 51 | } 52 | 53 | unsubscribe(): void { 54 | this.socket.emit("unsubscribe", { 55 | channel: this.channel, 56 | }); 57 | } 58 | 59 | whisper(event, data: Object): SocketChannel { 60 | this.socket.emit("whisper", { 61 | channel: this.channel, 62 | event: event, 63 | data: data, 64 | }); 65 | return this; 66 | } 67 | 68 | speak(event, data: Object): SocketChannel { 69 | this.socket.emit("speak", { 70 | channel: this.channel, 71 | event: event, 72 | data: data, 73 | }); 74 | return this; 75 | } 76 | 77 | listen(event: any, callback: Function): SocketChannel { 78 | if (!this.listeners[event]) { 79 | this.listeners[event] = (data) => { 80 | callback(data); 81 | }; 82 | this.socket.on(event, this.listeners[event]); 83 | } 84 | return this; 85 | } 86 | 87 | listenForWhisper(event, callback) { 88 | this.socket.on(`whisper:${event}`, callback); 89 | } 90 | 91 | emit(event, message) { 92 | this.socket.emit("emit", { 93 | channel: this.channel, 94 | event: event, 95 | data: message, 96 | }); 97 | } 98 | 99 | broadcast(event, message) { 100 | this.socket.emit("broadcast", { 101 | channel: this.channel, 102 | event: event, 103 | data: message, 104 | }); 105 | } 106 | } 107 | 108 | export default SocketChannel; 109 | -------------------------------------------------------------------------------- /src/types.d.ts: -------------------------------------------------------------------------------- 1 | type Config = { 2 | url?: string | 'http://localhost:3000', 3 | channel?: string | "default", 4 | broadcastUrl?: string | "http://localhost:8000/pusher/auth", 5 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es2017", 5 | "declaration": true, 6 | "outDir": "./dist" 7 | }, 8 | "include": [ 9 | "src/**/*" 10 | ] 11 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@aashutoshrathi/word-wrap@^1.2.3": 6 | version "1.2.6" 7 | resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" 8 | integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== 9 | 10 | "@eslint-community/eslint-utils@^4.2.0": 11 | version "4.4.0" 12 | resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" 13 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== 14 | dependencies: 15 | eslint-visitor-keys "^3.3.0" 16 | 17 | "@eslint-community/regexpp@^4.6.1": 18 | version "4.10.0" 19 | resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" 20 | integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== 21 | 22 | "@eslint/eslintrc@^2.1.4": 23 | version "2.1.4" 24 | resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" 25 | integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== 26 | dependencies: 27 | ajv "^6.12.4" 28 | debug "^4.3.2" 29 | espree "^9.6.0" 30 | globals "^13.19.0" 31 | ignore "^5.2.0" 32 | import-fresh "^3.2.1" 33 | js-yaml "^4.1.0" 34 | minimatch "^3.1.2" 35 | strip-json-comments "^3.1.1" 36 | 37 | "@eslint/js@8.57.0": 38 | version "8.57.0" 39 | resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" 40 | integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== 41 | 42 | "@humanwhocodes/config-array@^0.11.14": 43 | version "0.11.14" 44 | resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" 45 | integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== 46 | dependencies: 47 | "@humanwhocodes/object-schema" "^2.0.2" 48 | debug "^4.3.1" 49 | minimatch "^3.0.5" 50 | 51 | "@humanwhocodes/module-importer@^1.0.1": 52 | version "1.0.1" 53 | resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" 54 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 55 | 56 | "@humanwhocodes/object-schema@^2.0.2": 57 | version "2.0.2" 58 | resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" 59 | integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== 60 | 61 | "@nodelib/fs.scandir@2.1.5": 62 | version "2.1.5" 63 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 64 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 65 | dependencies: 66 | "@nodelib/fs.stat" "2.0.5" 67 | run-parallel "^1.1.9" 68 | 69 | "@nodelib/fs.stat@2.0.5": 70 | version "2.0.5" 71 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 72 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 73 | 74 | "@nodelib/fs.walk@^1.2.8": 75 | version "1.2.8" 76 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 77 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 78 | dependencies: 79 | "@nodelib/fs.scandir" "2.1.5" 80 | fastq "^1.6.0" 81 | 82 | "@socket.io/component-emitter@~3.1.0": 83 | version "3.1.0" 84 | resolved "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz" 85 | integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== 86 | 87 | "@ungap/structured-clone@^1.2.0": 88 | version "1.2.0" 89 | resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" 90 | integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== 91 | 92 | acorn-jsx@^5.3.2: 93 | version "5.3.2" 94 | resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" 95 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 96 | 97 | "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.9.0: 98 | version "8.11.3" 99 | resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" 100 | integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== 101 | 102 | ajv@^6.12.4: 103 | version "6.12.6" 104 | resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" 105 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 106 | dependencies: 107 | fast-deep-equal "^3.1.1" 108 | fast-json-stable-stringify "^2.0.0" 109 | json-schema-traverse "^0.4.1" 110 | uri-js "^4.2.2" 111 | 112 | ansi-regex@^5.0.1: 113 | version "5.0.1" 114 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 115 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 116 | 117 | ansi-styles@^4.1.0: 118 | version "4.3.0" 119 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 120 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 121 | dependencies: 122 | color-convert "^2.0.1" 123 | 124 | argparse@^2.0.1: 125 | version "2.0.1" 126 | resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" 127 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 128 | 129 | balanced-match@^1.0.0: 130 | version "1.0.2" 131 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 132 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 133 | 134 | brace-expansion@^1.1.7: 135 | version "1.1.11" 136 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 137 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 138 | dependencies: 139 | balanced-match "^1.0.0" 140 | concat-map "0.0.1" 141 | 142 | callsites@^3.0.0: 143 | version "3.1.0" 144 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" 145 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 146 | 147 | chalk@^4.0.0: 148 | version "4.1.2" 149 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" 150 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 151 | dependencies: 152 | ansi-styles "^4.1.0" 153 | supports-color "^7.1.0" 154 | 155 | color-convert@^2.0.1: 156 | version "2.0.1" 157 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 158 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 159 | dependencies: 160 | color-name "~1.1.4" 161 | 162 | color-name@~1.1.4: 163 | version "1.1.4" 164 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 165 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 166 | 167 | concat-map@0.0.1: 168 | version "0.0.1" 169 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 170 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 171 | 172 | cross-spawn@^7.0.2: 173 | version "7.0.3" 174 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" 175 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 176 | dependencies: 177 | path-key "^3.1.0" 178 | shebang-command "^2.0.0" 179 | which "^2.0.1" 180 | 181 | debug@^4.3.1, debug@^4.3.2, debug@~4.3.1, debug@~4.3.2: 182 | version "4.3.4" 183 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 184 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 185 | dependencies: 186 | ms "2.1.2" 187 | 188 | deep-is@^0.1.3: 189 | version "0.1.4" 190 | resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" 191 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 192 | 193 | doctrine@^3.0.0: 194 | version "3.0.0" 195 | resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" 196 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 197 | dependencies: 198 | esutils "^2.0.2" 199 | 200 | engine.io-client@~6.5.2: 201 | version "6.5.3" 202 | resolved "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz" 203 | integrity sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q== 204 | dependencies: 205 | "@socket.io/component-emitter" "~3.1.0" 206 | debug "~4.3.1" 207 | engine.io-parser "~5.2.1" 208 | ws "~8.11.0" 209 | xmlhttprequest-ssl "~2.0.0" 210 | 211 | engine.io-parser@~5.2.1: 212 | version "5.2.2" 213 | resolved "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz" 214 | integrity sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw== 215 | 216 | esbuild-darwin-arm64@0.14.54: 217 | version "0.14.54" 218 | resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz" 219 | integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== 220 | 221 | esbuild@^0.14.41: 222 | version "0.14.54" 223 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz" 224 | integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== 225 | optionalDependencies: 226 | "@esbuild/linux-loong64" "0.14.54" 227 | esbuild-android-64 "0.14.54" 228 | esbuild-android-arm64 "0.14.54" 229 | esbuild-darwin-64 "0.14.54" 230 | esbuild-darwin-arm64 "0.14.54" 231 | esbuild-freebsd-64 "0.14.54" 232 | esbuild-freebsd-arm64 "0.14.54" 233 | esbuild-linux-32 "0.14.54" 234 | esbuild-linux-64 "0.14.54" 235 | esbuild-linux-arm "0.14.54" 236 | esbuild-linux-arm64 "0.14.54" 237 | esbuild-linux-mips64le "0.14.54" 238 | esbuild-linux-ppc64le "0.14.54" 239 | esbuild-linux-riscv64 "0.14.54" 240 | esbuild-linux-s390x "0.14.54" 241 | esbuild-netbsd-64 "0.14.54" 242 | esbuild-openbsd-64 "0.14.54" 243 | esbuild-sunos-64 "0.14.54" 244 | esbuild-windows-32 "0.14.54" 245 | esbuild-windows-64 "0.14.54" 246 | esbuild-windows-arm64 "0.14.54" 247 | 248 | escape-string-regexp@^4.0.0: 249 | version "4.0.0" 250 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" 251 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 252 | 253 | eslint-scope@^7.2.2: 254 | version "7.2.2" 255 | resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" 256 | integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== 257 | dependencies: 258 | esrecurse "^4.3.0" 259 | estraverse "^5.2.0" 260 | 261 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: 262 | version "3.4.3" 263 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" 264 | integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== 265 | 266 | "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.21.0: 267 | version "8.57.0" 268 | resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" 269 | integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== 270 | dependencies: 271 | "@eslint-community/eslint-utils" "^4.2.0" 272 | "@eslint-community/regexpp" "^4.6.1" 273 | "@eslint/eslintrc" "^2.1.4" 274 | "@eslint/js" "8.57.0" 275 | "@humanwhocodes/config-array" "^0.11.14" 276 | "@humanwhocodes/module-importer" "^1.0.1" 277 | "@nodelib/fs.walk" "^1.2.8" 278 | "@ungap/structured-clone" "^1.2.0" 279 | ajv "^6.12.4" 280 | chalk "^4.0.0" 281 | cross-spawn "^7.0.2" 282 | debug "^4.3.2" 283 | doctrine "^3.0.0" 284 | escape-string-regexp "^4.0.0" 285 | eslint-scope "^7.2.2" 286 | eslint-visitor-keys "^3.4.3" 287 | espree "^9.6.1" 288 | esquery "^1.4.2" 289 | esutils "^2.0.2" 290 | fast-deep-equal "^3.1.3" 291 | file-entry-cache "^6.0.1" 292 | find-up "^5.0.0" 293 | glob-parent "^6.0.2" 294 | globals "^13.19.0" 295 | graphemer "^1.4.0" 296 | ignore "^5.2.0" 297 | imurmurhash "^0.1.4" 298 | is-glob "^4.0.0" 299 | is-path-inside "^3.0.3" 300 | js-yaml "^4.1.0" 301 | json-stable-stringify-without-jsonify "^1.0.1" 302 | levn "^0.4.1" 303 | lodash.merge "^4.6.2" 304 | minimatch "^3.1.2" 305 | natural-compare "^1.4.0" 306 | optionator "^0.9.3" 307 | strip-ansi "^6.0.1" 308 | text-table "^0.2.0" 309 | 310 | espree@^9.6.0, espree@^9.6.1: 311 | version "9.6.1" 312 | resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" 313 | integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== 314 | dependencies: 315 | acorn "^8.9.0" 316 | acorn-jsx "^5.3.2" 317 | eslint-visitor-keys "^3.4.1" 318 | 319 | esquery@^1.4.2: 320 | version "1.5.0" 321 | resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" 322 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== 323 | dependencies: 324 | estraverse "^5.1.0" 325 | 326 | esrecurse@^4.3.0: 327 | version "4.3.0" 328 | resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" 329 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 330 | dependencies: 331 | estraverse "^5.2.0" 332 | 333 | estraverse@^5.1.0, estraverse@^5.2.0: 334 | version "5.3.0" 335 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" 336 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 337 | 338 | esutils@^2.0.2: 339 | version "2.0.3" 340 | resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 341 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 342 | 343 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 344 | version "3.1.3" 345 | resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 346 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 347 | 348 | fast-json-stable-stringify@^2.0.0: 349 | version "2.1.0" 350 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 351 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 352 | 353 | fast-levenshtein@^2.0.6: 354 | version "2.0.6" 355 | resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" 356 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 357 | 358 | fastq@^1.6.0: 359 | version "1.17.1" 360 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" 361 | integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== 362 | dependencies: 363 | reusify "^1.0.4" 364 | 365 | file-entry-cache@^6.0.1: 366 | version "6.0.1" 367 | resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" 368 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 369 | dependencies: 370 | flat-cache "^3.0.4" 371 | 372 | find-up@^5.0.0: 373 | version "5.0.0" 374 | resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" 375 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 376 | dependencies: 377 | locate-path "^6.0.0" 378 | path-exists "^4.0.0" 379 | 380 | flat-cache@^3.0.4: 381 | version "3.0.4" 382 | resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" 383 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 384 | dependencies: 385 | flatted "^3.1.0" 386 | rimraf "^3.0.2" 387 | 388 | flatted@^3.1.0: 389 | version "3.2.6" 390 | resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz" 391 | integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== 392 | 393 | fs.realpath@^1.0.0: 394 | version "1.0.0" 395 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 396 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 397 | 398 | glob-parent@^6.0.2: 399 | version "6.0.2" 400 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" 401 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 402 | dependencies: 403 | is-glob "^4.0.3" 404 | 405 | glob@^7.1.3: 406 | version "7.2.3" 407 | resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" 408 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 409 | dependencies: 410 | fs.realpath "^1.0.0" 411 | inflight "^1.0.4" 412 | inherits "2" 413 | minimatch "^3.1.1" 414 | once "^1.3.0" 415 | path-is-absolute "^1.0.0" 416 | 417 | globals@^13.19.0: 418 | version "13.24.0" 419 | resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" 420 | integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== 421 | dependencies: 422 | type-fest "^0.20.2" 423 | 424 | graphemer@^1.4.0: 425 | version "1.4.0" 426 | resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" 427 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== 428 | 429 | has-flag@^4.0.0: 430 | version "4.0.0" 431 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 432 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 433 | 434 | ignore@^5.2.0: 435 | version "5.3.1" 436 | resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" 437 | integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== 438 | 439 | import-fresh@^3.2.1: 440 | version "3.3.0" 441 | resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" 442 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 443 | dependencies: 444 | parent-module "^1.0.0" 445 | resolve-from "^4.0.0" 446 | 447 | imurmurhash@^0.1.4: 448 | version "0.1.4" 449 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 450 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 451 | 452 | inflight@^1.0.4: 453 | version "1.0.6" 454 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 455 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 456 | dependencies: 457 | once "^1.3.0" 458 | wrappy "1" 459 | 460 | inherits@2: 461 | version "2.0.4" 462 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 463 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 464 | 465 | is-extglob@^2.1.1: 466 | version "2.1.1" 467 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 468 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 469 | 470 | is-glob@^4.0.0, is-glob@^4.0.3: 471 | version "4.0.3" 472 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 473 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 474 | dependencies: 475 | is-extglob "^2.1.1" 476 | 477 | is-path-inside@^3.0.3: 478 | version "3.0.3" 479 | resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" 480 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 481 | 482 | isexe@^2.0.0: 483 | version "2.0.0" 484 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 485 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 486 | 487 | js-yaml@^4.1.0: 488 | version "4.1.0" 489 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" 490 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 491 | dependencies: 492 | argparse "^2.0.1" 493 | 494 | json-schema-traverse@^0.4.1: 495 | version "0.4.1" 496 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 497 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 498 | 499 | json-stable-stringify-without-jsonify@^1.0.1: 500 | version "1.0.1" 501 | resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" 502 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 503 | 504 | levn@^0.4.1: 505 | version "0.4.1" 506 | resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" 507 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 508 | dependencies: 509 | prelude-ls "^1.2.1" 510 | type-check "~0.4.0" 511 | 512 | locate-path@^6.0.0: 513 | version "6.0.0" 514 | resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" 515 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 516 | dependencies: 517 | p-locate "^5.0.0" 518 | 519 | lodash.merge@^4.6.2: 520 | version "4.6.2" 521 | resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" 522 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 523 | 524 | minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 525 | version "3.1.2" 526 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" 527 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 528 | dependencies: 529 | brace-expansion "^1.1.7" 530 | 531 | ms@2.1.2: 532 | version "2.1.2" 533 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 534 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 535 | 536 | natural-compare@^1.4.0: 537 | version "1.4.0" 538 | resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" 539 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 540 | 541 | once@^1.3.0: 542 | version "1.4.0" 543 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 544 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 545 | dependencies: 546 | wrappy "1" 547 | 548 | optionator@^0.9.3: 549 | version "0.9.3" 550 | resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" 551 | integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== 552 | dependencies: 553 | "@aashutoshrathi/word-wrap" "^1.2.3" 554 | deep-is "^0.1.3" 555 | fast-levenshtein "^2.0.6" 556 | levn "^0.4.1" 557 | prelude-ls "^1.2.1" 558 | type-check "^0.4.0" 559 | 560 | p-limit@^3.0.2: 561 | version "3.1.0" 562 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" 563 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 564 | dependencies: 565 | yocto-queue "^0.1.0" 566 | 567 | p-locate@^5.0.0: 568 | version "5.0.0" 569 | resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" 570 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 571 | dependencies: 572 | p-limit "^3.0.2" 573 | 574 | parent-module@^1.0.0: 575 | version "1.0.1" 576 | resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" 577 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 578 | dependencies: 579 | callsites "^3.0.0" 580 | 581 | path-exists@^4.0.0: 582 | version "4.0.0" 583 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" 584 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 585 | 586 | path-is-absolute@^1.0.0: 587 | version "1.0.1" 588 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 589 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 590 | 591 | path-key@^3.1.0: 592 | version "3.1.1" 593 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 594 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 595 | 596 | prelude-ls@^1.2.1: 597 | version "1.2.1" 598 | resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" 599 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 600 | 601 | punycode@^2.1.0: 602 | version "2.3.1" 603 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" 604 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== 605 | 606 | queue-microtask@^1.2.2: 607 | version "1.2.3" 608 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 609 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 610 | 611 | resolve-from@^4.0.0: 612 | version "4.0.0" 613 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" 614 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 615 | 616 | reusify@^1.0.4: 617 | version "1.0.4" 618 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 619 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 620 | 621 | rimraf@^3.0.2: 622 | version "3.0.2" 623 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" 624 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 625 | dependencies: 626 | glob "^7.1.3" 627 | 628 | run-parallel@^1.1.9: 629 | version "1.2.0" 630 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 631 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 632 | dependencies: 633 | queue-microtask "^1.2.2" 634 | 635 | shebang-command@^2.0.0: 636 | version "2.0.0" 637 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 638 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 639 | dependencies: 640 | shebang-regex "^3.0.0" 641 | 642 | shebang-regex@^3.0.0: 643 | version "3.0.0" 644 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 645 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 646 | 647 | socket.io-client@^4.5.1: 648 | version "4.7.5" 649 | resolved "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz" 650 | integrity sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ== 651 | dependencies: 652 | "@socket.io/component-emitter" "~3.1.0" 653 | debug "~4.3.2" 654 | engine.io-client "~6.5.2" 655 | socket.io-parser "~4.2.4" 656 | 657 | socket.io-parser@~4.2.4: 658 | version "4.2.4" 659 | resolved "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz" 660 | integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== 661 | dependencies: 662 | "@socket.io/component-emitter" "~3.1.0" 663 | debug "~4.3.1" 664 | 665 | strip-ansi@^6.0.1: 666 | version "6.0.1" 667 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 668 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 669 | dependencies: 670 | ansi-regex "^5.0.1" 671 | 672 | strip-json-comments@^3.1.1: 673 | version "3.1.1" 674 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 675 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 676 | 677 | supports-color@^7.1.0: 678 | version "7.2.0" 679 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 680 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 681 | dependencies: 682 | has-flag "^4.0.0" 683 | 684 | text-table@^0.2.0: 685 | version "0.2.0" 686 | resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" 687 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 688 | 689 | type-check@^0.4.0, type-check@~0.4.0: 690 | version "0.4.0" 691 | resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" 692 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 693 | dependencies: 694 | prelude-ls "^1.2.1" 695 | 696 | type-fest@^0.20.2: 697 | version "0.20.2" 698 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" 699 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 700 | 701 | uri-js@^4.2.2: 702 | version "4.4.1" 703 | resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" 704 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 705 | dependencies: 706 | punycode "^2.1.0" 707 | 708 | which@^2.0.1: 709 | version "2.0.2" 710 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 711 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 712 | dependencies: 713 | isexe "^2.0.0" 714 | 715 | wrappy@1: 716 | version "1.0.2" 717 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 718 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 719 | 720 | ws@~8.11.0: 721 | version "8.11.0" 722 | resolved "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz" 723 | integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== 724 | 725 | xmlhttprequest-ssl@~2.0.0: 726 | version "2.0.0" 727 | resolved "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz" 728 | integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== 729 | 730 | yocto-queue@^0.1.0: 731 | version "0.1.0" 732 | resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" 733 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 734 | --------------------------------------------------------------------------------