├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── public └── favicon.ico ├── src ├── App.vue ├── assets │ └── logo.png ├── firebaseConfig.js ├── main.js ├── router.js ├── stores │ └── user.js └── views │ ├── Home.vue │ ├── Login.vue │ └── Register.vue └── vite.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vue 3 + Vite 2 | 3 | This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` 12 | 13 | 14 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "firebase-app-1", 3 | "version": "0.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "firebase-app-1", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "firebase": "^9.6.8", 12 | "pinia": "^2.0.11", 13 | "vue": "^3.2.25", 14 | "vue-router": "^4.0.14" 15 | }, 16 | "devDependencies": { 17 | "@vitejs/plugin-vue": "^2.2.0", 18 | "vite": "^2.8.0" 19 | } 20 | }, 21 | "node_modules/@babel/parser": { 22 | "version": "7.17.3", 23 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", 24 | "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", 25 | "bin": { 26 | "parser": "bin/babel-parser.js" 27 | }, 28 | "engines": { 29 | "node": ">=6.0.0" 30 | } 31 | }, 32 | "node_modules/@firebase/analytics": { 33 | "version": "0.7.5", 34 | "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.7.5.tgz", 35 | "integrity": "sha512-vrKDh84hBbKPJaU2oAZDewyC79D8opJOQZ5AU3BXBBwEfRjKt3C3jj/Vl6aJUme+RKXlomTw3xcHIOoPzTgBVA==", 36 | "dependencies": { 37 | "@firebase/component": "0.5.10", 38 | "@firebase/installations": "0.5.5", 39 | "@firebase/logger": "0.3.2", 40 | "@firebase/util": "1.4.3", 41 | "tslib": "^2.1.0" 42 | }, 43 | "peerDependencies": { 44 | "@firebase/app": "0.x" 45 | } 46 | }, 47 | "node_modules/@firebase/analytics-compat": { 48 | "version": "0.1.6", 49 | "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.6.tgz", 50 | "integrity": "sha512-xvdp4/zwOG1f+v9JSpfCQoPJ98HcJR42cEnZ9pRIQLmUy7L7QceIuaF3m+zVtoqa4agBQnJ1dhe58FshOFKOPw==", 51 | "dependencies": { 52 | "@firebase/analytics": "0.7.5", 53 | "@firebase/analytics-types": "0.7.0", 54 | "@firebase/component": "0.5.10", 55 | "@firebase/util": "1.4.3", 56 | "tslib": "^2.1.0" 57 | }, 58 | "peerDependencies": { 59 | "@firebase/app-compat": "0.x" 60 | } 61 | }, 62 | "node_modules/@firebase/analytics-types": { 63 | "version": "0.7.0", 64 | "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", 65 | "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" 66 | }, 67 | "node_modules/@firebase/app": { 68 | "version": "0.7.18", 69 | "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.18.tgz", 70 | "integrity": "sha512-jomDaPaEQEWfFUqvxQw4TYSs2gCT2BN0Ec1//3CdMsc1NcppduS31bxsjhn3KdPbtx4opkaZ2FcA+buHtdw9dw==", 71 | "dependencies": { 72 | "@firebase/component": "0.5.10", 73 | "@firebase/logger": "0.3.2", 74 | "@firebase/util": "1.4.3", 75 | "idb": "3.0.2", 76 | "tslib": "^2.1.0" 77 | } 78 | }, 79 | "node_modules/@firebase/app-check": { 80 | "version": "0.5.3", 81 | "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.3.tgz", 82 | "integrity": "sha512-M2/UO5PgxHCl0wPYWGdF6lO8nqclwuRMCIrc+75xv3/Dr3hhUu4ztF5JNaAV5tktSCt1UrnASG+4rNVifCzSRw==", 83 | "dependencies": { 84 | "@firebase/component": "0.5.10", 85 | "@firebase/logger": "0.3.2", 86 | "@firebase/util": "1.4.3", 87 | "tslib": "^2.1.0" 88 | }, 89 | "peerDependencies": { 90 | "@firebase/app": "0.x" 91 | } 92 | }, 93 | "node_modules/@firebase/app-check-compat": { 94 | "version": "0.2.3", 95 | "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.3.tgz", 96 | "integrity": "sha512-e2mKkuecr1XgsyTGXKfg83PcV1UdT7+tXYoHIjeBeLrP5gGL4OQbWCzzt6uVQpk1gmJbUktje/rd6Et6cdL+wg==", 97 | "dependencies": { 98 | "@firebase/app-check": "0.5.3", 99 | "@firebase/component": "0.5.10", 100 | "@firebase/logger": "0.3.2", 101 | "@firebase/util": "1.4.3", 102 | "tslib": "^2.1.0" 103 | }, 104 | "peerDependencies": { 105 | "@firebase/app-compat": "0.x" 106 | } 107 | }, 108 | "node_modules/@firebase/app-check-interop-types": { 109 | "version": "0.1.0", 110 | "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", 111 | "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" 112 | }, 113 | "node_modules/@firebase/app-compat": { 114 | "version": "0.1.19", 115 | "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.19.tgz", 116 | "integrity": "sha512-a0TgAXcjF3htSdi10mRwAks1+73nwbmSMXzjlOQDYJ8t3HE7FvHxfB4hjuwHKfgr3MWZjcarsGKVr7LWhUAE8w==", 117 | "dependencies": { 118 | "@firebase/app": "0.7.18", 119 | "@firebase/component": "0.5.10", 120 | "@firebase/logger": "0.3.2", 121 | "@firebase/util": "1.4.3", 122 | "tslib": "^2.1.0" 123 | } 124 | }, 125 | "node_modules/@firebase/app-types": { 126 | "version": "0.7.0", 127 | "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", 128 | "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" 129 | }, 130 | "node_modules/@firebase/auth": { 131 | "version": "0.19.9", 132 | "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.19.9.tgz", 133 | "integrity": "sha512-NoB/bCBVFBbJg23C+NqUP29KGaFOZEuLRA4ZKIKYgEfqsNfxMcEW8V+BMaU6n26JecUwNSBi7nPpOh+pWYOsaA==", 134 | "dependencies": { 135 | "@firebase/component": "0.5.10", 136 | "@firebase/logger": "0.3.2", 137 | "@firebase/util": "1.4.3", 138 | "node-fetch": "2.6.7", 139 | "selenium-webdriver": "4.0.0-rc-1", 140 | "tslib": "^2.1.0" 141 | }, 142 | "peerDependencies": { 143 | "@firebase/app": "0.x" 144 | } 145 | }, 146 | "node_modules/@firebase/auth-compat": { 147 | "version": "0.2.9", 148 | "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.9.tgz", 149 | "integrity": "sha512-VLp7v/IM82JdKPHC3VI10iSO1SgBJSSMD5StT7N/rUF7pvd0cpdjnixKMtsvw5V+G+CGcF99Nf2tRzOZjopT4Q==", 150 | "dependencies": { 151 | "@firebase/auth": "0.19.9", 152 | "@firebase/auth-types": "0.11.0", 153 | "@firebase/component": "0.5.10", 154 | "@firebase/util": "1.4.3", 155 | "node-fetch": "2.6.7", 156 | "selenium-webdriver": "^4.0.0-beta.2", 157 | "tslib": "^2.1.0" 158 | }, 159 | "peerDependencies": { 160 | "@firebase/app-compat": "0.x" 161 | } 162 | }, 163 | "node_modules/@firebase/auth-interop-types": { 164 | "version": "0.1.6", 165 | "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", 166 | "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", 167 | "peerDependencies": { 168 | "@firebase/app-types": "0.x", 169 | "@firebase/util": "1.x" 170 | } 171 | }, 172 | "node_modules/@firebase/auth-types": { 173 | "version": "0.11.0", 174 | "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", 175 | "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==", 176 | "peerDependencies": { 177 | "@firebase/app-types": "0.x", 178 | "@firebase/util": "1.x" 179 | } 180 | }, 181 | "node_modules/@firebase/component": { 182 | "version": "0.5.10", 183 | "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.10.tgz", 184 | "integrity": "sha512-mzUpg6rsBbdQJvAdu1rNWabU3O7qdd+B+/ubE1b+pTbBKfw5ySRpRRE6sKcZ/oQuwLh0HHB6FRJHcylmI7jDzA==", 185 | "dependencies": { 186 | "@firebase/util": "1.4.3", 187 | "tslib": "^2.1.0" 188 | } 189 | }, 190 | "node_modules/@firebase/database": { 191 | "version": "0.12.5", 192 | "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.12.5.tgz", 193 | "integrity": "sha512-1Pd2jYqvqZI7SQWAiXbTZxmsOa29PyOaPiUtr8pkLSfLp4AeyMBegYAXCLYLW6BNhKn3zNKFkxYDxYHq4q+Ixg==", 194 | "dependencies": { 195 | "@firebase/auth-interop-types": "0.1.6", 196 | "@firebase/component": "0.5.10", 197 | "@firebase/logger": "0.3.2", 198 | "@firebase/util": "1.4.3", 199 | "faye-websocket": "0.11.4", 200 | "tslib": "^2.1.0" 201 | } 202 | }, 203 | "node_modules/@firebase/database-compat": { 204 | "version": "0.1.5", 205 | "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.1.5.tgz", 206 | "integrity": "sha512-UVxkHL24sZfsjsjs+yiKIdYdrWXHrLxSFCYNdwNXDlTkAc0CWP9AAY3feLhBVpUKk+4Cj0I4sGnyIm2C1ltAYg==", 207 | "dependencies": { 208 | "@firebase/component": "0.5.10", 209 | "@firebase/database": "0.12.5", 210 | "@firebase/database-types": "0.9.4", 211 | "@firebase/logger": "0.3.2", 212 | "@firebase/util": "1.4.3", 213 | "tslib": "^2.1.0" 214 | }, 215 | "peerDependencies": { 216 | "@firebase/app-compat": "0.x" 217 | } 218 | }, 219 | "node_modules/@firebase/database-types": { 220 | "version": "0.9.4", 221 | "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.4.tgz", 222 | "integrity": "sha512-uAQuc6NUZ5Oh/cWZPeMValtcZ+4L1stgKOeYvz7mLn8+s03tnCDL2N47OLCHdntktVkhImQTwGNARgqhIhtNeA==", 223 | "dependencies": { 224 | "@firebase/app-types": "0.7.0", 225 | "@firebase/util": "1.4.3" 226 | } 227 | }, 228 | "node_modules/@firebase/firestore": { 229 | "version": "3.4.5", 230 | "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.4.5.tgz", 231 | "integrity": "sha512-QJF0Z6VL/7boifygyhb6KjLS6pgfZK6FP9rRGdpxWJugQ5b0YV/V3Lr1RdS1A78dPN4eEH9atCkFxUX4z96FeA==", 232 | "dependencies": { 233 | "@firebase/component": "0.5.10", 234 | "@firebase/logger": "0.3.2", 235 | "@firebase/util": "1.4.3", 236 | "@firebase/webchannel-wrapper": "0.6.1", 237 | "@grpc/grpc-js": "^1.3.2", 238 | "@grpc/proto-loader": "^0.6.0", 239 | "node-fetch": "2.6.7", 240 | "tslib": "^2.1.0" 241 | }, 242 | "engines": { 243 | "node": ">=10.10.0" 244 | }, 245 | "peerDependencies": { 246 | "@firebase/app": "0.x" 247 | } 248 | }, 249 | "node_modules/@firebase/firestore-compat": { 250 | "version": "0.1.14", 251 | "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.14.tgz", 252 | "integrity": "sha512-y/v4eTP44rjeMTy7TXiVa8QgRkE1tpRcdCUyeWqVD9kSHEVG5WY9pHLbHkuoXzSKos5ayM0qlrjpFD79sSCDPw==", 253 | "dependencies": { 254 | "@firebase/component": "0.5.10", 255 | "@firebase/firestore": "3.4.5", 256 | "@firebase/firestore-types": "2.5.0", 257 | "@firebase/util": "1.4.3", 258 | "tslib": "^2.1.0" 259 | }, 260 | "peerDependencies": { 261 | "@firebase/app-compat": "0.x" 262 | } 263 | }, 264 | "node_modules/@firebase/firestore-types": { 265 | "version": "2.5.0", 266 | "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", 267 | "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==", 268 | "peerDependencies": { 269 | "@firebase/app-types": "0.x", 270 | "@firebase/util": "1.x" 271 | } 272 | }, 273 | "node_modules/@firebase/functions": { 274 | "version": "0.7.8", 275 | "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.7.8.tgz", 276 | "integrity": "sha512-WNpKnQqufNkqHkFm1ol4oeF+/mA1y5gtj1csRFZqQS2EeDcq6FCs49abBFpjBOxWz8XDDNlSasCKhIrAAKIFfg==", 277 | "dependencies": { 278 | "@firebase/app-check-interop-types": "0.1.0", 279 | "@firebase/auth-interop-types": "0.1.6", 280 | "@firebase/component": "0.5.10", 281 | "@firebase/messaging-interop-types": "0.1.0", 282 | "@firebase/util": "1.4.3", 283 | "node-fetch": "2.6.7", 284 | "tslib": "^2.1.0" 285 | }, 286 | "peerDependencies": { 287 | "@firebase/app": "0.x" 288 | } 289 | }, 290 | "node_modules/@firebase/functions-compat": { 291 | "version": "0.1.9", 292 | "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.1.9.tgz", 293 | "integrity": "sha512-XhcLUVgxwqyk4euz1VO/qM6LUrkbR0vibh/2triR2ciJS2epkpvPICVMxWXaetsKOVpcaTs15eGpJClCRHGLjw==", 294 | "dependencies": { 295 | "@firebase/component": "0.5.10", 296 | "@firebase/functions": "0.7.8", 297 | "@firebase/functions-types": "0.5.0", 298 | "@firebase/util": "1.4.3", 299 | "tslib": "^2.1.0" 300 | }, 301 | "peerDependencies": { 302 | "@firebase/app-compat": "0.x" 303 | } 304 | }, 305 | "node_modules/@firebase/functions-types": { 306 | "version": "0.5.0", 307 | "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", 308 | "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" 309 | }, 310 | "node_modules/@firebase/installations": { 311 | "version": "0.5.5", 312 | "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.5.tgz", 313 | "integrity": "sha512-mYWUxYXPlxcR0YOikPw88TjIS2NK35Z0ivkJL0+FevNnVIsqwGSe12AtPlZB/kzjB0RtHoKW+cWC0V9xiTgJ3Q==", 314 | "dependencies": { 315 | "@firebase/component": "0.5.10", 316 | "@firebase/util": "1.4.3", 317 | "idb": "3.0.2", 318 | "tslib": "^2.1.0" 319 | }, 320 | "peerDependencies": { 321 | "@firebase/app": "0.x" 322 | } 323 | }, 324 | "node_modules/@firebase/logger": { 325 | "version": "0.3.2", 326 | "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.2.tgz", 327 | "integrity": "sha512-lzLrcJp9QBWpo40OcOM9B8QEtBw2Fk1zOZQdvv+rWS6gKmhQBCEMc4SMABQfWdjsylBcDfniD1Q+fUX1dcBTXA==", 328 | "dependencies": { 329 | "tslib": "^2.1.0" 330 | } 331 | }, 332 | "node_modules/@firebase/messaging": { 333 | "version": "0.9.9", 334 | "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.9.tgz", 335 | "integrity": "sha512-Fe6+VqFgVuvFOiVerQkPzdmHXnB7urujcKAxK3lRKxgafH89CRvXO1sPnPMvox5/JOCBZrAPok5KA7rOCxBguw==", 336 | "dependencies": { 337 | "@firebase/component": "0.5.10", 338 | "@firebase/installations": "0.5.5", 339 | "@firebase/messaging-interop-types": "0.1.0", 340 | "@firebase/util": "1.4.3", 341 | "idb": "3.0.2", 342 | "tslib": "^2.1.0" 343 | }, 344 | "peerDependencies": { 345 | "@firebase/app": "0.x" 346 | } 347 | }, 348 | "node_modules/@firebase/messaging-compat": { 349 | "version": "0.1.9", 350 | "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.9.tgz", 351 | "integrity": "sha512-smcBhvTLfgE2KDtvDj1Pm9zQ7GeyR5BLarYLxtvmhhbV6tpa8g+UUE3pCdqN+y1kx6mIYqNOmEEXv+1YnSiYwQ==", 352 | "dependencies": { 353 | "@firebase/component": "0.5.10", 354 | "@firebase/messaging": "0.9.9", 355 | "@firebase/util": "1.4.3", 356 | "tslib": "^2.1.0" 357 | }, 358 | "peerDependencies": { 359 | "@firebase/app-compat": "0.x" 360 | } 361 | }, 362 | "node_modules/@firebase/messaging-interop-types": { 363 | "version": "0.1.0", 364 | "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", 365 | "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" 366 | }, 367 | "node_modules/@firebase/performance": { 368 | "version": "0.5.5", 369 | "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.5.tgz", 370 | "integrity": "sha512-eA8mEKVnyY64fwAKxHbJF5t1hNkdR0EZVib0LfEWl/2elPmFcjik097hqLHzdFE88JYCxNGfFaSPo9Lbk/qe6A==", 371 | "dependencies": { 372 | "@firebase/component": "0.5.10", 373 | "@firebase/installations": "0.5.5", 374 | "@firebase/logger": "0.3.2", 375 | "@firebase/util": "1.4.3", 376 | "tslib": "^2.1.0" 377 | }, 378 | "peerDependencies": { 379 | "@firebase/app": "0.x" 380 | } 381 | }, 382 | "node_modules/@firebase/performance-compat": { 383 | "version": "0.1.5", 384 | "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.5.tgz", 385 | "integrity": "sha512-s9mqR0GXJaqvIZD/GsshacpKOGa3NP6Yht33mNEtpL7ERqj35mvD1CBoUwH52eMYAaxlQd9y9JrphQgK3EmWWw==", 386 | "dependencies": { 387 | "@firebase/component": "0.5.10", 388 | "@firebase/logger": "0.3.2", 389 | "@firebase/performance": "0.5.5", 390 | "@firebase/performance-types": "0.1.0", 391 | "@firebase/util": "1.4.3", 392 | "tslib": "^2.1.0" 393 | }, 394 | "peerDependencies": { 395 | "@firebase/app-compat": "0.x" 396 | } 397 | }, 398 | "node_modules/@firebase/performance-types": { 399 | "version": "0.1.0", 400 | "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", 401 | "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" 402 | }, 403 | "node_modules/@firebase/polyfill": { 404 | "version": "0.3.36", 405 | "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.36.tgz", 406 | "integrity": "sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==", 407 | "dependencies": { 408 | "core-js": "3.6.5", 409 | "promise-polyfill": "8.1.3", 410 | "whatwg-fetch": "2.0.4" 411 | } 412 | }, 413 | "node_modules/@firebase/remote-config": { 414 | "version": "0.3.4", 415 | "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.4.tgz", 416 | "integrity": "sha512-SLlyVVNJ6DnU1AOjNrmv5u9Fge7gUwZVooyxMIkaT3Lj9MBM5MwfJsoG3UyiV4l7yI0iPj34LuKPpMJXOOcs4w==", 417 | "dependencies": { 418 | "@firebase/component": "0.5.10", 419 | "@firebase/installations": "0.5.5", 420 | "@firebase/logger": "0.3.2", 421 | "@firebase/util": "1.4.3", 422 | "tslib": "^2.1.0" 423 | }, 424 | "peerDependencies": { 425 | "@firebase/app": "0.x" 426 | } 427 | }, 428 | "node_modules/@firebase/remote-config-compat": { 429 | "version": "0.1.5", 430 | "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.5.tgz", 431 | "integrity": "sha512-bgpmrCGyOj46c0xNFvivcXRHlaVkbt4mX2etbF9s6jaOILPd4rBHIfAiBpKL64GGwTkrOjWO9/HZun4I01gbpg==", 432 | "dependencies": { 433 | "@firebase/component": "0.5.10", 434 | "@firebase/logger": "0.3.2", 435 | "@firebase/remote-config": "0.3.4", 436 | "@firebase/remote-config-types": "0.2.0", 437 | "@firebase/util": "1.4.3", 438 | "tslib": "^2.1.0" 439 | }, 440 | "peerDependencies": { 441 | "@firebase/app-compat": "0.x" 442 | } 443 | }, 444 | "node_modules/@firebase/remote-config-types": { 445 | "version": "0.2.0", 446 | "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", 447 | "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" 448 | }, 449 | "node_modules/@firebase/storage": { 450 | "version": "0.9.2", 451 | "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.9.2.tgz", 452 | "integrity": "sha512-5xWgVHnE+n+cZAnFYd3NyNAQbp6/t3NL7TdqRGu1OaW5L7ioN7Rhq+L4I2yjIskVCoTaemYQDF+vICjCWoalbA==", 453 | "dependencies": { 454 | "@firebase/component": "0.5.10", 455 | "@firebase/util": "1.4.3", 456 | "node-fetch": "2.6.7", 457 | "tslib": "^2.1.0" 458 | }, 459 | "peerDependencies": { 460 | "@firebase/app": "0.x" 461 | } 462 | }, 463 | "node_modules/@firebase/storage-compat": { 464 | "version": "0.1.10", 465 | "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.10.tgz", 466 | "integrity": "sha512-l/mvUhDEJ/0/F2uBqmEqxZk+jvIEwLc9BO6lGPE3TtPdT2896u3GIzbI4XHjSLLUo5bA0ZKz8Z7GVev9CLsHfA==", 467 | "dependencies": { 468 | "@firebase/component": "0.5.10", 469 | "@firebase/storage": "0.9.2", 470 | "@firebase/storage-types": "0.6.0", 471 | "@firebase/util": "1.4.3", 472 | "tslib": "^2.1.0" 473 | }, 474 | "peerDependencies": { 475 | "@firebase/app-compat": "0.x" 476 | } 477 | }, 478 | "node_modules/@firebase/storage-types": { 479 | "version": "0.6.0", 480 | "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", 481 | "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==", 482 | "peerDependencies": { 483 | "@firebase/app-types": "0.x", 484 | "@firebase/util": "1.x" 485 | } 486 | }, 487 | "node_modules/@firebase/util": { 488 | "version": "1.4.3", 489 | "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.4.3.tgz", 490 | "integrity": "sha512-gQJl6r0a+MElLQEyU8Dx0kkC2coPj67f/zKZrGR7z7WpLgVanhaCUqEsptwpwoxi9RMFIaebleG+C9xxoARq+Q==", 491 | "dependencies": { 492 | "tslib": "^2.1.0" 493 | } 494 | }, 495 | "node_modules/@firebase/webchannel-wrapper": { 496 | "version": "0.6.1", 497 | "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.1.tgz", 498 | "integrity": "sha512-9FqhNjKQWpQ3fGnSOCovHOm+yhhiorKEqYLAfd525jWavunDJcx8rOW6i6ozAh+FbwcYMkL7b+3j4UR/30MpoQ==" 499 | }, 500 | "node_modules/@grpc/grpc-js": { 501 | "version": "1.5.7", 502 | "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.7.tgz", 503 | "integrity": "sha512-RAlSbZ9LXo0wNoHKeUlwP9dtGgVBDUbnBKFpfAv5iSqMG4qWz9um2yLH215+Wow1I48etIa1QMS+WAGmsE/7HQ==", 504 | "dependencies": { 505 | "@grpc/proto-loader": "^0.6.4", 506 | "@types/node": ">=12.12.47" 507 | }, 508 | "engines": { 509 | "node": "^8.13.0 || >=10.10.0" 510 | } 511 | }, 512 | "node_modules/@grpc/proto-loader": { 513 | "version": "0.6.9", 514 | "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.9.tgz", 515 | "integrity": "sha512-UlcCS8VbsU9d3XTXGiEVFonN7hXk+oMXZtoHHG2oSA1/GcDP1q6OUgs20PzHDGizzyi8ufGSUDlk3O2NyY7leg==", 516 | "dependencies": { 517 | "@types/long": "^4.0.1", 518 | "lodash.camelcase": "^4.3.0", 519 | "long": "^4.0.0", 520 | "protobufjs": "^6.10.0", 521 | "yargs": "^16.2.0" 522 | }, 523 | "bin": { 524 | "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" 525 | }, 526 | "engines": { 527 | "node": ">=6" 528 | } 529 | }, 530 | "node_modules/@protobufjs/aspromise": { 531 | "version": "1.1.2", 532 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 533 | "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" 534 | }, 535 | "node_modules/@protobufjs/base64": { 536 | "version": "1.1.2", 537 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 538 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" 539 | }, 540 | "node_modules/@protobufjs/codegen": { 541 | "version": "2.0.4", 542 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 543 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" 544 | }, 545 | "node_modules/@protobufjs/eventemitter": { 546 | "version": "1.1.0", 547 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 548 | "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" 549 | }, 550 | "node_modules/@protobufjs/fetch": { 551 | "version": "1.1.0", 552 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 553 | "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", 554 | "dependencies": { 555 | "@protobufjs/aspromise": "^1.1.1", 556 | "@protobufjs/inquire": "^1.1.0" 557 | } 558 | }, 559 | "node_modules/@protobufjs/float": { 560 | "version": "1.0.2", 561 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 562 | "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" 563 | }, 564 | "node_modules/@protobufjs/inquire": { 565 | "version": "1.1.0", 566 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 567 | "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" 568 | }, 569 | "node_modules/@protobufjs/path": { 570 | "version": "1.1.2", 571 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 572 | "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" 573 | }, 574 | "node_modules/@protobufjs/pool": { 575 | "version": "1.1.0", 576 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 577 | "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" 578 | }, 579 | "node_modules/@protobufjs/utf8": { 580 | "version": "1.1.0", 581 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 582 | "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" 583 | }, 584 | "node_modules/@types/long": { 585 | "version": "4.0.1", 586 | "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", 587 | "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" 588 | }, 589 | "node_modules/@types/node": { 590 | "version": "17.0.21", 591 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", 592 | "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==" 593 | }, 594 | "node_modules/@vitejs/plugin-vue": { 595 | "version": "2.2.4", 596 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.2.4.tgz", 597 | "integrity": "sha512-ev9AOlp0ljCaDkFZF3JwC/pD2N4Hh+r5srl5JHM6BKg5+99jiiK0rE/XaRs3pVm1wzyKkjUy/StBSoXX5fFzcw==", 598 | "dev": true, 599 | "engines": { 600 | "node": ">=12.0.0" 601 | }, 602 | "peerDependencies": { 603 | "vite": "^2.5.10", 604 | "vue": "^3.2.25" 605 | } 606 | }, 607 | "node_modules/@vue/compiler-core": { 608 | "version": "3.2.31", 609 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.31.tgz", 610 | "integrity": "sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==", 611 | "dependencies": { 612 | "@babel/parser": "^7.16.4", 613 | "@vue/shared": "3.2.31", 614 | "estree-walker": "^2.0.2", 615 | "source-map": "^0.6.1" 616 | } 617 | }, 618 | "node_modules/@vue/compiler-dom": { 619 | "version": "3.2.31", 620 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz", 621 | "integrity": "sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==", 622 | "dependencies": { 623 | "@vue/compiler-core": "3.2.31", 624 | "@vue/shared": "3.2.31" 625 | } 626 | }, 627 | "node_modules/@vue/compiler-sfc": { 628 | "version": "3.2.31", 629 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz", 630 | "integrity": "sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==", 631 | "dependencies": { 632 | "@babel/parser": "^7.16.4", 633 | "@vue/compiler-core": "3.2.31", 634 | "@vue/compiler-dom": "3.2.31", 635 | "@vue/compiler-ssr": "3.2.31", 636 | "@vue/reactivity-transform": "3.2.31", 637 | "@vue/shared": "3.2.31", 638 | "estree-walker": "^2.0.2", 639 | "magic-string": "^0.25.7", 640 | "postcss": "^8.1.10", 641 | "source-map": "^0.6.1" 642 | } 643 | }, 644 | "node_modules/@vue/compiler-ssr": { 645 | "version": "3.2.31", 646 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz", 647 | "integrity": "sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==", 648 | "dependencies": { 649 | "@vue/compiler-dom": "3.2.31", 650 | "@vue/shared": "3.2.31" 651 | } 652 | }, 653 | "node_modules/@vue/devtools-api": { 654 | "version": "6.1.0", 655 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.1.0.tgz", 656 | "integrity": "sha512-1FtbxEEHN70WGJl1b/h8nLmyN+tOHONNsNLvgVEXF/L/vBrRqQZ0kF+dev1YAz3OtxsQ1sV/vPLKwRlq1axrgg==" 657 | }, 658 | "node_modules/@vue/reactivity": { 659 | "version": "3.2.31", 660 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.31.tgz", 661 | "integrity": "sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==", 662 | "dependencies": { 663 | "@vue/shared": "3.2.31" 664 | } 665 | }, 666 | "node_modules/@vue/reactivity-transform": { 667 | "version": "3.2.31", 668 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz", 669 | "integrity": "sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==", 670 | "dependencies": { 671 | "@babel/parser": "^7.16.4", 672 | "@vue/compiler-core": "3.2.31", 673 | "@vue/shared": "3.2.31", 674 | "estree-walker": "^2.0.2", 675 | "magic-string": "^0.25.7" 676 | } 677 | }, 678 | "node_modules/@vue/runtime-core": { 679 | "version": "3.2.31", 680 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.31.tgz", 681 | "integrity": "sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==", 682 | "dependencies": { 683 | "@vue/reactivity": "3.2.31", 684 | "@vue/shared": "3.2.31" 685 | } 686 | }, 687 | "node_modules/@vue/runtime-dom": { 688 | "version": "3.2.31", 689 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.31.tgz", 690 | "integrity": "sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==", 691 | "dependencies": { 692 | "@vue/runtime-core": "3.2.31", 693 | "@vue/shared": "3.2.31", 694 | "csstype": "^2.6.8" 695 | } 696 | }, 697 | "node_modules/@vue/server-renderer": { 698 | "version": "3.2.31", 699 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.31.tgz", 700 | "integrity": "sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==", 701 | "dependencies": { 702 | "@vue/compiler-ssr": "3.2.31", 703 | "@vue/shared": "3.2.31" 704 | }, 705 | "peerDependencies": { 706 | "vue": "3.2.31" 707 | } 708 | }, 709 | "node_modules/@vue/shared": { 710 | "version": "3.2.31", 711 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.31.tgz", 712 | "integrity": "sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==" 713 | }, 714 | "node_modules/ansi-regex": { 715 | "version": "5.0.1", 716 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 717 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 718 | "engines": { 719 | "node": ">=8" 720 | } 721 | }, 722 | "node_modules/ansi-styles": { 723 | "version": "4.3.0", 724 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 725 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 726 | "dependencies": { 727 | "color-convert": "^2.0.1" 728 | }, 729 | "engines": { 730 | "node": ">=8" 731 | }, 732 | "funding": { 733 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 734 | } 735 | }, 736 | "node_modules/balanced-match": { 737 | "version": "1.0.2", 738 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 739 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 740 | }, 741 | "node_modules/brace-expansion": { 742 | "version": "1.1.11", 743 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 744 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 745 | "dependencies": { 746 | "balanced-match": "^1.0.0", 747 | "concat-map": "0.0.1" 748 | } 749 | }, 750 | "node_modules/cliui": { 751 | "version": "7.0.4", 752 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 753 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 754 | "dependencies": { 755 | "string-width": "^4.2.0", 756 | "strip-ansi": "^6.0.0", 757 | "wrap-ansi": "^7.0.0" 758 | } 759 | }, 760 | "node_modules/color-convert": { 761 | "version": "2.0.1", 762 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 763 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 764 | "dependencies": { 765 | "color-name": "~1.1.4" 766 | }, 767 | "engines": { 768 | "node": ">=7.0.0" 769 | } 770 | }, 771 | "node_modules/color-name": { 772 | "version": "1.1.4", 773 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 774 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 775 | }, 776 | "node_modules/concat-map": { 777 | "version": "0.0.1", 778 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 779 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 780 | }, 781 | "node_modules/core-js": { 782 | "version": "3.6.5", 783 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", 784 | "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", 785 | "hasInstallScript": true, 786 | "funding": { 787 | "type": "opencollective", 788 | "url": "https://opencollective.com/core-js" 789 | } 790 | }, 791 | "node_modules/core-util-is": { 792 | "version": "1.0.3", 793 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 794 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" 795 | }, 796 | "node_modules/csstype": { 797 | "version": "2.6.20", 798 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", 799 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" 800 | }, 801 | "node_modules/emoji-regex": { 802 | "version": "8.0.0", 803 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 804 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 805 | }, 806 | "node_modules/esbuild": { 807 | "version": "0.14.25", 808 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.25.tgz", 809 | "integrity": "sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==", 810 | "dev": true, 811 | "hasInstallScript": true, 812 | "bin": { 813 | "esbuild": "bin/esbuild" 814 | }, 815 | "engines": { 816 | "node": ">=12" 817 | }, 818 | "optionalDependencies": { 819 | "esbuild-android-64": "0.14.25", 820 | "esbuild-android-arm64": "0.14.25", 821 | "esbuild-darwin-64": "0.14.25", 822 | "esbuild-darwin-arm64": "0.14.25", 823 | "esbuild-freebsd-64": "0.14.25", 824 | "esbuild-freebsd-arm64": "0.14.25", 825 | "esbuild-linux-32": "0.14.25", 826 | "esbuild-linux-64": "0.14.25", 827 | "esbuild-linux-arm": "0.14.25", 828 | "esbuild-linux-arm64": "0.14.25", 829 | "esbuild-linux-mips64le": "0.14.25", 830 | "esbuild-linux-ppc64le": "0.14.25", 831 | "esbuild-linux-riscv64": "0.14.25", 832 | "esbuild-linux-s390x": "0.14.25", 833 | "esbuild-netbsd-64": "0.14.25", 834 | "esbuild-openbsd-64": "0.14.25", 835 | "esbuild-sunos-64": "0.14.25", 836 | "esbuild-windows-32": "0.14.25", 837 | "esbuild-windows-64": "0.14.25", 838 | "esbuild-windows-arm64": "0.14.25" 839 | } 840 | }, 841 | "node_modules/esbuild-android-64": { 842 | "version": "0.14.25", 843 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz", 844 | "integrity": "sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==", 845 | "cpu": [ 846 | "x64" 847 | ], 848 | "dev": true, 849 | "optional": true, 850 | "os": [ 851 | "android" 852 | ], 853 | "engines": { 854 | "node": ">=12" 855 | } 856 | }, 857 | "node_modules/esbuild-android-arm64": { 858 | "version": "0.14.25", 859 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz", 860 | "integrity": "sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==", 861 | "cpu": [ 862 | "arm64" 863 | ], 864 | "dev": true, 865 | "optional": true, 866 | "os": [ 867 | "android" 868 | ], 869 | "engines": { 870 | "node": ">=12" 871 | } 872 | }, 873 | "node_modules/esbuild-darwin-64": { 874 | "version": "0.14.25", 875 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz", 876 | "integrity": "sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==", 877 | "cpu": [ 878 | "x64" 879 | ], 880 | "dev": true, 881 | "optional": true, 882 | "os": [ 883 | "darwin" 884 | ], 885 | "engines": { 886 | "node": ">=12" 887 | } 888 | }, 889 | "node_modules/esbuild-darwin-arm64": { 890 | "version": "0.14.25", 891 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz", 892 | "integrity": "sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==", 893 | "cpu": [ 894 | "arm64" 895 | ], 896 | "dev": true, 897 | "optional": true, 898 | "os": [ 899 | "darwin" 900 | ], 901 | "engines": { 902 | "node": ">=12" 903 | } 904 | }, 905 | "node_modules/esbuild-freebsd-64": { 906 | "version": "0.14.25", 907 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz", 908 | "integrity": "sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==", 909 | "cpu": [ 910 | "x64" 911 | ], 912 | "dev": true, 913 | "optional": true, 914 | "os": [ 915 | "freebsd" 916 | ], 917 | "engines": { 918 | "node": ">=12" 919 | } 920 | }, 921 | "node_modules/esbuild-freebsd-arm64": { 922 | "version": "0.14.25", 923 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz", 924 | "integrity": "sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==", 925 | "cpu": [ 926 | "arm64" 927 | ], 928 | "dev": true, 929 | "optional": true, 930 | "os": [ 931 | "freebsd" 932 | ], 933 | "engines": { 934 | "node": ">=12" 935 | } 936 | }, 937 | "node_modules/esbuild-linux-32": { 938 | "version": "0.14.25", 939 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz", 940 | "integrity": "sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==", 941 | "cpu": [ 942 | "ia32" 943 | ], 944 | "dev": true, 945 | "optional": true, 946 | "os": [ 947 | "linux" 948 | ], 949 | "engines": { 950 | "node": ">=12" 951 | } 952 | }, 953 | "node_modules/esbuild-linux-64": { 954 | "version": "0.14.25", 955 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz", 956 | "integrity": "sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==", 957 | "cpu": [ 958 | "x64" 959 | ], 960 | "dev": true, 961 | "optional": true, 962 | "os": [ 963 | "linux" 964 | ], 965 | "engines": { 966 | "node": ">=12" 967 | } 968 | }, 969 | "node_modules/esbuild-linux-arm": { 970 | "version": "0.14.25", 971 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz", 972 | "integrity": "sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==", 973 | "cpu": [ 974 | "arm" 975 | ], 976 | "dev": true, 977 | "optional": true, 978 | "os": [ 979 | "linux" 980 | ], 981 | "engines": { 982 | "node": ">=12" 983 | } 984 | }, 985 | "node_modules/esbuild-linux-arm64": { 986 | "version": "0.14.25", 987 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz", 988 | "integrity": "sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==", 989 | "cpu": [ 990 | "arm64" 991 | ], 992 | "dev": true, 993 | "optional": true, 994 | "os": [ 995 | "linux" 996 | ], 997 | "engines": { 998 | "node": ">=12" 999 | } 1000 | }, 1001 | "node_modules/esbuild-linux-mips64le": { 1002 | "version": "0.14.25", 1003 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz", 1004 | "integrity": "sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==", 1005 | "cpu": [ 1006 | "mips64el" 1007 | ], 1008 | "dev": true, 1009 | "optional": true, 1010 | "os": [ 1011 | "linux" 1012 | ], 1013 | "engines": { 1014 | "node": ">=12" 1015 | } 1016 | }, 1017 | "node_modules/esbuild-linux-ppc64le": { 1018 | "version": "0.14.25", 1019 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz", 1020 | "integrity": "sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==", 1021 | "cpu": [ 1022 | "ppc64" 1023 | ], 1024 | "dev": true, 1025 | "optional": true, 1026 | "os": [ 1027 | "linux" 1028 | ], 1029 | "engines": { 1030 | "node": ">=12" 1031 | } 1032 | }, 1033 | "node_modules/esbuild-linux-riscv64": { 1034 | "version": "0.14.25", 1035 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz", 1036 | "integrity": "sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==", 1037 | "cpu": [ 1038 | "riscv64" 1039 | ], 1040 | "dev": true, 1041 | "optional": true, 1042 | "os": [ 1043 | "linux" 1044 | ], 1045 | "engines": { 1046 | "node": ">=12" 1047 | } 1048 | }, 1049 | "node_modules/esbuild-linux-s390x": { 1050 | "version": "0.14.25", 1051 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz", 1052 | "integrity": "sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==", 1053 | "cpu": [ 1054 | "s390x" 1055 | ], 1056 | "dev": true, 1057 | "optional": true, 1058 | "os": [ 1059 | "linux" 1060 | ], 1061 | "engines": { 1062 | "node": ">=12" 1063 | } 1064 | }, 1065 | "node_modules/esbuild-netbsd-64": { 1066 | "version": "0.14.25", 1067 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz", 1068 | "integrity": "sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==", 1069 | "cpu": [ 1070 | "x64" 1071 | ], 1072 | "dev": true, 1073 | "optional": true, 1074 | "os": [ 1075 | "netbsd" 1076 | ], 1077 | "engines": { 1078 | "node": ">=12" 1079 | } 1080 | }, 1081 | "node_modules/esbuild-openbsd-64": { 1082 | "version": "0.14.25", 1083 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz", 1084 | "integrity": "sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==", 1085 | "cpu": [ 1086 | "x64" 1087 | ], 1088 | "dev": true, 1089 | "optional": true, 1090 | "os": [ 1091 | "openbsd" 1092 | ], 1093 | "engines": { 1094 | "node": ">=12" 1095 | } 1096 | }, 1097 | "node_modules/esbuild-sunos-64": { 1098 | "version": "0.14.25", 1099 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz", 1100 | "integrity": "sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==", 1101 | "cpu": [ 1102 | "x64" 1103 | ], 1104 | "dev": true, 1105 | "optional": true, 1106 | "os": [ 1107 | "sunos" 1108 | ], 1109 | "engines": { 1110 | "node": ">=12" 1111 | } 1112 | }, 1113 | "node_modules/esbuild-windows-32": { 1114 | "version": "0.14.25", 1115 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz", 1116 | "integrity": "sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==", 1117 | "cpu": [ 1118 | "ia32" 1119 | ], 1120 | "dev": true, 1121 | "optional": true, 1122 | "os": [ 1123 | "win32" 1124 | ], 1125 | "engines": { 1126 | "node": ">=12" 1127 | } 1128 | }, 1129 | "node_modules/esbuild-windows-64": { 1130 | "version": "0.14.25", 1131 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz", 1132 | "integrity": "sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==", 1133 | "cpu": [ 1134 | "x64" 1135 | ], 1136 | "dev": true, 1137 | "optional": true, 1138 | "os": [ 1139 | "win32" 1140 | ], 1141 | "engines": { 1142 | "node": ">=12" 1143 | } 1144 | }, 1145 | "node_modules/esbuild-windows-arm64": { 1146 | "version": "0.14.25", 1147 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz", 1148 | "integrity": "sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==", 1149 | "cpu": [ 1150 | "arm64" 1151 | ], 1152 | "dev": true, 1153 | "optional": true, 1154 | "os": [ 1155 | "win32" 1156 | ], 1157 | "engines": { 1158 | "node": ">=12" 1159 | } 1160 | }, 1161 | "node_modules/escalade": { 1162 | "version": "3.1.1", 1163 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1164 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1165 | "engines": { 1166 | "node": ">=6" 1167 | } 1168 | }, 1169 | "node_modules/estree-walker": { 1170 | "version": "2.0.2", 1171 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 1172 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 1173 | }, 1174 | "node_modules/faye-websocket": { 1175 | "version": "0.11.4", 1176 | "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", 1177 | "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", 1178 | "dependencies": { 1179 | "websocket-driver": ">=0.5.1" 1180 | }, 1181 | "engines": { 1182 | "node": ">=0.8.0" 1183 | } 1184 | }, 1185 | "node_modules/firebase": { 1186 | "version": "9.6.8", 1187 | "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.6.8.tgz", 1188 | "integrity": "sha512-a/RcgiqK9L5d/ZKpHZ21c3x/KKIo2XwXp2droukbBTuaX0Md8ppHQWYlSqLmWIDR0y2zwN17lrfNVsE6f+4ncA==", 1189 | "dependencies": { 1190 | "@firebase/analytics": "0.7.5", 1191 | "@firebase/analytics-compat": "0.1.6", 1192 | "@firebase/app": "0.7.18", 1193 | "@firebase/app-check": "0.5.3", 1194 | "@firebase/app-check-compat": "0.2.3", 1195 | "@firebase/app-compat": "0.1.19", 1196 | "@firebase/app-types": "0.7.0", 1197 | "@firebase/auth": "0.19.9", 1198 | "@firebase/auth-compat": "0.2.9", 1199 | "@firebase/database": "0.12.5", 1200 | "@firebase/database-compat": "0.1.5", 1201 | "@firebase/firestore": "3.4.5", 1202 | "@firebase/firestore-compat": "0.1.14", 1203 | "@firebase/functions": "0.7.8", 1204 | "@firebase/functions-compat": "0.1.9", 1205 | "@firebase/installations": "0.5.5", 1206 | "@firebase/messaging": "0.9.9", 1207 | "@firebase/messaging-compat": "0.1.9", 1208 | "@firebase/performance": "0.5.5", 1209 | "@firebase/performance-compat": "0.1.5", 1210 | "@firebase/polyfill": "0.3.36", 1211 | "@firebase/remote-config": "0.3.4", 1212 | "@firebase/remote-config-compat": "0.1.5", 1213 | "@firebase/storage": "0.9.2", 1214 | "@firebase/storage-compat": "0.1.10", 1215 | "@firebase/util": "1.4.3" 1216 | } 1217 | }, 1218 | "node_modules/fs.realpath": { 1219 | "version": "1.0.0", 1220 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1221 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 1222 | }, 1223 | "node_modules/fsevents": { 1224 | "version": "2.3.2", 1225 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1226 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1227 | "dev": true, 1228 | "hasInstallScript": true, 1229 | "optional": true, 1230 | "os": [ 1231 | "darwin" 1232 | ], 1233 | "engines": { 1234 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1235 | } 1236 | }, 1237 | "node_modules/function-bind": { 1238 | "version": "1.1.1", 1239 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1240 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1241 | "dev": true 1242 | }, 1243 | "node_modules/get-caller-file": { 1244 | "version": "2.0.5", 1245 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1246 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1247 | "engines": { 1248 | "node": "6.* || 8.* || >= 10.*" 1249 | } 1250 | }, 1251 | "node_modules/glob": { 1252 | "version": "7.2.0", 1253 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 1254 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 1255 | "dependencies": { 1256 | "fs.realpath": "^1.0.0", 1257 | "inflight": "^1.0.4", 1258 | "inherits": "2", 1259 | "minimatch": "^3.0.4", 1260 | "once": "^1.3.0", 1261 | "path-is-absolute": "^1.0.0" 1262 | }, 1263 | "engines": { 1264 | "node": "*" 1265 | }, 1266 | "funding": { 1267 | "url": "https://github.com/sponsors/isaacs" 1268 | } 1269 | }, 1270 | "node_modules/has": { 1271 | "version": "1.0.3", 1272 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1273 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1274 | "dev": true, 1275 | "dependencies": { 1276 | "function-bind": "^1.1.1" 1277 | }, 1278 | "engines": { 1279 | "node": ">= 0.4.0" 1280 | } 1281 | }, 1282 | "node_modules/http-parser-js": { 1283 | "version": "0.5.6", 1284 | "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", 1285 | "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==" 1286 | }, 1287 | "node_modules/idb": { 1288 | "version": "3.0.2", 1289 | "resolved": "https://registry.npmjs.org/idb/-/idb-3.0.2.tgz", 1290 | "integrity": "sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw==" 1291 | }, 1292 | "node_modules/immediate": { 1293 | "version": "3.0.6", 1294 | "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", 1295 | "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" 1296 | }, 1297 | "node_modules/inflight": { 1298 | "version": "1.0.6", 1299 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1300 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1301 | "dependencies": { 1302 | "once": "^1.3.0", 1303 | "wrappy": "1" 1304 | } 1305 | }, 1306 | "node_modules/inherits": { 1307 | "version": "2.0.4", 1308 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1309 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1310 | }, 1311 | "node_modules/is-core-module": { 1312 | "version": "2.8.1", 1313 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 1314 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 1315 | "dev": true, 1316 | "dependencies": { 1317 | "has": "^1.0.3" 1318 | }, 1319 | "funding": { 1320 | "url": "https://github.com/sponsors/ljharb" 1321 | } 1322 | }, 1323 | "node_modules/is-fullwidth-code-point": { 1324 | "version": "3.0.0", 1325 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1326 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1327 | "engines": { 1328 | "node": ">=8" 1329 | } 1330 | }, 1331 | "node_modules/isarray": { 1332 | "version": "1.0.0", 1333 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1334 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1335 | }, 1336 | "node_modules/jszip": { 1337 | "version": "3.7.1", 1338 | "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", 1339 | "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", 1340 | "dependencies": { 1341 | "lie": "~3.3.0", 1342 | "pako": "~1.0.2", 1343 | "readable-stream": "~2.3.6", 1344 | "set-immediate-shim": "~1.0.1" 1345 | } 1346 | }, 1347 | "node_modules/lie": { 1348 | "version": "3.3.0", 1349 | "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", 1350 | "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", 1351 | "dependencies": { 1352 | "immediate": "~3.0.5" 1353 | } 1354 | }, 1355 | "node_modules/lodash.camelcase": { 1356 | "version": "4.3.0", 1357 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 1358 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" 1359 | }, 1360 | "node_modules/long": { 1361 | "version": "4.0.0", 1362 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 1363 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" 1364 | }, 1365 | "node_modules/magic-string": { 1366 | "version": "0.25.9", 1367 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 1368 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 1369 | "dependencies": { 1370 | "sourcemap-codec": "^1.4.8" 1371 | } 1372 | }, 1373 | "node_modules/minimatch": { 1374 | "version": "3.1.2", 1375 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1376 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1377 | "dependencies": { 1378 | "brace-expansion": "^1.1.7" 1379 | }, 1380 | "engines": { 1381 | "node": "*" 1382 | } 1383 | }, 1384 | "node_modules/nanoid": { 1385 | "version": "3.3.1", 1386 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", 1387 | "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", 1388 | "bin": { 1389 | "nanoid": "bin/nanoid.cjs" 1390 | }, 1391 | "engines": { 1392 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1393 | } 1394 | }, 1395 | "node_modules/node-fetch": { 1396 | "version": "2.6.7", 1397 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 1398 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 1399 | "dependencies": { 1400 | "whatwg-url": "^5.0.0" 1401 | }, 1402 | "engines": { 1403 | "node": "4.x || >=6.0.0" 1404 | }, 1405 | "peerDependencies": { 1406 | "encoding": "^0.1.0" 1407 | }, 1408 | "peerDependenciesMeta": { 1409 | "encoding": { 1410 | "optional": true 1411 | } 1412 | } 1413 | }, 1414 | "node_modules/once": { 1415 | "version": "1.4.0", 1416 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1417 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1418 | "dependencies": { 1419 | "wrappy": "1" 1420 | } 1421 | }, 1422 | "node_modules/pako": { 1423 | "version": "1.0.11", 1424 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 1425 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" 1426 | }, 1427 | "node_modules/path-is-absolute": { 1428 | "version": "1.0.1", 1429 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1430 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1431 | "engines": { 1432 | "node": ">=0.10.0" 1433 | } 1434 | }, 1435 | "node_modules/path-parse": { 1436 | "version": "1.0.7", 1437 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1438 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1439 | "dev": true 1440 | }, 1441 | "node_modules/picocolors": { 1442 | "version": "1.0.0", 1443 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1444 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1445 | }, 1446 | "node_modules/pinia": { 1447 | "version": "2.0.11", 1448 | "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.11.tgz", 1449 | "integrity": "sha512-JzcmnMqu28PNWOjDgEDK6fTrIzX8eQZKPPKvu/fpHdpXARUj1xeVdFi3YFIMOWswqaBd589cpmAMdSSTryI9iw==", 1450 | "dependencies": { 1451 | "@vue/devtools-api": "^6.0.0-beta.21", 1452 | "vue-demi": "*" 1453 | }, 1454 | "funding": { 1455 | "url": "https://github.com/sponsors/posva" 1456 | }, 1457 | "peerDependencies": { 1458 | "@vue/composition-api": "^1.4.0", 1459 | "typescript": ">=4.4.4", 1460 | "vue": "^2.6.14 || ^3.2.0" 1461 | }, 1462 | "peerDependenciesMeta": { 1463 | "@vue/composition-api": { 1464 | "optional": true 1465 | }, 1466 | "typescript": { 1467 | "optional": true 1468 | } 1469 | } 1470 | }, 1471 | "node_modules/pinia/node_modules/vue-demi": { 1472 | "version": "0.12.1", 1473 | "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.12.1.tgz", 1474 | "integrity": "sha512-QL3ny+wX8c6Xm1/EZylbgzdoDolye+VpCXRhI2hug9dJTP3OUJ3lmiKN3CsVV3mOJKwFi0nsstbgob0vG7aoIw==", 1475 | "hasInstallScript": true, 1476 | "bin": { 1477 | "vue-demi-fix": "bin/vue-demi-fix.js", 1478 | "vue-demi-switch": "bin/vue-demi-switch.js" 1479 | }, 1480 | "engines": { 1481 | "node": ">=12" 1482 | }, 1483 | "funding": { 1484 | "url": "https://github.com/sponsors/antfu" 1485 | }, 1486 | "peerDependencies": { 1487 | "@vue/composition-api": "^1.0.0-rc.1", 1488 | "vue": "^3.0.0-0 || ^2.6.0" 1489 | }, 1490 | "peerDependenciesMeta": { 1491 | "@vue/composition-api": { 1492 | "optional": true 1493 | } 1494 | } 1495 | }, 1496 | "node_modules/postcss": { 1497 | "version": "8.4.8", 1498 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.8.tgz", 1499 | "integrity": "sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ==", 1500 | "dependencies": { 1501 | "nanoid": "^3.3.1", 1502 | "picocolors": "^1.0.0", 1503 | "source-map-js": "^1.0.2" 1504 | }, 1505 | "engines": { 1506 | "node": "^10 || ^12 || >=14" 1507 | }, 1508 | "funding": { 1509 | "type": "opencollective", 1510 | "url": "https://opencollective.com/postcss/" 1511 | } 1512 | }, 1513 | "node_modules/process-nextick-args": { 1514 | "version": "2.0.1", 1515 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1516 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 1517 | }, 1518 | "node_modules/promise-polyfill": { 1519 | "version": "8.1.3", 1520 | "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", 1521 | "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" 1522 | }, 1523 | "node_modules/protobufjs": { 1524 | "version": "6.11.2", 1525 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", 1526 | "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", 1527 | "hasInstallScript": true, 1528 | "dependencies": { 1529 | "@protobufjs/aspromise": "^1.1.2", 1530 | "@protobufjs/base64": "^1.1.2", 1531 | "@protobufjs/codegen": "^2.0.4", 1532 | "@protobufjs/eventemitter": "^1.1.0", 1533 | "@protobufjs/fetch": "^1.1.0", 1534 | "@protobufjs/float": "^1.0.2", 1535 | "@protobufjs/inquire": "^1.1.0", 1536 | "@protobufjs/path": "^1.1.2", 1537 | "@protobufjs/pool": "^1.1.0", 1538 | "@protobufjs/utf8": "^1.1.0", 1539 | "@types/long": "^4.0.1", 1540 | "@types/node": ">=13.7.0", 1541 | "long": "^4.0.0" 1542 | }, 1543 | "bin": { 1544 | "pbjs": "bin/pbjs", 1545 | "pbts": "bin/pbts" 1546 | } 1547 | }, 1548 | "node_modules/readable-stream": { 1549 | "version": "2.3.7", 1550 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 1551 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 1552 | "dependencies": { 1553 | "core-util-is": "~1.0.0", 1554 | "inherits": "~2.0.3", 1555 | "isarray": "~1.0.0", 1556 | "process-nextick-args": "~2.0.0", 1557 | "safe-buffer": "~5.1.1", 1558 | "string_decoder": "~1.1.1", 1559 | "util-deprecate": "~1.0.1" 1560 | } 1561 | }, 1562 | "node_modules/require-directory": { 1563 | "version": "2.1.1", 1564 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1565 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 1566 | "engines": { 1567 | "node": ">=0.10.0" 1568 | } 1569 | }, 1570 | "node_modules/resolve": { 1571 | "version": "1.22.0", 1572 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 1573 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 1574 | "dev": true, 1575 | "dependencies": { 1576 | "is-core-module": "^2.8.1", 1577 | "path-parse": "^1.0.7", 1578 | "supports-preserve-symlinks-flag": "^1.0.0" 1579 | }, 1580 | "bin": { 1581 | "resolve": "bin/resolve" 1582 | }, 1583 | "funding": { 1584 | "url": "https://github.com/sponsors/ljharb" 1585 | } 1586 | }, 1587 | "node_modules/rimraf": { 1588 | "version": "3.0.2", 1589 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1590 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1591 | "dependencies": { 1592 | "glob": "^7.1.3" 1593 | }, 1594 | "bin": { 1595 | "rimraf": "bin.js" 1596 | }, 1597 | "funding": { 1598 | "url": "https://github.com/sponsors/isaacs" 1599 | } 1600 | }, 1601 | "node_modules/rollup": { 1602 | "version": "2.70.0", 1603 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.0.tgz", 1604 | "integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==", 1605 | "dev": true, 1606 | "bin": { 1607 | "rollup": "dist/bin/rollup" 1608 | }, 1609 | "engines": { 1610 | "node": ">=10.0.0" 1611 | }, 1612 | "optionalDependencies": { 1613 | "fsevents": "~2.3.2" 1614 | } 1615 | }, 1616 | "node_modules/safe-buffer": { 1617 | "version": "5.1.2", 1618 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1619 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1620 | }, 1621 | "node_modules/selenium-webdriver": { 1622 | "version": "4.0.0-rc-1", 1623 | "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-rc-1.tgz", 1624 | "integrity": "sha512-bcrwFPRax8fifRP60p7xkWDGSJJoMkPAzufMlk5K2NyLPht/YZzR2WcIk1+3gR8VOCLlst1P2PI+MXACaFzpIw==", 1625 | "dependencies": { 1626 | "jszip": "^3.6.0", 1627 | "rimraf": "^3.0.2", 1628 | "tmp": "^0.2.1", 1629 | "ws": ">=7.4.6" 1630 | }, 1631 | "engines": { 1632 | "node": ">= 10.15.0" 1633 | } 1634 | }, 1635 | "node_modules/set-immediate-shim": { 1636 | "version": "1.0.1", 1637 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", 1638 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", 1639 | "engines": { 1640 | "node": ">=0.10.0" 1641 | } 1642 | }, 1643 | "node_modules/source-map": { 1644 | "version": "0.6.1", 1645 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1646 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1647 | "engines": { 1648 | "node": ">=0.10.0" 1649 | } 1650 | }, 1651 | "node_modules/source-map-js": { 1652 | "version": "1.0.2", 1653 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1654 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1655 | "engines": { 1656 | "node": ">=0.10.0" 1657 | } 1658 | }, 1659 | "node_modules/sourcemap-codec": { 1660 | "version": "1.4.8", 1661 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1662 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 1663 | }, 1664 | "node_modules/string_decoder": { 1665 | "version": "1.1.1", 1666 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 1667 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 1668 | "dependencies": { 1669 | "safe-buffer": "~5.1.0" 1670 | } 1671 | }, 1672 | "node_modules/string-width": { 1673 | "version": "4.2.3", 1674 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1675 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1676 | "dependencies": { 1677 | "emoji-regex": "^8.0.0", 1678 | "is-fullwidth-code-point": "^3.0.0", 1679 | "strip-ansi": "^6.0.1" 1680 | }, 1681 | "engines": { 1682 | "node": ">=8" 1683 | } 1684 | }, 1685 | "node_modules/strip-ansi": { 1686 | "version": "6.0.1", 1687 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1688 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1689 | "dependencies": { 1690 | "ansi-regex": "^5.0.1" 1691 | }, 1692 | "engines": { 1693 | "node": ">=8" 1694 | } 1695 | }, 1696 | "node_modules/supports-preserve-symlinks-flag": { 1697 | "version": "1.0.0", 1698 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1699 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1700 | "dev": true, 1701 | "engines": { 1702 | "node": ">= 0.4" 1703 | }, 1704 | "funding": { 1705 | "url": "https://github.com/sponsors/ljharb" 1706 | } 1707 | }, 1708 | "node_modules/tmp": { 1709 | "version": "0.2.1", 1710 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", 1711 | "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", 1712 | "dependencies": { 1713 | "rimraf": "^3.0.0" 1714 | }, 1715 | "engines": { 1716 | "node": ">=8.17.0" 1717 | } 1718 | }, 1719 | "node_modules/tr46": { 1720 | "version": "0.0.3", 1721 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 1722 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" 1723 | }, 1724 | "node_modules/tslib": { 1725 | "version": "2.3.1", 1726 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 1727 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" 1728 | }, 1729 | "node_modules/util-deprecate": { 1730 | "version": "1.0.2", 1731 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1732 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1733 | }, 1734 | "node_modules/vite": { 1735 | "version": "2.8.6", 1736 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.8.6.tgz", 1737 | "integrity": "sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==", 1738 | "dev": true, 1739 | "dependencies": { 1740 | "esbuild": "^0.14.14", 1741 | "postcss": "^8.4.6", 1742 | "resolve": "^1.22.0", 1743 | "rollup": "^2.59.0" 1744 | }, 1745 | "bin": { 1746 | "vite": "bin/vite.js" 1747 | }, 1748 | "engines": { 1749 | "node": ">=12.2.0" 1750 | }, 1751 | "optionalDependencies": { 1752 | "fsevents": "~2.3.2" 1753 | }, 1754 | "peerDependencies": { 1755 | "less": "*", 1756 | "sass": "*", 1757 | "stylus": "*" 1758 | }, 1759 | "peerDependenciesMeta": { 1760 | "less": { 1761 | "optional": true 1762 | }, 1763 | "sass": { 1764 | "optional": true 1765 | }, 1766 | "stylus": { 1767 | "optional": true 1768 | } 1769 | } 1770 | }, 1771 | "node_modules/vue": { 1772 | "version": "3.2.31", 1773 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.31.tgz", 1774 | "integrity": "sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==", 1775 | "dependencies": { 1776 | "@vue/compiler-dom": "3.2.31", 1777 | "@vue/compiler-sfc": "3.2.31", 1778 | "@vue/runtime-dom": "3.2.31", 1779 | "@vue/server-renderer": "3.2.31", 1780 | "@vue/shared": "3.2.31" 1781 | } 1782 | }, 1783 | "node_modules/vue-router": { 1784 | "version": "4.0.14", 1785 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.14.tgz", 1786 | "integrity": "sha512-wAO6zF9zxA3u+7AkMPqw9LjoUCjSxfFvINQj3E/DceTt6uEz1XZLraDhdg2EYmvVwTBSGlLYsUw8bDmx0754Mw==", 1787 | "dependencies": { 1788 | "@vue/devtools-api": "^6.0.0" 1789 | }, 1790 | "funding": { 1791 | "url": "https://github.com/sponsors/posva" 1792 | }, 1793 | "peerDependencies": { 1794 | "vue": "^3.2.0" 1795 | } 1796 | }, 1797 | "node_modules/webidl-conversions": { 1798 | "version": "3.0.1", 1799 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 1800 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" 1801 | }, 1802 | "node_modules/websocket-driver": { 1803 | "version": "0.7.4", 1804 | "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", 1805 | "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", 1806 | "dependencies": { 1807 | "http-parser-js": ">=0.5.1", 1808 | "safe-buffer": ">=5.1.0", 1809 | "websocket-extensions": ">=0.1.1" 1810 | }, 1811 | "engines": { 1812 | "node": ">=0.8.0" 1813 | } 1814 | }, 1815 | "node_modules/websocket-extensions": { 1816 | "version": "0.1.4", 1817 | "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", 1818 | "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", 1819 | "engines": { 1820 | "node": ">=0.8.0" 1821 | } 1822 | }, 1823 | "node_modules/whatwg-fetch": { 1824 | "version": "2.0.4", 1825 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", 1826 | "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" 1827 | }, 1828 | "node_modules/whatwg-url": { 1829 | "version": "5.0.0", 1830 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1831 | "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", 1832 | "dependencies": { 1833 | "tr46": "~0.0.3", 1834 | "webidl-conversions": "^3.0.0" 1835 | } 1836 | }, 1837 | "node_modules/wrap-ansi": { 1838 | "version": "7.0.0", 1839 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1840 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1841 | "dependencies": { 1842 | "ansi-styles": "^4.0.0", 1843 | "string-width": "^4.1.0", 1844 | "strip-ansi": "^6.0.0" 1845 | }, 1846 | "engines": { 1847 | "node": ">=10" 1848 | }, 1849 | "funding": { 1850 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1851 | } 1852 | }, 1853 | "node_modules/wrappy": { 1854 | "version": "1.0.2", 1855 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1856 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 1857 | }, 1858 | "node_modules/ws": { 1859 | "version": "8.5.0", 1860 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", 1861 | "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", 1862 | "engines": { 1863 | "node": ">=10.0.0" 1864 | }, 1865 | "peerDependencies": { 1866 | "bufferutil": "^4.0.1", 1867 | "utf-8-validate": "^5.0.2" 1868 | }, 1869 | "peerDependenciesMeta": { 1870 | "bufferutil": { 1871 | "optional": true 1872 | }, 1873 | "utf-8-validate": { 1874 | "optional": true 1875 | } 1876 | } 1877 | }, 1878 | "node_modules/y18n": { 1879 | "version": "5.0.8", 1880 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 1881 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 1882 | "engines": { 1883 | "node": ">=10" 1884 | } 1885 | }, 1886 | "node_modules/yargs": { 1887 | "version": "16.2.0", 1888 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 1889 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 1890 | "dependencies": { 1891 | "cliui": "^7.0.2", 1892 | "escalade": "^3.1.1", 1893 | "get-caller-file": "^2.0.5", 1894 | "require-directory": "^2.1.1", 1895 | "string-width": "^4.2.0", 1896 | "y18n": "^5.0.5", 1897 | "yargs-parser": "^20.2.2" 1898 | }, 1899 | "engines": { 1900 | "node": ">=10" 1901 | } 1902 | }, 1903 | "node_modules/yargs-parser": { 1904 | "version": "20.2.9", 1905 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 1906 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", 1907 | "engines": { 1908 | "node": ">=10" 1909 | } 1910 | } 1911 | }, 1912 | "dependencies": { 1913 | "@babel/parser": { 1914 | "version": "7.17.3", 1915 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", 1916 | "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==" 1917 | }, 1918 | "@firebase/analytics": { 1919 | "version": "0.7.5", 1920 | "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.7.5.tgz", 1921 | "integrity": "sha512-vrKDh84hBbKPJaU2oAZDewyC79D8opJOQZ5AU3BXBBwEfRjKt3C3jj/Vl6aJUme+RKXlomTw3xcHIOoPzTgBVA==", 1922 | "requires": { 1923 | "@firebase/component": "0.5.10", 1924 | "@firebase/installations": "0.5.5", 1925 | "@firebase/logger": "0.3.2", 1926 | "@firebase/util": "1.4.3", 1927 | "tslib": "^2.1.0" 1928 | } 1929 | }, 1930 | "@firebase/analytics-compat": { 1931 | "version": "0.1.6", 1932 | "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.6.tgz", 1933 | "integrity": "sha512-xvdp4/zwOG1f+v9JSpfCQoPJ98HcJR42cEnZ9pRIQLmUy7L7QceIuaF3m+zVtoqa4agBQnJ1dhe58FshOFKOPw==", 1934 | "requires": { 1935 | "@firebase/analytics": "0.7.5", 1936 | "@firebase/analytics-types": "0.7.0", 1937 | "@firebase/component": "0.5.10", 1938 | "@firebase/util": "1.4.3", 1939 | "tslib": "^2.1.0" 1940 | } 1941 | }, 1942 | "@firebase/analytics-types": { 1943 | "version": "0.7.0", 1944 | "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", 1945 | "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" 1946 | }, 1947 | "@firebase/app": { 1948 | "version": "0.7.18", 1949 | "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.18.tgz", 1950 | "integrity": "sha512-jomDaPaEQEWfFUqvxQw4TYSs2gCT2BN0Ec1//3CdMsc1NcppduS31bxsjhn3KdPbtx4opkaZ2FcA+buHtdw9dw==", 1951 | "requires": { 1952 | "@firebase/component": "0.5.10", 1953 | "@firebase/logger": "0.3.2", 1954 | "@firebase/util": "1.4.3", 1955 | "idb": "3.0.2", 1956 | "tslib": "^2.1.0" 1957 | } 1958 | }, 1959 | "@firebase/app-check": { 1960 | "version": "0.5.3", 1961 | "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.3.tgz", 1962 | "integrity": "sha512-M2/UO5PgxHCl0wPYWGdF6lO8nqclwuRMCIrc+75xv3/Dr3hhUu4ztF5JNaAV5tktSCt1UrnASG+4rNVifCzSRw==", 1963 | "requires": { 1964 | "@firebase/component": "0.5.10", 1965 | "@firebase/logger": "0.3.2", 1966 | "@firebase/util": "1.4.3", 1967 | "tslib": "^2.1.0" 1968 | } 1969 | }, 1970 | "@firebase/app-check-compat": { 1971 | "version": "0.2.3", 1972 | "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.3.tgz", 1973 | "integrity": "sha512-e2mKkuecr1XgsyTGXKfg83PcV1UdT7+tXYoHIjeBeLrP5gGL4OQbWCzzt6uVQpk1gmJbUktje/rd6Et6cdL+wg==", 1974 | "requires": { 1975 | "@firebase/app-check": "0.5.3", 1976 | "@firebase/component": "0.5.10", 1977 | "@firebase/logger": "0.3.2", 1978 | "@firebase/util": "1.4.3", 1979 | "tslib": "^2.1.0" 1980 | } 1981 | }, 1982 | "@firebase/app-check-interop-types": { 1983 | "version": "0.1.0", 1984 | "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", 1985 | "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" 1986 | }, 1987 | "@firebase/app-compat": { 1988 | "version": "0.1.19", 1989 | "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.19.tgz", 1990 | "integrity": "sha512-a0TgAXcjF3htSdi10mRwAks1+73nwbmSMXzjlOQDYJ8t3HE7FvHxfB4hjuwHKfgr3MWZjcarsGKVr7LWhUAE8w==", 1991 | "requires": { 1992 | "@firebase/app": "0.7.18", 1993 | "@firebase/component": "0.5.10", 1994 | "@firebase/logger": "0.3.2", 1995 | "@firebase/util": "1.4.3", 1996 | "tslib": "^2.1.0" 1997 | } 1998 | }, 1999 | "@firebase/app-types": { 2000 | "version": "0.7.0", 2001 | "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", 2002 | "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" 2003 | }, 2004 | "@firebase/auth": { 2005 | "version": "0.19.9", 2006 | "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.19.9.tgz", 2007 | "integrity": "sha512-NoB/bCBVFBbJg23C+NqUP29KGaFOZEuLRA4ZKIKYgEfqsNfxMcEW8V+BMaU6n26JecUwNSBi7nPpOh+pWYOsaA==", 2008 | "requires": { 2009 | "@firebase/component": "0.5.10", 2010 | "@firebase/logger": "0.3.2", 2011 | "@firebase/util": "1.4.3", 2012 | "node-fetch": "2.6.7", 2013 | "selenium-webdriver": "4.0.0-rc-1", 2014 | "tslib": "^2.1.0" 2015 | } 2016 | }, 2017 | "@firebase/auth-compat": { 2018 | "version": "0.2.9", 2019 | "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.9.tgz", 2020 | "integrity": "sha512-VLp7v/IM82JdKPHC3VI10iSO1SgBJSSMD5StT7N/rUF7pvd0cpdjnixKMtsvw5V+G+CGcF99Nf2tRzOZjopT4Q==", 2021 | "requires": { 2022 | "@firebase/auth": "0.19.9", 2023 | "@firebase/auth-types": "0.11.0", 2024 | "@firebase/component": "0.5.10", 2025 | "@firebase/util": "1.4.3", 2026 | "node-fetch": "2.6.7", 2027 | "selenium-webdriver": "^4.0.0-beta.2", 2028 | "tslib": "^2.1.0" 2029 | } 2030 | }, 2031 | "@firebase/auth-interop-types": { 2032 | "version": "0.1.6", 2033 | "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", 2034 | "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", 2035 | "requires": {} 2036 | }, 2037 | "@firebase/auth-types": { 2038 | "version": "0.11.0", 2039 | "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", 2040 | "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==", 2041 | "requires": {} 2042 | }, 2043 | "@firebase/component": { 2044 | "version": "0.5.10", 2045 | "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.10.tgz", 2046 | "integrity": "sha512-mzUpg6rsBbdQJvAdu1rNWabU3O7qdd+B+/ubE1b+pTbBKfw5ySRpRRE6sKcZ/oQuwLh0HHB6FRJHcylmI7jDzA==", 2047 | "requires": { 2048 | "@firebase/util": "1.4.3", 2049 | "tslib": "^2.1.0" 2050 | } 2051 | }, 2052 | "@firebase/database": { 2053 | "version": "0.12.5", 2054 | "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.12.5.tgz", 2055 | "integrity": "sha512-1Pd2jYqvqZI7SQWAiXbTZxmsOa29PyOaPiUtr8pkLSfLp4AeyMBegYAXCLYLW6BNhKn3zNKFkxYDxYHq4q+Ixg==", 2056 | "requires": { 2057 | "@firebase/auth-interop-types": "0.1.6", 2058 | "@firebase/component": "0.5.10", 2059 | "@firebase/logger": "0.3.2", 2060 | "@firebase/util": "1.4.3", 2061 | "faye-websocket": "0.11.4", 2062 | "tslib": "^2.1.0" 2063 | } 2064 | }, 2065 | "@firebase/database-compat": { 2066 | "version": "0.1.5", 2067 | "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.1.5.tgz", 2068 | "integrity": "sha512-UVxkHL24sZfsjsjs+yiKIdYdrWXHrLxSFCYNdwNXDlTkAc0CWP9AAY3feLhBVpUKk+4Cj0I4sGnyIm2C1ltAYg==", 2069 | "requires": { 2070 | "@firebase/component": "0.5.10", 2071 | "@firebase/database": "0.12.5", 2072 | "@firebase/database-types": "0.9.4", 2073 | "@firebase/logger": "0.3.2", 2074 | "@firebase/util": "1.4.3", 2075 | "tslib": "^2.1.0" 2076 | } 2077 | }, 2078 | "@firebase/database-types": { 2079 | "version": "0.9.4", 2080 | "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.4.tgz", 2081 | "integrity": "sha512-uAQuc6NUZ5Oh/cWZPeMValtcZ+4L1stgKOeYvz7mLn8+s03tnCDL2N47OLCHdntktVkhImQTwGNARgqhIhtNeA==", 2082 | "requires": { 2083 | "@firebase/app-types": "0.7.0", 2084 | "@firebase/util": "1.4.3" 2085 | } 2086 | }, 2087 | "@firebase/firestore": { 2088 | "version": "3.4.5", 2089 | "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.4.5.tgz", 2090 | "integrity": "sha512-QJF0Z6VL/7boifygyhb6KjLS6pgfZK6FP9rRGdpxWJugQ5b0YV/V3Lr1RdS1A78dPN4eEH9atCkFxUX4z96FeA==", 2091 | "requires": { 2092 | "@firebase/component": "0.5.10", 2093 | "@firebase/logger": "0.3.2", 2094 | "@firebase/util": "1.4.3", 2095 | "@firebase/webchannel-wrapper": "0.6.1", 2096 | "@grpc/grpc-js": "^1.3.2", 2097 | "@grpc/proto-loader": "^0.6.0", 2098 | "node-fetch": "2.6.7", 2099 | "tslib": "^2.1.0" 2100 | } 2101 | }, 2102 | "@firebase/firestore-compat": { 2103 | "version": "0.1.14", 2104 | "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.14.tgz", 2105 | "integrity": "sha512-y/v4eTP44rjeMTy7TXiVa8QgRkE1tpRcdCUyeWqVD9kSHEVG5WY9pHLbHkuoXzSKos5ayM0qlrjpFD79sSCDPw==", 2106 | "requires": { 2107 | "@firebase/component": "0.5.10", 2108 | "@firebase/firestore": "3.4.5", 2109 | "@firebase/firestore-types": "2.5.0", 2110 | "@firebase/util": "1.4.3", 2111 | "tslib": "^2.1.0" 2112 | } 2113 | }, 2114 | "@firebase/firestore-types": { 2115 | "version": "2.5.0", 2116 | "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", 2117 | "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==", 2118 | "requires": {} 2119 | }, 2120 | "@firebase/functions": { 2121 | "version": "0.7.8", 2122 | "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.7.8.tgz", 2123 | "integrity": "sha512-WNpKnQqufNkqHkFm1ol4oeF+/mA1y5gtj1csRFZqQS2EeDcq6FCs49abBFpjBOxWz8XDDNlSasCKhIrAAKIFfg==", 2124 | "requires": { 2125 | "@firebase/app-check-interop-types": "0.1.0", 2126 | "@firebase/auth-interop-types": "0.1.6", 2127 | "@firebase/component": "0.5.10", 2128 | "@firebase/messaging-interop-types": "0.1.0", 2129 | "@firebase/util": "1.4.3", 2130 | "node-fetch": "2.6.7", 2131 | "tslib": "^2.1.0" 2132 | } 2133 | }, 2134 | "@firebase/functions-compat": { 2135 | "version": "0.1.9", 2136 | "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.1.9.tgz", 2137 | "integrity": "sha512-XhcLUVgxwqyk4euz1VO/qM6LUrkbR0vibh/2triR2ciJS2epkpvPICVMxWXaetsKOVpcaTs15eGpJClCRHGLjw==", 2138 | "requires": { 2139 | "@firebase/component": "0.5.10", 2140 | "@firebase/functions": "0.7.8", 2141 | "@firebase/functions-types": "0.5.0", 2142 | "@firebase/util": "1.4.3", 2143 | "tslib": "^2.1.0" 2144 | } 2145 | }, 2146 | "@firebase/functions-types": { 2147 | "version": "0.5.0", 2148 | "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", 2149 | "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" 2150 | }, 2151 | "@firebase/installations": { 2152 | "version": "0.5.5", 2153 | "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.5.tgz", 2154 | "integrity": "sha512-mYWUxYXPlxcR0YOikPw88TjIS2NK35Z0ivkJL0+FevNnVIsqwGSe12AtPlZB/kzjB0RtHoKW+cWC0V9xiTgJ3Q==", 2155 | "requires": { 2156 | "@firebase/component": "0.5.10", 2157 | "@firebase/util": "1.4.3", 2158 | "idb": "3.0.2", 2159 | "tslib": "^2.1.0" 2160 | } 2161 | }, 2162 | "@firebase/logger": { 2163 | "version": "0.3.2", 2164 | "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.2.tgz", 2165 | "integrity": "sha512-lzLrcJp9QBWpo40OcOM9B8QEtBw2Fk1zOZQdvv+rWS6gKmhQBCEMc4SMABQfWdjsylBcDfniD1Q+fUX1dcBTXA==", 2166 | "requires": { 2167 | "tslib": "^2.1.0" 2168 | } 2169 | }, 2170 | "@firebase/messaging": { 2171 | "version": "0.9.9", 2172 | "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.9.tgz", 2173 | "integrity": "sha512-Fe6+VqFgVuvFOiVerQkPzdmHXnB7urujcKAxK3lRKxgafH89CRvXO1sPnPMvox5/JOCBZrAPok5KA7rOCxBguw==", 2174 | "requires": { 2175 | "@firebase/component": "0.5.10", 2176 | "@firebase/installations": "0.5.5", 2177 | "@firebase/messaging-interop-types": "0.1.0", 2178 | "@firebase/util": "1.4.3", 2179 | "idb": "3.0.2", 2180 | "tslib": "^2.1.0" 2181 | } 2182 | }, 2183 | "@firebase/messaging-compat": { 2184 | "version": "0.1.9", 2185 | "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.9.tgz", 2186 | "integrity": "sha512-smcBhvTLfgE2KDtvDj1Pm9zQ7GeyR5BLarYLxtvmhhbV6tpa8g+UUE3pCdqN+y1kx6mIYqNOmEEXv+1YnSiYwQ==", 2187 | "requires": { 2188 | "@firebase/component": "0.5.10", 2189 | "@firebase/messaging": "0.9.9", 2190 | "@firebase/util": "1.4.3", 2191 | "tslib": "^2.1.0" 2192 | } 2193 | }, 2194 | "@firebase/messaging-interop-types": { 2195 | "version": "0.1.0", 2196 | "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", 2197 | "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" 2198 | }, 2199 | "@firebase/performance": { 2200 | "version": "0.5.5", 2201 | "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.5.tgz", 2202 | "integrity": "sha512-eA8mEKVnyY64fwAKxHbJF5t1hNkdR0EZVib0LfEWl/2elPmFcjik097hqLHzdFE88JYCxNGfFaSPo9Lbk/qe6A==", 2203 | "requires": { 2204 | "@firebase/component": "0.5.10", 2205 | "@firebase/installations": "0.5.5", 2206 | "@firebase/logger": "0.3.2", 2207 | "@firebase/util": "1.4.3", 2208 | "tslib": "^2.1.0" 2209 | } 2210 | }, 2211 | "@firebase/performance-compat": { 2212 | "version": "0.1.5", 2213 | "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.5.tgz", 2214 | "integrity": "sha512-s9mqR0GXJaqvIZD/GsshacpKOGa3NP6Yht33mNEtpL7ERqj35mvD1CBoUwH52eMYAaxlQd9y9JrphQgK3EmWWw==", 2215 | "requires": { 2216 | "@firebase/component": "0.5.10", 2217 | "@firebase/logger": "0.3.2", 2218 | "@firebase/performance": "0.5.5", 2219 | "@firebase/performance-types": "0.1.0", 2220 | "@firebase/util": "1.4.3", 2221 | "tslib": "^2.1.0" 2222 | } 2223 | }, 2224 | "@firebase/performance-types": { 2225 | "version": "0.1.0", 2226 | "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", 2227 | "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" 2228 | }, 2229 | "@firebase/polyfill": { 2230 | "version": "0.3.36", 2231 | "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.36.tgz", 2232 | "integrity": "sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==", 2233 | "requires": { 2234 | "core-js": "3.6.5", 2235 | "promise-polyfill": "8.1.3", 2236 | "whatwg-fetch": "2.0.4" 2237 | } 2238 | }, 2239 | "@firebase/remote-config": { 2240 | "version": "0.3.4", 2241 | "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.4.tgz", 2242 | "integrity": "sha512-SLlyVVNJ6DnU1AOjNrmv5u9Fge7gUwZVooyxMIkaT3Lj9MBM5MwfJsoG3UyiV4l7yI0iPj34LuKPpMJXOOcs4w==", 2243 | "requires": { 2244 | "@firebase/component": "0.5.10", 2245 | "@firebase/installations": "0.5.5", 2246 | "@firebase/logger": "0.3.2", 2247 | "@firebase/util": "1.4.3", 2248 | "tslib": "^2.1.0" 2249 | } 2250 | }, 2251 | "@firebase/remote-config-compat": { 2252 | "version": "0.1.5", 2253 | "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.5.tgz", 2254 | "integrity": "sha512-bgpmrCGyOj46c0xNFvivcXRHlaVkbt4mX2etbF9s6jaOILPd4rBHIfAiBpKL64GGwTkrOjWO9/HZun4I01gbpg==", 2255 | "requires": { 2256 | "@firebase/component": "0.5.10", 2257 | "@firebase/logger": "0.3.2", 2258 | "@firebase/remote-config": "0.3.4", 2259 | "@firebase/remote-config-types": "0.2.0", 2260 | "@firebase/util": "1.4.3", 2261 | "tslib": "^2.1.0" 2262 | } 2263 | }, 2264 | "@firebase/remote-config-types": { 2265 | "version": "0.2.0", 2266 | "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", 2267 | "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" 2268 | }, 2269 | "@firebase/storage": { 2270 | "version": "0.9.2", 2271 | "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.9.2.tgz", 2272 | "integrity": "sha512-5xWgVHnE+n+cZAnFYd3NyNAQbp6/t3NL7TdqRGu1OaW5L7ioN7Rhq+L4I2yjIskVCoTaemYQDF+vICjCWoalbA==", 2273 | "requires": { 2274 | "@firebase/component": "0.5.10", 2275 | "@firebase/util": "1.4.3", 2276 | "node-fetch": "2.6.7", 2277 | "tslib": "^2.1.0" 2278 | } 2279 | }, 2280 | "@firebase/storage-compat": { 2281 | "version": "0.1.10", 2282 | "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.10.tgz", 2283 | "integrity": "sha512-l/mvUhDEJ/0/F2uBqmEqxZk+jvIEwLc9BO6lGPE3TtPdT2896u3GIzbI4XHjSLLUo5bA0ZKz8Z7GVev9CLsHfA==", 2284 | "requires": { 2285 | "@firebase/component": "0.5.10", 2286 | "@firebase/storage": "0.9.2", 2287 | "@firebase/storage-types": "0.6.0", 2288 | "@firebase/util": "1.4.3", 2289 | "tslib": "^2.1.0" 2290 | } 2291 | }, 2292 | "@firebase/storage-types": { 2293 | "version": "0.6.0", 2294 | "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", 2295 | "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==", 2296 | "requires": {} 2297 | }, 2298 | "@firebase/util": { 2299 | "version": "1.4.3", 2300 | "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.4.3.tgz", 2301 | "integrity": "sha512-gQJl6r0a+MElLQEyU8Dx0kkC2coPj67f/zKZrGR7z7WpLgVanhaCUqEsptwpwoxi9RMFIaebleG+C9xxoARq+Q==", 2302 | "requires": { 2303 | "tslib": "^2.1.0" 2304 | } 2305 | }, 2306 | "@firebase/webchannel-wrapper": { 2307 | "version": "0.6.1", 2308 | "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.1.tgz", 2309 | "integrity": "sha512-9FqhNjKQWpQ3fGnSOCovHOm+yhhiorKEqYLAfd525jWavunDJcx8rOW6i6ozAh+FbwcYMkL7b+3j4UR/30MpoQ==" 2310 | }, 2311 | "@grpc/grpc-js": { 2312 | "version": "1.5.7", 2313 | "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.7.tgz", 2314 | "integrity": "sha512-RAlSbZ9LXo0wNoHKeUlwP9dtGgVBDUbnBKFpfAv5iSqMG4qWz9um2yLH215+Wow1I48etIa1QMS+WAGmsE/7HQ==", 2315 | "requires": { 2316 | "@grpc/proto-loader": "^0.6.4", 2317 | "@types/node": ">=12.12.47" 2318 | } 2319 | }, 2320 | "@grpc/proto-loader": { 2321 | "version": "0.6.9", 2322 | "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.9.tgz", 2323 | "integrity": "sha512-UlcCS8VbsU9d3XTXGiEVFonN7hXk+oMXZtoHHG2oSA1/GcDP1q6OUgs20PzHDGizzyi8ufGSUDlk3O2NyY7leg==", 2324 | "requires": { 2325 | "@types/long": "^4.0.1", 2326 | "lodash.camelcase": "^4.3.0", 2327 | "long": "^4.0.0", 2328 | "protobufjs": "^6.10.0", 2329 | "yargs": "^16.2.0" 2330 | } 2331 | }, 2332 | "@protobufjs/aspromise": { 2333 | "version": "1.1.2", 2334 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 2335 | "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" 2336 | }, 2337 | "@protobufjs/base64": { 2338 | "version": "1.1.2", 2339 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 2340 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" 2341 | }, 2342 | "@protobufjs/codegen": { 2343 | "version": "2.0.4", 2344 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 2345 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" 2346 | }, 2347 | "@protobufjs/eventemitter": { 2348 | "version": "1.1.0", 2349 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 2350 | "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" 2351 | }, 2352 | "@protobufjs/fetch": { 2353 | "version": "1.1.0", 2354 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 2355 | "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", 2356 | "requires": { 2357 | "@protobufjs/aspromise": "^1.1.1", 2358 | "@protobufjs/inquire": "^1.1.0" 2359 | } 2360 | }, 2361 | "@protobufjs/float": { 2362 | "version": "1.0.2", 2363 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 2364 | "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" 2365 | }, 2366 | "@protobufjs/inquire": { 2367 | "version": "1.1.0", 2368 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 2369 | "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" 2370 | }, 2371 | "@protobufjs/path": { 2372 | "version": "1.1.2", 2373 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 2374 | "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" 2375 | }, 2376 | "@protobufjs/pool": { 2377 | "version": "1.1.0", 2378 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 2379 | "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" 2380 | }, 2381 | "@protobufjs/utf8": { 2382 | "version": "1.1.0", 2383 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 2384 | "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" 2385 | }, 2386 | "@types/long": { 2387 | "version": "4.0.1", 2388 | "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", 2389 | "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" 2390 | }, 2391 | "@types/node": { 2392 | "version": "17.0.21", 2393 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", 2394 | "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==" 2395 | }, 2396 | "@vitejs/plugin-vue": { 2397 | "version": "2.2.4", 2398 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.2.4.tgz", 2399 | "integrity": "sha512-ev9AOlp0ljCaDkFZF3JwC/pD2N4Hh+r5srl5JHM6BKg5+99jiiK0rE/XaRs3pVm1wzyKkjUy/StBSoXX5fFzcw==", 2400 | "dev": true, 2401 | "requires": {} 2402 | }, 2403 | "@vue/compiler-core": { 2404 | "version": "3.2.31", 2405 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.31.tgz", 2406 | "integrity": "sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==", 2407 | "requires": { 2408 | "@babel/parser": "^7.16.4", 2409 | "@vue/shared": "3.2.31", 2410 | "estree-walker": "^2.0.2", 2411 | "source-map": "^0.6.1" 2412 | } 2413 | }, 2414 | "@vue/compiler-dom": { 2415 | "version": "3.2.31", 2416 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz", 2417 | "integrity": "sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==", 2418 | "requires": { 2419 | "@vue/compiler-core": "3.2.31", 2420 | "@vue/shared": "3.2.31" 2421 | } 2422 | }, 2423 | "@vue/compiler-sfc": { 2424 | "version": "3.2.31", 2425 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz", 2426 | "integrity": "sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==", 2427 | "requires": { 2428 | "@babel/parser": "^7.16.4", 2429 | "@vue/compiler-core": "3.2.31", 2430 | "@vue/compiler-dom": "3.2.31", 2431 | "@vue/compiler-ssr": "3.2.31", 2432 | "@vue/reactivity-transform": "3.2.31", 2433 | "@vue/shared": "3.2.31", 2434 | "estree-walker": "^2.0.2", 2435 | "magic-string": "^0.25.7", 2436 | "postcss": "^8.1.10", 2437 | "source-map": "^0.6.1" 2438 | } 2439 | }, 2440 | "@vue/compiler-ssr": { 2441 | "version": "3.2.31", 2442 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz", 2443 | "integrity": "sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==", 2444 | "requires": { 2445 | "@vue/compiler-dom": "3.2.31", 2446 | "@vue/shared": "3.2.31" 2447 | } 2448 | }, 2449 | "@vue/devtools-api": { 2450 | "version": "6.1.0", 2451 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.1.0.tgz", 2452 | "integrity": "sha512-1FtbxEEHN70WGJl1b/h8nLmyN+tOHONNsNLvgVEXF/L/vBrRqQZ0kF+dev1YAz3OtxsQ1sV/vPLKwRlq1axrgg==" 2453 | }, 2454 | "@vue/reactivity": { 2455 | "version": "3.2.31", 2456 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.31.tgz", 2457 | "integrity": "sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==", 2458 | "requires": { 2459 | "@vue/shared": "3.2.31" 2460 | } 2461 | }, 2462 | "@vue/reactivity-transform": { 2463 | "version": "3.2.31", 2464 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz", 2465 | "integrity": "sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==", 2466 | "requires": { 2467 | "@babel/parser": "^7.16.4", 2468 | "@vue/compiler-core": "3.2.31", 2469 | "@vue/shared": "3.2.31", 2470 | "estree-walker": "^2.0.2", 2471 | "magic-string": "^0.25.7" 2472 | } 2473 | }, 2474 | "@vue/runtime-core": { 2475 | "version": "3.2.31", 2476 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.31.tgz", 2477 | "integrity": "sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==", 2478 | "requires": { 2479 | "@vue/reactivity": "3.2.31", 2480 | "@vue/shared": "3.2.31" 2481 | } 2482 | }, 2483 | "@vue/runtime-dom": { 2484 | "version": "3.2.31", 2485 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.31.tgz", 2486 | "integrity": "sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==", 2487 | "requires": { 2488 | "@vue/runtime-core": "3.2.31", 2489 | "@vue/shared": "3.2.31", 2490 | "csstype": "^2.6.8" 2491 | } 2492 | }, 2493 | "@vue/server-renderer": { 2494 | "version": "3.2.31", 2495 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.31.tgz", 2496 | "integrity": "sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==", 2497 | "requires": { 2498 | "@vue/compiler-ssr": "3.2.31", 2499 | "@vue/shared": "3.2.31" 2500 | } 2501 | }, 2502 | "@vue/shared": { 2503 | "version": "3.2.31", 2504 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.31.tgz", 2505 | "integrity": "sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==" 2506 | }, 2507 | "ansi-regex": { 2508 | "version": "5.0.1", 2509 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2510 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 2511 | }, 2512 | "ansi-styles": { 2513 | "version": "4.3.0", 2514 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2515 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2516 | "requires": { 2517 | "color-convert": "^2.0.1" 2518 | } 2519 | }, 2520 | "balanced-match": { 2521 | "version": "1.0.2", 2522 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2523 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 2524 | }, 2525 | "brace-expansion": { 2526 | "version": "1.1.11", 2527 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2528 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2529 | "requires": { 2530 | "balanced-match": "^1.0.0", 2531 | "concat-map": "0.0.1" 2532 | } 2533 | }, 2534 | "cliui": { 2535 | "version": "7.0.4", 2536 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 2537 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 2538 | "requires": { 2539 | "string-width": "^4.2.0", 2540 | "strip-ansi": "^6.0.0", 2541 | "wrap-ansi": "^7.0.0" 2542 | } 2543 | }, 2544 | "color-convert": { 2545 | "version": "2.0.1", 2546 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2547 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2548 | "requires": { 2549 | "color-name": "~1.1.4" 2550 | } 2551 | }, 2552 | "color-name": { 2553 | "version": "1.1.4", 2554 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2555 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 2556 | }, 2557 | "concat-map": { 2558 | "version": "0.0.1", 2559 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2560 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 2561 | }, 2562 | "core-js": { 2563 | "version": "3.6.5", 2564 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", 2565 | "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" 2566 | }, 2567 | "core-util-is": { 2568 | "version": "1.0.3", 2569 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 2570 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" 2571 | }, 2572 | "csstype": { 2573 | "version": "2.6.20", 2574 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", 2575 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" 2576 | }, 2577 | "emoji-regex": { 2578 | "version": "8.0.0", 2579 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2580 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 2581 | }, 2582 | "esbuild": { 2583 | "version": "0.14.25", 2584 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.25.tgz", 2585 | "integrity": "sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==", 2586 | "dev": true, 2587 | "requires": { 2588 | "esbuild-android-64": "0.14.25", 2589 | "esbuild-android-arm64": "0.14.25", 2590 | "esbuild-darwin-64": "0.14.25", 2591 | "esbuild-darwin-arm64": "0.14.25", 2592 | "esbuild-freebsd-64": "0.14.25", 2593 | "esbuild-freebsd-arm64": "0.14.25", 2594 | "esbuild-linux-32": "0.14.25", 2595 | "esbuild-linux-64": "0.14.25", 2596 | "esbuild-linux-arm": "0.14.25", 2597 | "esbuild-linux-arm64": "0.14.25", 2598 | "esbuild-linux-mips64le": "0.14.25", 2599 | "esbuild-linux-ppc64le": "0.14.25", 2600 | "esbuild-linux-riscv64": "0.14.25", 2601 | "esbuild-linux-s390x": "0.14.25", 2602 | "esbuild-netbsd-64": "0.14.25", 2603 | "esbuild-openbsd-64": "0.14.25", 2604 | "esbuild-sunos-64": "0.14.25", 2605 | "esbuild-windows-32": "0.14.25", 2606 | "esbuild-windows-64": "0.14.25", 2607 | "esbuild-windows-arm64": "0.14.25" 2608 | } 2609 | }, 2610 | "esbuild-android-64": { 2611 | "version": "0.14.25", 2612 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz", 2613 | "integrity": "sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==", 2614 | "dev": true, 2615 | "optional": true 2616 | }, 2617 | "esbuild-android-arm64": { 2618 | "version": "0.14.25", 2619 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz", 2620 | "integrity": "sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==", 2621 | "dev": true, 2622 | "optional": true 2623 | }, 2624 | "esbuild-darwin-64": { 2625 | "version": "0.14.25", 2626 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz", 2627 | "integrity": "sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==", 2628 | "dev": true, 2629 | "optional": true 2630 | }, 2631 | "esbuild-darwin-arm64": { 2632 | "version": "0.14.25", 2633 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz", 2634 | "integrity": "sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==", 2635 | "dev": true, 2636 | "optional": true 2637 | }, 2638 | "esbuild-freebsd-64": { 2639 | "version": "0.14.25", 2640 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz", 2641 | "integrity": "sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==", 2642 | "dev": true, 2643 | "optional": true 2644 | }, 2645 | "esbuild-freebsd-arm64": { 2646 | "version": "0.14.25", 2647 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz", 2648 | "integrity": "sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==", 2649 | "dev": true, 2650 | "optional": true 2651 | }, 2652 | "esbuild-linux-32": { 2653 | "version": "0.14.25", 2654 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz", 2655 | "integrity": "sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==", 2656 | "dev": true, 2657 | "optional": true 2658 | }, 2659 | "esbuild-linux-64": { 2660 | "version": "0.14.25", 2661 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz", 2662 | "integrity": "sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==", 2663 | "dev": true, 2664 | "optional": true 2665 | }, 2666 | "esbuild-linux-arm": { 2667 | "version": "0.14.25", 2668 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz", 2669 | "integrity": "sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==", 2670 | "dev": true, 2671 | "optional": true 2672 | }, 2673 | "esbuild-linux-arm64": { 2674 | "version": "0.14.25", 2675 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz", 2676 | "integrity": "sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==", 2677 | "dev": true, 2678 | "optional": true 2679 | }, 2680 | "esbuild-linux-mips64le": { 2681 | "version": "0.14.25", 2682 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz", 2683 | "integrity": "sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==", 2684 | "dev": true, 2685 | "optional": true 2686 | }, 2687 | "esbuild-linux-ppc64le": { 2688 | "version": "0.14.25", 2689 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz", 2690 | "integrity": "sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==", 2691 | "dev": true, 2692 | "optional": true 2693 | }, 2694 | "esbuild-linux-riscv64": { 2695 | "version": "0.14.25", 2696 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz", 2697 | "integrity": "sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==", 2698 | "dev": true, 2699 | "optional": true 2700 | }, 2701 | "esbuild-linux-s390x": { 2702 | "version": "0.14.25", 2703 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz", 2704 | "integrity": "sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==", 2705 | "dev": true, 2706 | "optional": true 2707 | }, 2708 | "esbuild-netbsd-64": { 2709 | "version": "0.14.25", 2710 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz", 2711 | "integrity": "sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==", 2712 | "dev": true, 2713 | "optional": true 2714 | }, 2715 | "esbuild-openbsd-64": { 2716 | "version": "0.14.25", 2717 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz", 2718 | "integrity": "sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==", 2719 | "dev": true, 2720 | "optional": true 2721 | }, 2722 | "esbuild-sunos-64": { 2723 | "version": "0.14.25", 2724 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz", 2725 | "integrity": "sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==", 2726 | "dev": true, 2727 | "optional": true 2728 | }, 2729 | "esbuild-windows-32": { 2730 | "version": "0.14.25", 2731 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz", 2732 | "integrity": "sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==", 2733 | "dev": true, 2734 | "optional": true 2735 | }, 2736 | "esbuild-windows-64": { 2737 | "version": "0.14.25", 2738 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz", 2739 | "integrity": "sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==", 2740 | "dev": true, 2741 | "optional": true 2742 | }, 2743 | "esbuild-windows-arm64": { 2744 | "version": "0.14.25", 2745 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz", 2746 | "integrity": "sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==", 2747 | "dev": true, 2748 | "optional": true 2749 | }, 2750 | "escalade": { 2751 | "version": "3.1.1", 2752 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 2753 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 2754 | }, 2755 | "estree-walker": { 2756 | "version": "2.0.2", 2757 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 2758 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 2759 | }, 2760 | "faye-websocket": { 2761 | "version": "0.11.4", 2762 | "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", 2763 | "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", 2764 | "requires": { 2765 | "websocket-driver": ">=0.5.1" 2766 | } 2767 | }, 2768 | "firebase": { 2769 | "version": "9.6.8", 2770 | "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.6.8.tgz", 2771 | "integrity": "sha512-a/RcgiqK9L5d/ZKpHZ21c3x/KKIo2XwXp2droukbBTuaX0Md8ppHQWYlSqLmWIDR0y2zwN17lrfNVsE6f+4ncA==", 2772 | "requires": { 2773 | "@firebase/analytics": "0.7.5", 2774 | "@firebase/analytics-compat": "0.1.6", 2775 | "@firebase/app": "0.7.18", 2776 | "@firebase/app-check": "0.5.3", 2777 | "@firebase/app-check-compat": "0.2.3", 2778 | "@firebase/app-compat": "0.1.19", 2779 | "@firebase/app-types": "0.7.0", 2780 | "@firebase/auth": "0.19.9", 2781 | "@firebase/auth-compat": "0.2.9", 2782 | "@firebase/database": "0.12.5", 2783 | "@firebase/database-compat": "0.1.5", 2784 | "@firebase/firestore": "3.4.5", 2785 | "@firebase/firestore-compat": "0.1.14", 2786 | "@firebase/functions": "0.7.8", 2787 | "@firebase/functions-compat": "0.1.9", 2788 | "@firebase/installations": "0.5.5", 2789 | "@firebase/messaging": "0.9.9", 2790 | "@firebase/messaging-compat": "0.1.9", 2791 | "@firebase/performance": "0.5.5", 2792 | "@firebase/performance-compat": "0.1.5", 2793 | "@firebase/polyfill": "0.3.36", 2794 | "@firebase/remote-config": "0.3.4", 2795 | "@firebase/remote-config-compat": "0.1.5", 2796 | "@firebase/storage": "0.9.2", 2797 | "@firebase/storage-compat": "0.1.10", 2798 | "@firebase/util": "1.4.3" 2799 | } 2800 | }, 2801 | "fs.realpath": { 2802 | "version": "1.0.0", 2803 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2804 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 2805 | }, 2806 | "fsevents": { 2807 | "version": "2.3.2", 2808 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2809 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2810 | "dev": true, 2811 | "optional": true 2812 | }, 2813 | "function-bind": { 2814 | "version": "1.1.1", 2815 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2816 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2817 | "dev": true 2818 | }, 2819 | "get-caller-file": { 2820 | "version": "2.0.5", 2821 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 2822 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" 2823 | }, 2824 | "glob": { 2825 | "version": "7.2.0", 2826 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 2827 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 2828 | "requires": { 2829 | "fs.realpath": "^1.0.0", 2830 | "inflight": "^1.0.4", 2831 | "inherits": "2", 2832 | "minimatch": "^3.0.4", 2833 | "once": "^1.3.0", 2834 | "path-is-absolute": "^1.0.0" 2835 | } 2836 | }, 2837 | "has": { 2838 | "version": "1.0.3", 2839 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2840 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2841 | "dev": true, 2842 | "requires": { 2843 | "function-bind": "^1.1.1" 2844 | } 2845 | }, 2846 | "http-parser-js": { 2847 | "version": "0.5.6", 2848 | "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", 2849 | "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==" 2850 | }, 2851 | "idb": { 2852 | "version": "3.0.2", 2853 | "resolved": "https://registry.npmjs.org/idb/-/idb-3.0.2.tgz", 2854 | "integrity": "sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw==" 2855 | }, 2856 | "immediate": { 2857 | "version": "3.0.6", 2858 | "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", 2859 | "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" 2860 | }, 2861 | "inflight": { 2862 | "version": "1.0.6", 2863 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2864 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2865 | "requires": { 2866 | "once": "^1.3.0", 2867 | "wrappy": "1" 2868 | } 2869 | }, 2870 | "inherits": { 2871 | "version": "2.0.4", 2872 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2873 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 2874 | }, 2875 | "is-core-module": { 2876 | "version": "2.8.1", 2877 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 2878 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 2879 | "dev": true, 2880 | "requires": { 2881 | "has": "^1.0.3" 2882 | } 2883 | }, 2884 | "is-fullwidth-code-point": { 2885 | "version": "3.0.0", 2886 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2887 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 2888 | }, 2889 | "isarray": { 2890 | "version": "1.0.0", 2891 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2892 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 2893 | }, 2894 | "jszip": { 2895 | "version": "3.7.1", 2896 | "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", 2897 | "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", 2898 | "requires": { 2899 | "lie": "~3.3.0", 2900 | "pako": "~1.0.2", 2901 | "readable-stream": "~2.3.6", 2902 | "set-immediate-shim": "~1.0.1" 2903 | } 2904 | }, 2905 | "lie": { 2906 | "version": "3.3.0", 2907 | "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", 2908 | "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", 2909 | "requires": { 2910 | "immediate": "~3.0.5" 2911 | } 2912 | }, 2913 | "lodash.camelcase": { 2914 | "version": "4.3.0", 2915 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 2916 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" 2917 | }, 2918 | "long": { 2919 | "version": "4.0.0", 2920 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 2921 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" 2922 | }, 2923 | "magic-string": { 2924 | "version": "0.25.9", 2925 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 2926 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 2927 | "requires": { 2928 | "sourcemap-codec": "^1.4.8" 2929 | } 2930 | }, 2931 | "minimatch": { 2932 | "version": "3.1.2", 2933 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2934 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2935 | "requires": { 2936 | "brace-expansion": "^1.1.7" 2937 | } 2938 | }, 2939 | "nanoid": { 2940 | "version": "3.3.1", 2941 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", 2942 | "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" 2943 | }, 2944 | "node-fetch": { 2945 | "version": "2.6.7", 2946 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 2947 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 2948 | "requires": { 2949 | "whatwg-url": "^5.0.0" 2950 | } 2951 | }, 2952 | "once": { 2953 | "version": "1.4.0", 2954 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2955 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2956 | "requires": { 2957 | "wrappy": "1" 2958 | } 2959 | }, 2960 | "pako": { 2961 | "version": "1.0.11", 2962 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 2963 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" 2964 | }, 2965 | "path-is-absolute": { 2966 | "version": "1.0.1", 2967 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2968 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 2969 | }, 2970 | "path-parse": { 2971 | "version": "1.0.7", 2972 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2973 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2974 | "dev": true 2975 | }, 2976 | "picocolors": { 2977 | "version": "1.0.0", 2978 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2979 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 2980 | }, 2981 | "pinia": { 2982 | "version": "2.0.11", 2983 | "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.11.tgz", 2984 | "integrity": "sha512-JzcmnMqu28PNWOjDgEDK6fTrIzX8eQZKPPKvu/fpHdpXARUj1xeVdFi3YFIMOWswqaBd589cpmAMdSSTryI9iw==", 2985 | "requires": { 2986 | "@vue/devtools-api": "^6.0.0-beta.21", 2987 | "vue-demi": "*" 2988 | }, 2989 | "dependencies": { 2990 | "vue-demi": { 2991 | "version": "0.12.1", 2992 | "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.12.1.tgz", 2993 | "integrity": "sha512-QL3ny+wX8c6Xm1/EZylbgzdoDolye+VpCXRhI2hug9dJTP3OUJ3lmiKN3CsVV3mOJKwFi0nsstbgob0vG7aoIw==", 2994 | "requires": {} 2995 | } 2996 | } 2997 | }, 2998 | "postcss": { 2999 | "version": "8.4.8", 3000 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.8.tgz", 3001 | "integrity": "sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ==", 3002 | "requires": { 3003 | "nanoid": "^3.3.1", 3004 | "picocolors": "^1.0.0", 3005 | "source-map-js": "^1.0.2" 3006 | } 3007 | }, 3008 | "process-nextick-args": { 3009 | "version": "2.0.1", 3010 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 3011 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 3012 | }, 3013 | "promise-polyfill": { 3014 | "version": "8.1.3", 3015 | "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", 3016 | "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" 3017 | }, 3018 | "protobufjs": { 3019 | "version": "6.11.2", 3020 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", 3021 | "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", 3022 | "requires": { 3023 | "@protobufjs/aspromise": "^1.1.2", 3024 | "@protobufjs/base64": "^1.1.2", 3025 | "@protobufjs/codegen": "^2.0.4", 3026 | "@protobufjs/eventemitter": "^1.1.0", 3027 | "@protobufjs/fetch": "^1.1.0", 3028 | "@protobufjs/float": "^1.0.2", 3029 | "@protobufjs/inquire": "^1.1.0", 3030 | "@protobufjs/path": "^1.1.2", 3031 | "@protobufjs/pool": "^1.1.0", 3032 | "@protobufjs/utf8": "^1.1.0", 3033 | "@types/long": "^4.0.1", 3034 | "@types/node": ">=13.7.0", 3035 | "long": "^4.0.0" 3036 | } 3037 | }, 3038 | "readable-stream": { 3039 | "version": "2.3.7", 3040 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 3041 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 3042 | "requires": { 3043 | "core-util-is": "~1.0.0", 3044 | "inherits": "~2.0.3", 3045 | "isarray": "~1.0.0", 3046 | "process-nextick-args": "~2.0.0", 3047 | "safe-buffer": "~5.1.1", 3048 | "string_decoder": "~1.1.1", 3049 | "util-deprecate": "~1.0.1" 3050 | } 3051 | }, 3052 | "require-directory": { 3053 | "version": "2.1.1", 3054 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3055 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" 3056 | }, 3057 | "resolve": { 3058 | "version": "1.22.0", 3059 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 3060 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 3061 | "dev": true, 3062 | "requires": { 3063 | "is-core-module": "^2.8.1", 3064 | "path-parse": "^1.0.7", 3065 | "supports-preserve-symlinks-flag": "^1.0.0" 3066 | } 3067 | }, 3068 | "rimraf": { 3069 | "version": "3.0.2", 3070 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3071 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3072 | "requires": { 3073 | "glob": "^7.1.3" 3074 | } 3075 | }, 3076 | "rollup": { 3077 | "version": "2.70.0", 3078 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.0.tgz", 3079 | "integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==", 3080 | "dev": true, 3081 | "requires": { 3082 | "fsevents": "~2.3.2" 3083 | } 3084 | }, 3085 | "safe-buffer": { 3086 | "version": "5.1.2", 3087 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3088 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 3089 | }, 3090 | "selenium-webdriver": { 3091 | "version": "4.0.0-rc-1", 3092 | "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-rc-1.tgz", 3093 | "integrity": "sha512-bcrwFPRax8fifRP60p7xkWDGSJJoMkPAzufMlk5K2NyLPht/YZzR2WcIk1+3gR8VOCLlst1P2PI+MXACaFzpIw==", 3094 | "requires": { 3095 | "jszip": "^3.6.0", 3096 | "rimraf": "^3.0.2", 3097 | "tmp": "^0.2.1", 3098 | "ws": ">=7.4.6" 3099 | } 3100 | }, 3101 | "set-immediate-shim": { 3102 | "version": "1.0.1", 3103 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", 3104 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" 3105 | }, 3106 | "source-map": { 3107 | "version": "0.6.1", 3108 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3109 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 3110 | }, 3111 | "source-map-js": { 3112 | "version": "1.0.2", 3113 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 3114 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 3115 | }, 3116 | "sourcemap-codec": { 3117 | "version": "1.4.8", 3118 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 3119 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 3120 | }, 3121 | "string_decoder": { 3122 | "version": "1.1.1", 3123 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3124 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3125 | "requires": { 3126 | "safe-buffer": "~5.1.0" 3127 | } 3128 | }, 3129 | "string-width": { 3130 | "version": "4.2.3", 3131 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3132 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3133 | "requires": { 3134 | "emoji-regex": "^8.0.0", 3135 | "is-fullwidth-code-point": "^3.0.0", 3136 | "strip-ansi": "^6.0.1" 3137 | } 3138 | }, 3139 | "strip-ansi": { 3140 | "version": "6.0.1", 3141 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3142 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3143 | "requires": { 3144 | "ansi-regex": "^5.0.1" 3145 | } 3146 | }, 3147 | "supports-preserve-symlinks-flag": { 3148 | "version": "1.0.0", 3149 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3150 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 3151 | "dev": true 3152 | }, 3153 | "tmp": { 3154 | "version": "0.2.1", 3155 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", 3156 | "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", 3157 | "requires": { 3158 | "rimraf": "^3.0.0" 3159 | } 3160 | }, 3161 | "tr46": { 3162 | "version": "0.0.3", 3163 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 3164 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" 3165 | }, 3166 | "tslib": { 3167 | "version": "2.3.1", 3168 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 3169 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" 3170 | }, 3171 | "util-deprecate": { 3172 | "version": "1.0.2", 3173 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3174 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 3175 | }, 3176 | "vite": { 3177 | "version": "2.8.6", 3178 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.8.6.tgz", 3179 | "integrity": "sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==", 3180 | "dev": true, 3181 | "requires": { 3182 | "esbuild": "^0.14.14", 3183 | "fsevents": "~2.3.2", 3184 | "postcss": "^8.4.6", 3185 | "resolve": "^1.22.0", 3186 | "rollup": "^2.59.0" 3187 | } 3188 | }, 3189 | "vue": { 3190 | "version": "3.2.31", 3191 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.31.tgz", 3192 | "integrity": "sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==", 3193 | "requires": { 3194 | "@vue/compiler-dom": "3.2.31", 3195 | "@vue/compiler-sfc": "3.2.31", 3196 | "@vue/runtime-dom": "3.2.31", 3197 | "@vue/server-renderer": "3.2.31", 3198 | "@vue/shared": "3.2.31" 3199 | } 3200 | }, 3201 | "vue-router": { 3202 | "version": "4.0.14", 3203 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.14.tgz", 3204 | "integrity": "sha512-wAO6zF9zxA3u+7AkMPqw9LjoUCjSxfFvINQj3E/DceTt6uEz1XZLraDhdg2EYmvVwTBSGlLYsUw8bDmx0754Mw==", 3205 | "requires": { 3206 | "@vue/devtools-api": "^6.0.0" 3207 | } 3208 | }, 3209 | "webidl-conversions": { 3210 | "version": "3.0.1", 3211 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 3212 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" 3213 | }, 3214 | "websocket-driver": { 3215 | "version": "0.7.4", 3216 | "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", 3217 | "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", 3218 | "requires": { 3219 | "http-parser-js": ">=0.5.1", 3220 | "safe-buffer": ">=5.1.0", 3221 | "websocket-extensions": ">=0.1.1" 3222 | } 3223 | }, 3224 | "websocket-extensions": { 3225 | "version": "0.1.4", 3226 | "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", 3227 | "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" 3228 | }, 3229 | "whatwg-fetch": { 3230 | "version": "2.0.4", 3231 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", 3232 | "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" 3233 | }, 3234 | "whatwg-url": { 3235 | "version": "5.0.0", 3236 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 3237 | "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", 3238 | "requires": { 3239 | "tr46": "~0.0.3", 3240 | "webidl-conversions": "^3.0.0" 3241 | } 3242 | }, 3243 | "wrap-ansi": { 3244 | "version": "7.0.0", 3245 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 3246 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 3247 | "requires": { 3248 | "ansi-styles": "^4.0.0", 3249 | "string-width": "^4.1.0", 3250 | "strip-ansi": "^6.0.0" 3251 | } 3252 | }, 3253 | "wrappy": { 3254 | "version": "1.0.2", 3255 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3256 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 3257 | }, 3258 | "ws": { 3259 | "version": "8.5.0", 3260 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", 3261 | "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", 3262 | "requires": {} 3263 | }, 3264 | "y18n": { 3265 | "version": "5.0.8", 3266 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 3267 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" 3268 | }, 3269 | "yargs": { 3270 | "version": "16.2.0", 3271 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 3272 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 3273 | "requires": { 3274 | "cliui": "^7.0.2", 3275 | "escalade": "^3.1.1", 3276 | "get-caller-file": "^2.0.5", 3277 | "require-directory": "^2.1.1", 3278 | "string-width": "^4.2.0", 3279 | "y18n": "^5.0.5", 3280 | "yargs-parser": "^20.2.2" 3281 | } 3282 | }, 3283 | "yargs-parser": { 3284 | "version": "20.2.9", 3285 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 3286 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" 3287 | } 3288 | } 3289 | } 3290 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "firebase-app-1", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "firebase": "^9.6.8", 12 | "pinia": "^2.0.11", 13 | "vue": "^3.2.25", 14 | "vue-router": "^4.0.14" 15 | }, 16 | "devDependencies": { 17 | "@vitejs/plugin-vue": "^2.2.0", 18 | "vite": "^2.8.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluuweb/vue-3-firebase-9-pinia-router-4-auth-firestore/c25450e6520f35249177fae49de27c3f048d4549/public/favicon.ico -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluuweb/vue-3-firebase-9-pinia-router-4-auth-firestore/c25450e6520f35249177fae49de27c3f048d4549/src/assets/logo.png -------------------------------------------------------------------------------- /src/firebaseConfig.js: -------------------------------------------------------------------------------- 1 | import { initializeApp } from "firebase/app"; 2 | import { getAuth } from "firebase/auth"; 3 | 4 | const firebaseConfig = { 5 | apiKey: "AIzaSyBc7Kncm9hRqqkxf-qvN-DxHi8c9-7zIYc", 6 | authDomain: "vue-3-2022.firebaseapp.com", 7 | projectId: "vue-3-2022", 8 | storageBucket: "vue-3-2022.appspot.com", 9 | messagingSenderId: "437721204864", 10 | appId: "1:437721204864:web:6827a521e3a8bb008a3e65", 11 | }; 12 | 13 | initializeApp(firebaseConfig); 14 | const auth = getAuth(); 15 | 16 | export { auth }; 17 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import App from "./App.vue"; 3 | import router from "./router"; 4 | 5 | import { createPinia } from "pinia"; 6 | 7 | createApp(App).use(router).use(createPinia()).mount("#app"); 8 | -------------------------------------------------------------------------------- /src/router.js: -------------------------------------------------------------------------------- 1 | import { createRouter, createWebHistory } from "vue-router"; 2 | import { useUserStore } from "./stores/user"; 3 | 4 | import Home from "./views/Home.vue"; 5 | import Login from "./views/Login.vue"; 6 | import Register from "./views/Register.vue"; 7 | 8 | const requireAuth = async (to, from, next) => { 9 | const userStore = useUserStore(); 10 | userStore.loadingSession = true; 11 | const user = await userStore.currentUser(); 12 | if (user) { 13 | next(); 14 | } else { 15 | next("/login"); 16 | } 17 | userStore.loadingSession = false; 18 | }; 19 | 20 | const routes = [ 21 | { path: "/", component: Home, beforeEnter: requireAuth }, 22 | { path: "/login", component: Login }, 23 | { path: "/register", component: Register }, 24 | ]; 25 | 26 | const router = createRouter({ 27 | routes, 28 | history: createWebHistory(), 29 | }); 30 | 31 | export default router; 32 | -------------------------------------------------------------------------------- /src/stores/user.js: -------------------------------------------------------------------------------- 1 | import { defineStore } from "pinia"; 2 | import { 3 | createUserWithEmailAndPassword, 4 | onAuthStateChanged, 5 | signInWithEmailAndPassword, 6 | signOut, 7 | } from "firebase/auth"; 8 | import { auth } from "../firebaseConfig"; 9 | import router from "../router"; 10 | 11 | export const useUserStore = defineStore("userStore", { 12 | state: () => ({ 13 | userData: null, 14 | loadingUser: false, 15 | loadingSession: false, 16 | }), 17 | actions: { 18 | async registerUser(email, password) { 19 | this.loadingUser = true; 20 | try { 21 | const { user } = await createUserWithEmailAndPassword( 22 | auth, 23 | email, 24 | password 25 | ); 26 | this.userData = { email: user.email, uid: user.uid }; 27 | router.push("/"); 28 | } catch (error) { 29 | console.log(error); 30 | } finally { 31 | this.loadingUser = false; 32 | } 33 | }, 34 | async loginUser(email, password) { 35 | this.loadingUser = true; 36 | try { 37 | const { user } = await signInWithEmailAndPassword( 38 | auth, 39 | email, 40 | password 41 | ); 42 | this.userData = { email: user.email, uid: user.uid }; 43 | router.push("/"); 44 | } catch (error) { 45 | console.log(error); 46 | } finally { 47 | this.loadingUser = false; 48 | } 49 | }, 50 | async logoutUser() { 51 | try { 52 | await signOut(auth); 53 | this.userData = null; 54 | router.push("/login"); 55 | } catch (error) { 56 | console.log(error); 57 | } 58 | }, 59 | currentUser() { 60 | return new Promise((resolve, reject) => { 61 | const unsuscribe = onAuthStateChanged( 62 | auth, 63 | (user) => { 64 | if (user) { 65 | this.userData = { 66 | email: user.email, 67 | uid: user.uid, 68 | }; 69 | } else { 70 | this.userData = null; 71 | } 72 | resolve(user); 73 | }, 74 | (e) => reject(e) 75 | ); 76 | unsuscribe(); 77 | }); 78 | }, 79 | }, 80 | }); 81 | -------------------------------------------------------------------------------- /src/views/Home.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | -------------------------------------------------------------------------------- /src/views/Login.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 32 | -------------------------------------------------------------------------------- /src/views/Register.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | --------------------------------------------------------------------------------