├── .gitignore ├── README.md ├── step-1 ├── package.json ├── server.js ├── serviceAccountKey.json ├── static │ └── mvp.css ├── views │ ├── index.html │ ├── login.html │ ├── profile.html │ └── signup.html └── yarn.lock └── step-2 ├── .gitignore ├── package.json ├── server.js ├── static └── mvp.css ├── views ├── index.html ├── login.html ├── profile.html └── signup.html └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Server-side Firebase Auth 2 | 3 | * CSRF - https://github.com/expressjs/csurf 4 | * About Cross Site Forgery (CSRF) 5 | * https://en.wikipedia.org/wiki/Cross-site_request_forgery 6 | * https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html -------------------------------------------------------------------------------- /step-1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "firebase-server-auth", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "body-parser": "^1.19.0", 7 | "cookie-parser": "^1.4.5", 8 | "csurf": "^1.11.0", 9 | "ejs": "^3.0.2", 10 | "express": "^4.17.1", 11 | "firebase-admin": "^8.10.0" 12 | }, 13 | "scripts": { 14 | "start": "node server.js" 15 | }, 16 | "eslintConfig": { 17 | "extends": "react-app" 18 | }, 19 | "browserslist": { 20 | "production": [ 21 | ">0.2%", 22 | "not dead", 23 | "not op_mini all" 24 | ], 25 | "development": [ 26 | "last 1 chrome version", 27 | "last 1 firefox version", 28 | "last 1 safari version" 29 | ] 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /step-1/server.js: -------------------------------------------------------------------------------- 1 | const cookieParser = require("cookie-parser"); 2 | const csrf = require("csurf"); 3 | const bodyParser = require("body-parser"); 4 | const express = require("express"); 5 | 6 | const csrfMiddleware = csrf({ cookie: true }); 7 | 8 | const PORT = process.env.PORT || 3000; 9 | const app = express(); 10 | 11 | app.engine("html", require("ejs").renderFile); 12 | app.use(express.static("static")); 13 | 14 | app.use(bodyParser.json()); 15 | app.use(cookieParser()); 16 | app.use(csrfMiddleware); 17 | 18 | app.all("*", (req, res, next) => { 19 | res.cookie("XSRF-TOKEN", req.csrfToken()); 20 | next(); 21 | }); 22 | 23 | app.get("/login", function (req, res) { 24 | res.render("login.html"); 25 | }); 26 | 27 | app.get("/signup", function (req, res) { 28 | res.render("signup.html"); 29 | }); 30 | 31 | app.get("/profile", function (req, res) { 32 | res.render("profile.html"); 33 | }); 34 | 35 | app.get("/", function (req, res) { 36 | res.render("index.html"); 37 | }); 38 | 39 | app.listen(PORT, () => { 40 | console.log(`Listening on http://localhost:${PORT}`); 41 | }); 42 | -------------------------------------------------------------------------------- /step-1/serviceAccountKey.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satansdeer/firebase-server-auth/8e2ee024b7b7bc378bec50ebc3f1cbd7cd929602/step-1/serviceAccountKey.json -------------------------------------------------------------------------------- /step-1/static/mvp.css: -------------------------------------------------------------------------------- 1 | /* MVP.css v1.5 - https://github.com/andybrewer/mvp */ 2 | 3 | :root { 4 | --border-radius: 5px; 5 | --box-shadow: 2px 2px 10px; 6 | --color: #118bee; 7 | --color-accent: #118bee0b; 8 | --color-bg: #fff; 9 | --color-bg-secondary: #e9e9e9; 10 | --color-secondary: #920de9; 11 | --color-secondary-accent: #920de90b; 12 | --color-shadow: #f4f4f4; 13 | --color-text: #000; 14 | --color-text-secondary: #999; 15 | --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; 16 | --hover-brightness: 1.2; 17 | --justify-important: center; 18 | --justify-normal: left; 19 | --line-height: 150%; 20 | --width-card: 285px; 21 | --width-card-medium: 460px; 22 | --width-card-wide: 800px; 23 | --width-content: 1080px; 24 | } 25 | 26 | /* 27 | @media (prefers-color-scheme: dark) { 28 | :root { 29 | --color: #0097fc; 30 | --color-accent: #0097fc4f; 31 | --color-bg: #333; 32 | --color-bg-secondary: #555; 33 | --color-secondary: #e20de9; 34 | --color-secondary-accent: #e20de94f; 35 | --color-shadow: #bbbbbb20; 36 | --color-text: #f7f7f7; 37 | --color-text-secondary: #aaa; 38 | } 39 | } 40 | */ 41 | 42 | /* Layout */ 43 | article aside { 44 | background: var(--color-secondary-accent); 45 | border-left: 4px solid var(--color-secondary); 46 | padding: 0.01rem 0.8rem; 47 | } 48 | 49 | body { 50 | background: var(--color-bg); 51 | color: var(--color-text); 52 | font-family: var(--font); 53 | line-height: var(--line-height); 54 | margin: 0; 55 | overflow-x: hidden; 56 | padding: 1rem 0; 57 | } 58 | 59 | footer, 60 | header, 61 | main { 62 | margin: 0 auto; 63 | max-width: var(--width-content); 64 | padding: 2rem 1rem; 65 | } 66 | 67 | hr { 68 | background-color: var(--color-bg-secondary); 69 | border: none; 70 | height: 1px; 71 | margin: 4rem 0; 72 | } 73 | 74 | section { 75 | display: flex; 76 | flex-wrap: wrap; 77 | justify-content: var(--justify-important); 78 | } 79 | 80 | section aside { 81 | border: 1px solid var(--color-bg-secondary); 82 | border-radius: var(--border-radius); 83 | box-shadow: var(--box-shadow) var(--color-shadow); 84 | margin: 1rem; 85 | padding: 1.25rem; 86 | width: var(--width-card); 87 | } 88 | 89 | section aside:hover { 90 | box-shadow: var(--box-shadow) var(--color-bg-secondary); 91 | } 92 | 93 | section aside img { 94 | max-width: 100%; 95 | } 96 | 97 | /* Headers */ 98 | article header, 99 | div header, 100 | main header { 101 | padding-top: 0; 102 | } 103 | 104 | header { 105 | text-align: var(--justify-important); 106 | } 107 | 108 | header a b, 109 | header a em, 110 | header a i, 111 | header a strong { 112 | margin-left: 0.5rem; 113 | margin-right: 0.5rem; 114 | } 115 | 116 | header nav img { 117 | margin: 1rem 0; 118 | } 119 | 120 | section header { 121 | padding-top: 0; 122 | width: 100%; 123 | } 124 | 125 | /* Nav */ 126 | nav { 127 | align-items: center; 128 | display: flex; 129 | font-weight: bold; 130 | justify-content: space-between; 131 | margin-bottom: 7rem; 132 | } 133 | 134 | nav ul { 135 | list-style: none; 136 | padding: 0; 137 | } 138 | 139 | nav ul li { 140 | display: inline-block; 141 | margin: 0 0.5rem; 142 | position: relative; 143 | text-align: left; 144 | } 145 | 146 | /* Nav Dropdown */ 147 | nav ul li:hover ul { 148 | display: block; 149 | } 150 | 151 | nav ul li ul { 152 | background: var(--color-bg); 153 | border: 1px solid var(--color-bg-secondary); 154 | border-radius: var(--border-radius); 155 | box-shadow: var(--box-shadow) var(--color-shadow); 156 | display: none; 157 | height: auto; 158 | padding: .5rem 1rem; 159 | position: absolute; 160 | right: 0; 161 | top: 1.7rem; 162 | width: auto; 163 | } 164 | 165 | nav ul li ul li, 166 | nav ul li ul li a { 167 | display: block; 168 | } 169 | 170 | /* Typography */ 171 | code, 172 | samp { 173 | background-color: var(--color-accent); 174 | border-radius: var(--border-radius); 175 | color: var(--color-text); 176 | display: inline-block; 177 | margin: 0 0.1rem; 178 | padding: 0rem 0.5rem; 179 | text-align: var(--justify-normal); 180 | } 181 | 182 | details { 183 | margin: 1.3rem 0; 184 | } 185 | 186 | details summary { 187 | font-weight: bold; 188 | cursor: pointer; 189 | } 190 | 191 | h1, 192 | h2, 193 | h3, 194 | h4, 195 | h5, 196 | h6 { 197 | line-height: var(--line-height); 198 | } 199 | 200 | mark { 201 | padding: 0.1rem; 202 | } 203 | 204 | ol li, 205 | ul li { 206 | padding: 0.2rem 0; 207 | } 208 | 209 | p { 210 | margin: 0.75rem 0; 211 | padding: 0; 212 | } 213 | 214 | pre { 215 | margin: 1rem 0; 216 | max-width: var(--width-card-wide); 217 | white-space: pre-line; 218 | } 219 | 220 | pre code, 221 | pre samp { 222 | padding: 1rem 2rem; 223 | } 224 | 225 | small { 226 | color: var(--color-text-secondary); 227 | } 228 | 229 | sup { 230 | background-color: var(--color-secondary); 231 | border-radius: var(--border-radius); 232 | color: var(--color-bg); 233 | font-size: xx-small; 234 | font-weight: bold; 235 | margin: 0.2rem; 236 | padding: 0.2rem 0.3rem; 237 | position: relative; 238 | top: -2px; 239 | } 240 | 241 | /* Links */ 242 | a { 243 | color: var(--color-secondary); 244 | display: inline-block; 245 | font-weight: bold; 246 | text-decoration: none; 247 | } 248 | 249 | a:hover { 250 | filter: brightness(var(--hover-brightness)); 251 | text-decoration: underline; 252 | } 253 | 254 | a b, 255 | a em, 256 | a i, 257 | a strong, 258 | button { 259 | border-radius: var(--border-radius); 260 | display: inline-block; 261 | font-size: medium; 262 | font-weight: bold; 263 | line-height: var(--line-height); 264 | margin: 0.5rem 0; 265 | padding: 1rem 2rem; 266 | } 267 | 268 | button { 269 | font-family: var(--font); 270 | } 271 | 272 | button:hover { 273 | cursor: pointer; 274 | filter: brightness(var(--hover-brightness)); 275 | } 276 | 277 | a b, 278 | a strong, 279 | button { 280 | background-color: var(--color); 281 | border: 2px solid var(--color); 282 | color: var(--color-bg); 283 | } 284 | 285 | a em, 286 | a i { 287 | border: 2px solid var(--color); 288 | border-radius: var(--border-radius); 289 | color: var(--color); 290 | display: inline-block; 291 | padding: 1rem 2rem; 292 | } 293 | 294 | /* Images */ 295 | figure { 296 | margin: 0; 297 | padding: 0; 298 | } 299 | 300 | figure img { 301 | max-width: 100%; 302 | } 303 | 304 | figure figcaption { 305 | color: var(--color-text-secondary); 306 | } 307 | 308 | /* Forms */ 309 | 310 | button:disabled, 311 | input:disabled { 312 | background: var(--color-bg-secondary); 313 | border-color: var(--color-bg-secondary); 314 | color: var(--color-text-secondary); 315 | cursor: not-allowed; 316 | } 317 | 318 | button[disabled]:hover { 319 | filter: none; 320 | } 321 | 322 | form { 323 | border: 1px solid var(--color-bg-secondary); 324 | border-radius: var(--border-radius); 325 | box-shadow: var(--box-shadow) var(--color-shadow); 326 | display: block; 327 | max-width: var(--width-card-wide); 328 | min-width: var(--width-card); 329 | padding: 1.5rem; 330 | text-align: var(--justify-normal); 331 | } 332 | 333 | form header { 334 | margin: 1.5rem 0; 335 | padding: 1.5rem 0; 336 | } 337 | 338 | input, 339 | label, 340 | select, 341 | textarea { 342 | display: block; 343 | font-size: inherit; 344 | max-width: var(--width-card-wide); 345 | } 346 | 347 | input[type="checkbox"], 348 | input[type="radio"] { 349 | display: inline-block; 350 | } 351 | 352 | input[type="checkbox"]+label, 353 | input[type="radio"]+label { 354 | display: inline-block; 355 | font-weight: normal; 356 | position: relative; 357 | top: 1px; 358 | } 359 | 360 | input, 361 | select, 362 | textarea { 363 | border: 1px solid var(--color-bg-secondary); 364 | border-radius: var(--border-radius); 365 | margin-bottom: 1rem; 366 | padding: 0.4rem 0.8rem; 367 | } 368 | 369 | input[readonly], 370 | textarea[readonly] { 371 | background-color: var(--color-bg-secondary); 372 | } 373 | 374 | label { 375 | font-weight: bold; 376 | margin-bottom: 0.2rem; 377 | } 378 | 379 | /* Tables */ 380 | table { 381 | border: 1px solid var(--color-bg-secondary); 382 | border-radius: var(--border-radius); 383 | border-spacing: 0; 384 | overflow-x: scroll; 385 | overflow-y: hidden; 386 | padding: 0; 387 | } 388 | 389 | table td, 390 | table th, 391 | table tr { 392 | padding: 0.4rem 0.8rem; 393 | text-align: var(--justify-important); 394 | } 395 | 396 | table thead { 397 | background-color: var(--color); 398 | border-collapse: collapse; 399 | border-radius: var(--border-radius); 400 | color: var(--color-bg); 401 | margin: 0; 402 | padding: 0; 403 | } 404 | 405 | table thead th:first-child { 406 | border-top-left-radius: var(--border-radius); 407 | } 408 | 409 | table thead th:last-child { 410 | border-top-right-radius: var(--border-radius); 411 | } 412 | 413 | table thead th:first-child, 414 | table tr td:first-child { 415 | text-align: var(--justify-normal); 416 | } 417 | 418 | /* Quotes */ 419 | blockquote { 420 | display: block; 421 | font-size: x-large; 422 | line-height: var(--line-height); 423 | margin: 1rem auto; 424 | max-width: var(--width-card-medium); 425 | padding: 1.5rem 1rem; 426 | text-align: var(--justify-important); 427 | } 428 | 429 | blockquote footer { 430 | color: var(--color-text-secondary); 431 | display: block; 432 | font-size: small; 433 | line-height: var(--line-height); 434 | padding: 1.5rem 0; 435 | } 436 | 437 | /* Custom styles */ -------------------------------------------------------------------------------- /step-1/views/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Home page 7 | 8 | 9 | 10 |
11 |

Home page

12 |

This page is public

13 | profile 14 |
15 | 16 | -------------------------------------------------------------------------------- /step-1/views/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Firebase Server Auth 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |
17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 36 |
37 | 38 | 39 | -------------------------------------------------------------------------------- /step-1/views/profile.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Profile page 7 | 8 | 9 | 10 |
11 |

Profile page

12 |

This page is private

13 | Log out 14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /step-1/views/signup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Firebase Server Auth 7 | 8 | 9 | 10 |
11 |
12 |
13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 24 | 25 | 36 |
37 | 38 | 39 | -------------------------------------------------------------------------------- /step-1/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@firebase/app-types@0.6.0": 6 | version "0.6.0" 7 | resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.6.0.tgz#8dcc3e793c6983e9d54f7eb623a7618c05f2d94c" 8 | integrity sha512-ld6rzjXk/SUauHiQZJkeuSJpxIZ5wdnWuF5fWBFQNPaxsaJ9kyYg9GqEvwZ1z2e6JP5cU9gwRBlfW1WkGtGDYA== 9 | 10 | "@firebase/auth-interop-types@0.1.4": 11 | version "0.1.4" 12 | resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.1.4.tgz#e81589f58508630a5bffa604d7c949a0d01ea97b" 13 | integrity sha512-CLKNS84KGAv5lRnHTQZFWoR11Ti7gIPFirDDXWek/fSU+TdYdnxJFR5XSD4OuGyzUYQ3Dq7aVj5teiRdyBl9hA== 14 | 15 | "@firebase/component@0.1.9": 16 | version "0.1.9" 17 | resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.1.9.tgz#738d1a4c79431a1e899df5de7b310eee370d34ed" 18 | integrity sha512-i58GsVpxBGnKn1rx2RCAH0rk1Ldp6WterfBNDHyxmuyRO6BaZAgvxrZ3Ku1/lqiI7XMbmmRpP3emmwrStbFt9Q== 19 | dependencies: 20 | "@firebase/util" "0.2.44" 21 | tslib "1.11.1" 22 | 23 | "@firebase/database-types@0.4.14": 24 | version "0.4.14" 25 | resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-0.4.14.tgz#181e10c1d1ae64fd0a080f6e0369cec115c51d70" 26 | integrity sha512-+D41HWac0HcvwMi+0dezEdSOZHpVjPKPNmpQiW2GDuS5kk27/v1jxc9v7F4ALLtpxbVcn16UZl5PqEkcS9H2Xg== 27 | dependencies: 28 | "@firebase/app-types" "0.6.0" 29 | 30 | "@firebase/database@^0.5.17": 31 | version "0.5.25" 32 | resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.5.25.tgz#fa3b00cf315cebd7a29ca1dfd869853b61469534" 33 | integrity sha512-qUIpgDoODWs/FEdCQoH/VwRDvW7nn7m99TGxbMhdiE2WV/nzKbCo/PbbGm0dltdZzQ/SE87E2lfpPGK89Riw6Q== 34 | dependencies: 35 | "@firebase/auth-interop-types" "0.1.4" 36 | "@firebase/component" "0.1.9" 37 | "@firebase/database-types" "0.4.14" 38 | "@firebase/logger" "0.2.1" 39 | "@firebase/util" "0.2.44" 40 | faye-websocket "0.11.3" 41 | tslib "1.11.1" 42 | 43 | "@firebase/logger@0.2.1": 44 | version "0.2.1" 45 | resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.2.1.tgz#09cdc5d3fe8ba4ed9bf8d6e6ab2a3b5398bd80bb" 46 | integrity sha512-H4nttTqUzEw3TA/JYl8ma6oMSNKHcdpEWV2L2qA+ZEcpM2OLAzagi//DrYBFR5xpPb17IGagpzSxFgx937Sq/A== 47 | 48 | "@firebase/util@0.2.44": 49 | version "0.2.44" 50 | resolved "https://registry.yarnpkg.com/@firebase/util/-/util-0.2.44.tgz#bdf031f2714761ed6062ba2c32edca9113a339af" 51 | integrity sha512-yWnFdeuz7P0QC4oC77JyPdAQ/rTGPDfhHcR5WsoMsKBBHTyqEhaKWL9HeRird+p3AL9M4++ep0FYFNd1UKU3Wg== 52 | dependencies: 53 | tslib "1.11.1" 54 | 55 | "@google-cloud/common@^2.1.1": 56 | version "2.4.0" 57 | resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-2.4.0.tgz#2783b7de8435024a31453510f2dab5a6a91a4c82" 58 | integrity sha512-zWFjBS35eI9leAHhjfeOYlK5Plcuj/77EzstnrJIZbKgF/nkqjcQuGiMCpzCwOfPyUbz8ZaEOYgbHa759AKbjg== 59 | dependencies: 60 | "@google-cloud/projectify" "^1.0.0" 61 | "@google-cloud/promisify" "^1.0.0" 62 | arrify "^2.0.0" 63 | duplexify "^3.6.0" 64 | ent "^2.2.0" 65 | extend "^3.0.2" 66 | google-auth-library "^5.5.0" 67 | retry-request "^4.0.0" 68 | teeny-request "^6.0.0" 69 | 70 | "@google-cloud/firestore@^3.0.0": 71 | version "3.7.4" 72 | resolved "https://registry.yarnpkg.com/@google-cloud/firestore/-/firestore-3.7.4.tgz#8a9f3ace01d3bf29a8a1bad3c617035eb14b6cc6" 73 | integrity sha512-RBMG4uZFHeQPFMHTRFMyQ7LDQTLa0f+U0hLAa/7XWjpZHgxKuOWBonsv+C3geymAwShIZSoV/NpNh9tBK7YF5g== 74 | dependencies: 75 | deep-equal "^2.0.0" 76 | functional-red-black-tree "^1.0.1" 77 | google-gax "^1.13.0" 78 | readable-stream "^3.4.0" 79 | through2 "^3.0.0" 80 | 81 | "@google-cloud/paginator@^2.0.0": 82 | version "2.0.3" 83 | resolved "https://registry.yarnpkg.com/@google-cloud/paginator/-/paginator-2.0.3.tgz#c7987ad05d1c3ebcef554381be80e9e8da4e4882" 84 | integrity sha512-kp/pkb2p/p0d8/SKUu4mOq8+HGwF8NPzHWkj+VKrIPQPyMRw8deZtrO/OcSiy9C/7bpfU5Txah5ltUNfPkgEXg== 85 | dependencies: 86 | arrify "^2.0.0" 87 | extend "^3.0.2" 88 | 89 | "@google-cloud/projectify@^1.0.0": 90 | version "1.0.4" 91 | resolved "https://registry.yarnpkg.com/@google-cloud/projectify/-/projectify-1.0.4.tgz#28daabebba6579ed998edcadf1a8f3be17f3b5f0" 92 | integrity sha512-ZdzQUN02eRsmTKfBj9FDL0KNDIFNjBn/d6tHQmA/+FImH5DO6ZV8E7FzxMgAUiVAUq41RFAkb25p1oHOZ8psfg== 93 | 94 | "@google-cloud/promisify@^1.0.0": 95 | version "1.0.4" 96 | resolved "https://registry.yarnpkg.com/@google-cloud/promisify/-/promisify-1.0.4.tgz#ce86ffa94f9cfafa2e68f7b3e4a7fad194189723" 97 | integrity sha512-VccZDcOql77obTnFh0TbNED/6ZbbmHDf8UMNnzO1d5g9V0Htfm4k5cllY8P1tJsRKC3zWYGRLaViiupcgVjBoQ== 98 | 99 | "@google-cloud/storage@^4.1.2": 100 | version "4.7.0" 101 | resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-4.7.0.tgz#a7466086a83911c7979cc238d00a127ffb645615" 102 | integrity sha512-f0guAlbeg7Z0m3gKjCfBCu7FG9qS3M3oL5OQQxlvGoPtK7/qg3+W+KQV73O2/sbuS54n0Kh2mvT5K2FWzF5vVQ== 103 | dependencies: 104 | "@google-cloud/common" "^2.1.1" 105 | "@google-cloud/paginator" "^2.0.0" 106 | "@google-cloud/promisify" "^1.0.0" 107 | arrify "^2.0.0" 108 | compressible "^2.0.12" 109 | concat-stream "^2.0.0" 110 | date-and-time "^0.13.0" 111 | duplexify "^3.5.0" 112 | extend "^3.0.2" 113 | gaxios "^3.0.0" 114 | gcs-resumable-upload "^2.2.4" 115 | hash-stream-validation "^0.2.2" 116 | mime "^2.2.0" 117 | mime-types "^2.0.8" 118 | onetime "^5.1.0" 119 | p-limit "^2.2.0" 120 | pumpify "^2.0.0" 121 | readable-stream "^3.4.0" 122 | snakeize "^0.1.0" 123 | stream-events "^1.0.1" 124 | through2 "^3.0.0" 125 | xdg-basedir "^4.0.0" 126 | 127 | "@grpc/grpc-js@^0.7.4": 128 | version "0.7.9" 129 | resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-0.7.9.tgz#a0fae94fecfd4a44fbde496f689c2b4179407bf5" 130 | integrity sha512-ihn9xWOqubMPBlU77wcYpy7FFamGo5xtsK27EAILL/eoOvGEAq29UOrqRvqYPwWfl2+3laFmGKNR7uCdJhKu4Q== 131 | dependencies: 132 | semver "^6.2.0" 133 | 134 | "@grpc/proto-loader@^0.5.1": 135 | version "0.5.4" 136 | resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.5.4.tgz#038a3820540f621eeb1b05d81fbedfb045e14de0" 137 | integrity sha512-HTM4QpI9B2XFkPz7pjwMyMgZchJ93TVkL3kWPW8GDMDKYxsMnmf4w2TNMJK7+KNiYHS5cJrCEAFlF+AwtXWVPA== 138 | dependencies: 139 | lodash.camelcase "^4.3.0" 140 | protobufjs "^6.8.6" 141 | 142 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": 143 | version "1.1.2" 144 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" 145 | integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= 146 | 147 | "@protobufjs/base64@^1.1.2": 148 | version "1.1.2" 149 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" 150 | integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== 151 | 152 | "@protobufjs/codegen@^2.0.4": 153 | version "2.0.4" 154 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" 155 | integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== 156 | 157 | "@protobufjs/eventemitter@^1.1.0": 158 | version "1.1.0" 159 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" 160 | integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= 161 | 162 | "@protobufjs/fetch@^1.1.0": 163 | version "1.1.0" 164 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" 165 | integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= 166 | dependencies: 167 | "@protobufjs/aspromise" "^1.1.1" 168 | "@protobufjs/inquire" "^1.1.0" 169 | 170 | "@protobufjs/float@^1.0.2": 171 | version "1.0.2" 172 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" 173 | integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= 174 | 175 | "@protobufjs/inquire@^1.1.0": 176 | version "1.1.0" 177 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" 178 | integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= 179 | 180 | "@protobufjs/path@^1.1.2": 181 | version "1.1.2" 182 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" 183 | integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= 184 | 185 | "@protobufjs/pool@^1.1.0": 186 | version "1.1.0" 187 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" 188 | integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= 189 | 190 | "@protobufjs/utf8@^1.1.0": 191 | version "1.1.0" 192 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" 193 | integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= 194 | 195 | "@tootallnate/once@1": 196 | version "1.0.0" 197 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.0.0.tgz#9c13c2574c92d4503b005feca8f2e16cc1611506" 198 | integrity sha512-KYyTT/T6ALPkIRd2Ge080X/BsXvy9O0hcWTtMWkPvwAwF99+vn6Dv4GzrFT/Nn1LePr+FFDbRXXlqmsy9lw2zA== 199 | 200 | "@types/fs-extra@^8.0.1": 201 | version "8.1.0" 202 | resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.0.tgz#1114834b53c3914806cd03b3304b37b3bd221a4d" 203 | integrity sha512-UoOfVEzAUpeSPmjm7h1uk5MH6KZma2z2O7a75onTGjnNvAvMVrPzPL/vBbT65iIGHWj6rokwfmYcmxmlSf2uwg== 204 | dependencies: 205 | "@types/node" "*" 206 | 207 | "@types/long@^4.0.0": 208 | version "4.0.1" 209 | resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" 210 | integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== 211 | 212 | "@types/node@*": 213 | version "13.13.0" 214 | resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.0.tgz#30d2d09f623fe32cde9cb582c7a6eda2788ce4a8" 215 | integrity sha512-WE4IOAC6r/yBZss1oQGM5zs2D7RuKR6Q+w+X2SouPofnWn+LbCqClRyhO3ZE7Ix8nmFgo/oVuuE01cJT2XB13A== 216 | 217 | "@types/node@^10.1.0": 218 | version "10.17.20" 219 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.20.tgz#e6d8b3631af1e59bbb4fda04926b078acdd3c2ef" 220 | integrity sha512-XgDgo6W10SeGEAM0k7FosJpvLCynOTYns4Xk3J5HGrA+UI/bKZ30PGMzOP5Lh2zs4259I71FSYLAtjnx3qhObw== 221 | 222 | "@types/node@^8.10.59": 223 | version "8.10.60" 224 | resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.60.tgz#73eb4d1e1c8aa5dc724363b57db019cf28863ef7" 225 | integrity sha512-YjPbypHFuiOV0bTgeF07HpEEqhmHaZqYNSdCKeBJa+yFoQ/7BC+FpJcwmi34xUIIRVFktnUyP1dPU8U0612GOg== 226 | 227 | abort-controller@^3.0.0: 228 | version "3.0.0" 229 | resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" 230 | integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== 231 | dependencies: 232 | event-target-shim "^5.0.0" 233 | 234 | accepts@~1.3.7: 235 | version "1.3.7" 236 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" 237 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== 238 | dependencies: 239 | mime-types "~2.1.24" 240 | negotiator "0.6.2" 241 | 242 | agent-base@6: 243 | version "6.0.0" 244 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.0.tgz#5d0101f19bbfaed39980b22ae866de153b93f09a" 245 | integrity sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw== 246 | dependencies: 247 | debug "4" 248 | 249 | array-filter@^1.0.0: 250 | version "1.0.0" 251 | resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" 252 | integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= 253 | 254 | array-flatten@1.1.1: 255 | version "1.1.1" 256 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 257 | integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= 258 | 259 | arrify@^2.0.0: 260 | version "2.0.1" 261 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" 262 | integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== 263 | 264 | available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: 265 | version "1.0.2" 266 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" 267 | integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== 268 | dependencies: 269 | array-filter "^1.0.0" 270 | 271 | base64-js@^1.3.0: 272 | version "1.3.1" 273 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" 274 | integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== 275 | 276 | bignumber.js@^7.0.0: 277 | version "7.2.1" 278 | resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f" 279 | integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== 280 | 281 | body-parser@1.19.0, body-parser@^1.19.0: 282 | version "1.19.0" 283 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" 284 | integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== 285 | dependencies: 286 | bytes "3.1.0" 287 | content-type "~1.0.4" 288 | debug "2.6.9" 289 | depd "~1.1.2" 290 | http-errors "1.7.2" 291 | iconv-lite "0.4.24" 292 | on-finished "~2.3.0" 293 | qs "6.7.0" 294 | raw-body "2.4.0" 295 | type-is "~1.6.17" 296 | 297 | buffer-equal-constant-time@1.0.1: 298 | version "1.0.1" 299 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 300 | integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= 301 | 302 | buffer-from@^1.0.0: 303 | version "1.1.1" 304 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 305 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 306 | 307 | bytes@3.1.0: 308 | version "3.1.0" 309 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" 310 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== 311 | 312 | compressible@^2.0.12: 313 | version "2.0.18" 314 | resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" 315 | integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== 316 | dependencies: 317 | mime-db ">= 1.43.0 < 2" 318 | 319 | concat-stream@^2.0.0: 320 | version "2.0.0" 321 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" 322 | integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== 323 | dependencies: 324 | buffer-from "^1.0.0" 325 | inherits "^2.0.3" 326 | readable-stream "^3.0.2" 327 | typedarray "^0.0.6" 328 | 329 | configstore@^5.0.0: 330 | version "5.0.1" 331 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" 332 | integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== 333 | dependencies: 334 | dot-prop "^5.2.0" 335 | graceful-fs "^4.1.2" 336 | make-dir "^3.0.0" 337 | unique-string "^2.0.0" 338 | write-file-atomic "^3.0.0" 339 | xdg-basedir "^4.0.0" 340 | 341 | content-disposition@0.5.3: 342 | version "0.5.3" 343 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" 344 | integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== 345 | dependencies: 346 | safe-buffer "5.1.2" 347 | 348 | content-type@~1.0.4: 349 | version "1.0.4" 350 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 351 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 352 | 353 | cookie-parser@^1.4.5: 354 | version "1.4.5" 355 | resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.5.tgz#3e572d4b7c0c80f9c61daf604e4336831b5d1d49" 356 | integrity sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw== 357 | dependencies: 358 | cookie "0.4.0" 359 | cookie-signature "1.0.6" 360 | 361 | cookie-signature@1.0.6: 362 | version "1.0.6" 363 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 364 | integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= 365 | 366 | cookie@0.4.0: 367 | version "0.4.0" 368 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" 369 | integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== 370 | 371 | core-util-is@~1.0.0: 372 | version "1.0.2" 373 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 374 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 375 | 376 | crypto-random-string@^2.0.0: 377 | version "2.0.0" 378 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" 379 | integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== 380 | 381 | csrf@3.1.0: 382 | version "3.1.0" 383 | resolved "https://registry.yarnpkg.com/csrf/-/csrf-3.1.0.tgz#ec75e9656d004d674b8ef5ba47b41fbfd6cb9c30" 384 | integrity sha512-uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w== 385 | dependencies: 386 | rndm "1.2.0" 387 | tsscmp "1.0.6" 388 | uid-safe "2.1.5" 389 | 390 | csurf@^1.11.0: 391 | version "1.11.0" 392 | resolved "https://registry.yarnpkg.com/csurf/-/csurf-1.11.0.tgz#ab0c3c6634634192bd3d6f4b861be20800eeb61a" 393 | integrity sha512-UCtehyEExKTxgiu8UHdGvHj4tnpE/Qctue03Giq5gPgMQ9cg/ciod5blZQ5a4uCEenNQjxyGuzygLdKUmee/bQ== 394 | dependencies: 395 | cookie "0.4.0" 396 | cookie-signature "1.0.6" 397 | csrf "3.1.0" 398 | http-errors "~1.7.3" 399 | 400 | date-and-time@^0.13.0: 401 | version "0.13.1" 402 | resolved "https://registry.yarnpkg.com/date-and-time/-/date-and-time-0.13.1.tgz#d12ba07ac840d5b112dc4c83f8a03e8a51f78dd6" 403 | integrity sha512-/Uge9DJAT+s+oAcDxtBhyR8+sKjUnZbYmyhbmWjTHNtX7B7oWD8YyYdeXcBRbwSj6hVvj+IQegJam7m7czhbFw== 404 | 405 | debug@2.6.9: 406 | version "2.6.9" 407 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 408 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 409 | dependencies: 410 | ms "2.0.0" 411 | 412 | debug@4, debug@^4.1.1: 413 | version "4.1.1" 414 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 415 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 416 | dependencies: 417 | ms "^2.1.1" 418 | 419 | deep-equal@^2.0.0: 420 | version "2.0.2" 421 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.0.2.tgz#e68291e245493ae908ca7190c1deea57a01ed82b" 422 | integrity sha512-kX0bjV7tdMuhrhzKPEnVwqfQCuf+IEfN+4Xqv4eKd75xGRyn8yzdQ9ujPY6a221rgJKyQC4KBu1PibDTpa6m9w== 423 | dependencies: 424 | es-abstract "^1.17.5" 425 | es-get-iterator "^1.1.0" 426 | is-arguments "^1.0.4" 427 | is-date-object "^1.0.2" 428 | is-regex "^1.0.5" 429 | isarray "^2.0.5" 430 | object-is "^1.0.2" 431 | object-keys "^1.1.1" 432 | regexp.prototype.flags "^1.3.0" 433 | side-channel "^1.0.2" 434 | which-boxed-primitive "^1.0.1" 435 | which-collection "^1.0.1" 436 | which-typed-array "^1.1.1" 437 | 438 | define-properties@^1.1.2, define-properties@^1.1.3: 439 | version "1.1.3" 440 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 441 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 442 | dependencies: 443 | object-keys "^1.0.12" 444 | 445 | depd@~1.1.2: 446 | version "1.1.2" 447 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 448 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 449 | 450 | destroy@~1.0.4: 451 | version "1.0.4" 452 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 453 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 454 | 455 | dicer@^0.3.0: 456 | version "0.3.0" 457 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872" 458 | integrity sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA== 459 | dependencies: 460 | streamsearch "0.1.2" 461 | 462 | dot-prop@^5.2.0: 463 | version "5.2.0" 464 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" 465 | integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== 466 | dependencies: 467 | is-obj "^2.0.0" 468 | 469 | duplexify@^3.5.0, duplexify@^3.6.0: 470 | version "3.7.1" 471 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" 472 | integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== 473 | dependencies: 474 | end-of-stream "^1.0.0" 475 | inherits "^2.0.1" 476 | readable-stream "^2.0.0" 477 | stream-shift "^1.0.0" 478 | 479 | duplexify@^4.1.1: 480 | version "4.1.1" 481 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.1.tgz#7027dc374f157b122a8ae08c2d3ea4d2d953aa61" 482 | integrity sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA== 483 | dependencies: 484 | end-of-stream "^1.4.1" 485 | inherits "^2.0.3" 486 | readable-stream "^3.1.1" 487 | stream-shift "^1.0.0" 488 | 489 | ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: 490 | version "1.0.11" 491 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" 492 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== 493 | dependencies: 494 | safe-buffer "^5.0.1" 495 | 496 | ee-first@1.1.1: 497 | version "1.1.1" 498 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 499 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 500 | 501 | ejs@^3.0.2: 502 | version "3.0.2" 503 | resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.0.2.tgz#745b01cdcfe38c1c6a2da3bbb2d9957060a31226" 504 | integrity sha512-IncmUpn1yN84hy2shb0POJ80FWrfGNY0cxO9f4v+/sG7qcBvAtVWUA1IdzY/8EYUmOVhoKJVdJjNd3AZcnxOjA== 505 | 506 | encodeurl@~1.0.2: 507 | version "1.0.2" 508 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 509 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 510 | 511 | end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: 512 | version "1.4.4" 513 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 514 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 515 | dependencies: 516 | once "^1.4.0" 517 | 518 | ent@^2.2.0: 519 | version "2.2.0" 520 | resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" 521 | integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= 522 | 523 | es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: 524 | version "1.17.5" 525 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" 526 | integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== 527 | dependencies: 528 | es-to-primitive "^1.2.1" 529 | function-bind "^1.1.1" 530 | has "^1.0.3" 531 | has-symbols "^1.0.1" 532 | is-callable "^1.1.5" 533 | is-regex "^1.0.5" 534 | object-inspect "^1.7.0" 535 | object-keys "^1.1.1" 536 | object.assign "^4.1.0" 537 | string.prototype.trimleft "^2.1.1" 538 | string.prototype.trimright "^2.1.1" 539 | 540 | es-get-iterator@^1.1.0: 541 | version "1.1.0" 542 | resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" 543 | integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== 544 | dependencies: 545 | es-abstract "^1.17.4" 546 | has-symbols "^1.0.1" 547 | is-arguments "^1.0.4" 548 | is-map "^2.0.1" 549 | is-set "^2.0.1" 550 | is-string "^1.0.5" 551 | isarray "^2.0.5" 552 | 553 | es-to-primitive@^1.2.1: 554 | version "1.2.1" 555 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 556 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 557 | dependencies: 558 | is-callable "^1.1.4" 559 | is-date-object "^1.0.1" 560 | is-symbol "^1.0.2" 561 | 562 | escape-html@~1.0.3: 563 | version "1.0.3" 564 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 565 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 566 | 567 | etag@~1.8.1: 568 | version "1.8.1" 569 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 570 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 571 | 572 | event-target-shim@^5.0.0: 573 | version "5.0.1" 574 | resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" 575 | integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== 576 | 577 | express@^4.17.1: 578 | version "4.17.1" 579 | resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" 580 | integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== 581 | dependencies: 582 | accepts "~1.3.7" 583 | array-flatten "1.1.1" 584 | body-parser "1.19.0" 585 | content-disposition "0.5.3" 586 | content-type "~1.0.4" 587 | cookie "0.4.0" 588 | cookie-signature "1.0.6" 589 | debug "2.6.9" 590 | depd "~1.1.2" 591 | encodeurl "~1.0.2" 592 | escape-html "~1.0.3" 593 | etag "~1.8.1" 594 | finalhandler "~1.1.2" 595 | fresh "0.5.2" 596 | merge-descriptors "1.0.1" 597 | methods "~1.1.2" 598 | on-finished "~2.3.0" 599 | parseurl "~1.3.3" 600 | path-to-regexp "0.1.7" 601 | proxy-addr "~2.0.5" 602 | qs "6.7.0" 603 | range-parser "~1.2.1" 604 | safe-buffer "5.1.2" 605 | send "0.17.1" 606 | serve-static "1.14.1" 607 | setprototypeof "1.1.1" 608 | statuses "~1.5.0" 609 | type-is "~1.6.18" 610 | utils-merge "1.0.1" 611 | vary "~1.1.2" 612 | 613 | extend@^3.0.2: 614 | version "3.0.2" 615 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 616 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 617 | 618 | fast-text-encoding@^1.0.0: 619 | version "1.0.1" 620 | resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.1.tgz#4a428566f74fc55ebdd447555b1eb4d9cf514455" 621 | integrity sha512-x4FEgaz3zNRtJfLFqJmHWxkMDDvXVtaznj2V9jiP8ACUJrUgist4bP9FmDL2Vew2Y9mEQI/tG4GqabaitYp9CQ== 622 | 623 | faye-websocket@0.11.3: 624 | version "0.11.3" 625 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" 626 | integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== 627 | dependencies: 628 | websocket-driver ">=0.5.1" 629 | 630 | finalhandler@~1.1.2: 631 | version "1.1.2" 632 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" 633 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== 634 | dependencies: 635 | debug "2.6.9" 636 | encodeurl "~1.0.2" 637 | escape-html "~1.0.3" 638 | on-finished "~2.3.0" 639 | parseurl "~1.3.3" 640 | statuses "~1.5.0" 641 | unpipe "~1.0.0" 642 | 643 | firebase-admin@^8.10.0: 644 | version "8.10.0" 645 | resolved "https://registry.yarnpkg.com/firebase-admin/-/firebase-admin-8.10.0.tgz#4a838aec52df49845eba07ad59a40b4df996e815" 646 | integrity sha512-QzJZ1sBh9xzKjb44aP6m1duy0Xe1ixexwh0eaOt1CkJYCOq2b6bievK4GNWMl5yGQ7FFBEbZO6hyDi+5wrctcg== 647 | dependencies: 648 | "@firebase/database" "^0.5.17" 649 | "@types/node" "^8.10.59" 650 | dicer "^0.3.0" 651 | jsonwebtoken "8.1.0" 652 | node-forge "0.7.4" 653 | optionalDependencies: 654 | "@google-cloud/firestore" "^3.0.0" 655 | "@google-cloud/storage" "^4.1.2" 656 | 657 | foreach@^2.0.5: 658 | version "2.0.5" 659 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 660 | integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= 661 | 662 | forwarded@~0.1.2: 663 | version "0.1.2" 664 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 665 | integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= 666 | 667 | fresh@0.5.2: 668 | version "0.5.2" 669 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 670 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 671 | 672 | function-bind@^1.1.1: 673 | version "1.1.1" 674 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 675 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 676 | 677 | functional-red-black-tree@^1.0.1: 678 | version "1.0.1" 679 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 680 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 681 | 682 | gaxios@^2.0.0, gaxios@^2.1.0: 683 | version "2.3.4" 684 | resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-2.3.4.tgz#eea99353f341c270c5f3c29fc46b8ead56f0a173" 685 | integrity sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA== 686 | dependencies: 687 | abort-controller "^3.0.0" 688 | extend "^3.0.2" 689 | https-proxy-agent "^5.0.0" 690 | is-stream "^2.0.0" 691 | node-fetch "^2.3.0" 692 | 693 | gaxios@^3.0.0: 694 | version "3.0.2" 695 | resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-3.0.2.tgz#ec49d0b93713d9efdc51e7a6499536854d8958fd" 696 | integrity sha512-cLOetrsKOBLPwjzVyFzirYaGjrhtYjbKUHp6fQpsio2HH8Mil35JTFQLgkV5D3CCXV7Gnd5V69/m4C9rMBi9bA== 697 | dependencies: 698 | abort-controller "^3.0.0" 699 | extend "^3.0.2" 700 | https-proxy-agent "^5.0.0" 701 | is-stream "^2.0.0" 702 | node-fetch "^2.3.0" 703 | 704 | gcp-metadata@^3.4.0: 705 | version "3.5.0" 706 | resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-3.5.0.tgz#6d28343f65a6bbf8449886a0c0e4a71c77577055" 707 | integrity sha512-ZQf+DLZ5aKcRpLzYUyBS3yo3N0JSa82lNDO8rj3nMSlovLcz2riKFBsYgDzeXcv75oo5eqB2lx+B14UvPoCRnA== 708 | dependencies: 709 | gaxios "^2.1.0" 710 | json-bigint "^0.3.0" 711 | 712 | gcs-resumable-upload@^2.2.4: 713 | version "2.3.3" 714 | resolved "https://registry.yarnpkg.com/gcs-resumable-upload/-/gcs-resumable-upload-2.3.3.tgz#02c616ed17eff6676e789910aeab3907d412c5f8" 715 | integrity sha512-sf896I5CC/1AxeaGfSFg3vKMjUq/r+A3bscmVzZm10CElyRanN0XwPu/MxeIO4LSP+9uF6yKzXvNsaTsMXUG6Q== 716 | dependencies: 717 | abort-controller "^3.0.0" 718 | configstore "^5.0.0" 719 | gaxios "^2.0.0" 720 | google-auth-library "^5.0.0" 721 | pumpify "^2.0.0" 722 | stream-events "^1.0.4" 723 | 724 | google-auth-library@^5.0.0, google-auth-library@^5.5.0: 725 | version "5.10.1" 726 | resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-5.10.1.tgz#504ec75487ad140e68dd577c21affa363c87ddff" 727 | integrity sha512-rOlaok5vlpV9rSiUu5EpR0vVpc+PhN62oF4RyX/6++DG1VsaulAFEMlDYBLjJDDPI6OcNOCGAKy9UVB/3NIDXg== 728 | dependencies: 729 | arrify "^2.0.0" 730 | base64-js "^1.3.0" 731 | ecdsa-sig-formatter "^1.0.11" 732 | fast-text-encoding "^1.0.0" 733 | gaxios "^2.1.0" 734 | gcp-metadata "^3.4.0" 735 | gtoken "^4.1.0" 736 | jws "^4.0.0" 737 | lru-cache "^5.0.0" 738 | 739 | google-gax@^1.13.0: 740 | version "1.15.2" 741 | resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-1.15.2.tgz#a58aff43ec383f4f056f9d796e8d5e4891161eb8" 742 | integrity sha512-yNNiRf9QxWpZNfQQmSPz3rIDTBDDKnLKY/QEsjCaJyDxttespr6v8WRGgU5KrU/6ZM7QRlgBAYXCkxqHhJp0wA== 743 | dependencies: 744 | "@grpc/grpc-js" "^0.7.4" 745 | "@grpc/proto-loader" "^0.5.1" 746 | "@types/fs-extra" "^8.0.1" 747 | "@types/long" "^4.0.0" 748 | abort-controller "^3.0.0" 749 | duplexify "^3.6.0" 750 | google-auth-library "^5.0.0" 751 | is-stream-ended "^0.1.4" 752 | lodash.at "^4.6.0" 753 | lodash.has "^4.5.2" 754 | node-fetch "^2.6.0" 755 | protobufjs "^6.8.9" 756 | retry-request "^4.0.0" 757 | semver "^6.0.0" 758 | walkdir "^0.4.0" 759 | 760 | google-p12-pem@^2.0.0: 761 | version "2.0.4" 762 | resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-2.0.4.tgz#036462394e266472632a78b685f0cc3df4ef337b" 763 | integrity sha512-S4blHBQWZRnEW44OcR7TL9WR+QCqByRvhNDZ/uuQfpxywfupikf/miba8js1jZi6ZOGv5slgSuoshCWh6EMDzg== 764 | dependencies: 765 | node-forge "^0.9.0" 766 | 767 | graceful-fs@^4.1.2: 768 | version "4.2.3" 769 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" 770 | integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== 771 | 772 | gtoken@^4.1.0: 773 | version "4.1.4" 774 | resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-4.1.4.tgz#925ff1e7df3aaada06611d30ea2d2abf60fcd6a7" 775 | integrity sha512-VxirzD0SWoFUo5p8RDP8Jt2AGyOmyYcT/pOUgDKJCK+iSw0TMqwrVfY37RXTNmoKwrzmDHSk0GMT9FsgVmnVSA== 776 | dependencies: 777 | gaxios "^2.1.0" 778 | google-p12-pem "^2.0.0" 779 | jws "^4.0.0" 780 | mime "^2.2.0" 781 | 782 | has-symbols@^1.0.0, has-symbols@^1.0.1: 783 | version "1.0.1" 784 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 785 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 786 | 787 | has@^1.0.3: 788 | version "1.0.3" 789 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 790 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 791 | dependencies: 792 | function-bind "^1.1.1" 793 | 794 | hash-stream-validation@^0.2.2: 795 | version "0.2.2" 796 | resolved "https://registry.yarnpkg.com/hash-stream-validation/-/hash-stream-validation-0.2.2.tgz#6b34c4fce5e9fce265f1d3380900049d92a10090" 797 | integrity sha512-cMlva5CxWZOrlS/cY0C+9qAzesn5srhFA8IT1VPiHc9bWWBLkJfEUIZr7MWoi89oOOGmpg8ymchaOjiArsGu5A== 798 | dependencies: 799 | through2 "^2.0.0" 800 | 801 | http-errors@1.7.2: 802 | version "1.7.2" 803 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" 804 | integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== 805 | dependencies: 806 | depd "~1.1.2" 807 | inherits "2.0.3" 808 | setprototypeof "1.1.1" 809 | statuses ">= 1.5.0 < 2" 810 | toidentifier "1.0.0" 811 | 812 | http-errors@~1.7.2, http-errors@~1.7.3: 813 | version "1.7.3" 814 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" 815 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== 816 | dependencies: 817 | depd "~1.1.2" 818 | inherits "2.0.4" 819 | setprototypeof "1.1.1" 820 | statuses ">= 1.5.0 < 2" 821 | toidentifier "1.0.0" 822 | 823 | "http-parser-js@>=0.4.0 <0.4.11": 824 | version "0.4.10" 825 | resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" 826 | integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= 827 | 828 | http-proxy-agent@^4.0.0: 829 | version "4.0.1" 830 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" 831 | integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== 832 | dependencies: 833 | "@tootallnate/once" "1" 834 | agent-base "6" 835 | debug "4" 836 | 837 | https-proxy-agent@^5.0.0: 838 | version "5.0.0" 839 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" 840 | integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== 841 | dependencies: 842 | agent-base "6" 843 | debug "4" 844 | 845 | iconv-lite@0.4.24: 846 | version "0.4.24" 847 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 848 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 849 | dependencies: 850 | safer-buffer ">= 2.1.2 < 3" 851 | 852 | imurmurhash@^0.1.4: 853 | version "0.1.4" 854 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 855 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 856 | 857 | inherits@2.0.3: 858 | version "2.0.3" 859 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 860 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 861 | 862 | inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: 863 | version "2.0.4" 864 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 865 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 866 | 867 | ipaddr.js@1.9.1: 868 | version "1.9.1" 869 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 870 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 871 | 872 | is-arguments@^1.0.4: 873 | version "1.0.4" 874 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" 875 | integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== 876 | 877 | is-bigint@^1.0.0: 878 | version "1.0.0" 879 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.0.tgz#73da8c33208d00f130e9b5e15d23eac9215601c4" 880 | integrity sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g== 881 | 882 | is-boolean-object@^1.0.0: 883 | version "1.0.1" 884 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" 885 | integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ== 886 | 887 | is-callable@^1.1.4, is-callable@^1.1.5: 888 | version "1.1.5" 889 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" 890 | integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== 891 | 892 | is-date-object@^1.0.1, is-date-object@^1.0.2: 893 | version "1.0.2" 894 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 895 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 896 | 897 | is-map@^2.0.1: 898 | version "2.0.1" 899 | resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" 900 | integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== 901 | 902 | is-number-object@^1.0.3: 903 | version "1.0.4" 904 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" 905 | integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== 906 | 907 | is-obj@^2.0.0: 908 | version "2.0.0" 909 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" 910 | integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== 911 | 912 | is-regex@^1.0.5: 913 | version "1.0.5" 914 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" 915 | integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== 916 | dependencies: 917 | has "^1.0.3" 918 | 919 | is-set@^2.0.1: 920 | version "2.0.1" 921 | resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" 922 | integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== 923 | 924 | is-stream-ended@^0.1.4: 925 | version "0.1.4" 926 | resolved "https://registry.yarnpkg.com/is-stream-ended/-/is-stream-ended-0.1.4.tgz#f50224e95e06bce0e356d440a4827cd35b267eda" 927 | integrity sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw== 928 | 929 | is-stream@^2.0.0: 930 | version "2.0.0" 931 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 932 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 933 | 934 | is-string@^1.0.4, is-string@^1.0.5: 935 | version "1.0.5" 936 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" 937 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== 938 | 939 | is-symbol@^1.0.2: 940 | version "1.0.3" 941 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 942 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 943 | dependencies: 944 | has-symbols "^1.0.1" 945 | 946 | is-typed-array@^1.1.3: 947 | version "1.1.3" 948 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d" 949 | integrity sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ== 950 | dependencies: 951 | available-typed-arrays "^1.0.0" 952 | es-abstract "^1.17.4" 953 | foreach "^2.0.5" 954 | has-symbols "^1.0.1" 955 | 956 | is-typedarray@^1.0.0: 957 | version "1.0.0" 958 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 959 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 960 | 961 | is-weakmap@^2.0.1: 962 | version "2.0.1" 963 | resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" 964 | integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== 965 | 966 | is-weakset@^2.0.1: 967 | version "2.0.1" 968 | resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.1.tgz#e9a0af88dbd751589f5e50d80f4c98b780884f83" 969 | integrity sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw== 970 | 971 | isarray@^2.0.5: 972 | version "2.0.5" 973 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" 974 | integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== 975 | 976 | isarray@~1.0.0: 977 | version "1.0.0" 978 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 979 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 980 | 981 | json-bigint@^0.3.0: 982 | version "0.3.0" 983 | resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-0.3.0.tgz#0ccd912c4b8270d05f056fbd13814b53d3825b1e" 984 | integrity sha1-DM2RLEuCcNBfBW+9E4FLU9OCWx4= 985 | dependencies: 986 | bignumber.js "^7.0.0" 987 | 988 | jsonwebtoken@8.1.0: 989 | version "8.1.0" 990 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.1.0.tgz#c6397cd2e5fd583d65c007a83dc7bb78e6982b83" 991 | integrity sha1-xjl80uX9WD1lwAeoPce7eOaYK4M= 992 | dependencies: 993 | jws "^3.1.4" 994 | lodash.includes "^4.3.0" 995 | lodash.isboolean "^3.0.3" 996 | lodash.isinteger "^4.0.4" 997 | lodash.isnumber "^3.0.3" 998 | lodash.isplainobject "^4.0.6" 999 | lodash.isstring "^4.0.1" 1000 | lodash.once "^4.0.0" 1001 | ms "^2.0.0" 1002 | xtend "^4.0.1" 1003 | 1004 | jwa@^1.4.1: 1005 | version "1.4.1" 1006 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" 1007 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== 1008 | dependencies: 1009 | buffer-equal-constant-time "1.0.1" 1010 | ecdsa-sig-formatter "1.0.11" 1011 | safe-buffer "^5.0.1" 1012 | 1013 | jwa@^2.0.0: 1014 | version "2.0.0" 1015 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc" 1016 | integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== 1017 | dependencies: 1018 | buffer-equal-constant-time "1.0.1" 1019 | ecdsa-sig-formatter "1.0.11" 1020 | safe-buffer "^5.0.1" 1021 | 1022 | jws@^3.1.4: 1023 | version "3.2.2" 1024 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" 1025 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== 1026 | dependencies: 1027 | jwa "^1.4.1" 1028 | safe-buffer "^5.0.1" 1029 | 1030 | jws@^4.0.0: 1031 | version "4.0.0" 1032 | resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4" 1033 | integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== 1034 | dependencies: 1035 | jwa "^2.0.0" 1036 | safe-buffer "^5.0.1" 1037 | 1038 | lodash.at@^4.6.0: 1039 | version "4.6.0" 1040 | resolved "https://registry.yarnpkg.com/lodash.at/-/lodash.at-4.6.0.tgz#93cdce664f0a1994ea33dd7cd40e23afd11b0ff8" 1041 | integrity sha1-k83OZk8KGZTqM9181A4jr9EbD/g= 1042 | 1043 | lodash.camelcase@^4.3.0: 1044 | version "4.3.0" 1045 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 1046 | integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= 1047 | 1048 | lodash.has@^4.5.2: 1049 | version "4.5.2" 1050 | resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" 1051 | integrity sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI= 1052 | 1053 | lodash.includes@^4.3.0: 1054 | version "4.3.0" 1055 | resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" 1056 | integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= 1057 | 1058 | lodash.isboolean@^3.0.3: 1059 | version "3.0.3" 1060 | resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" 1061 | integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= 1062 | 1063 | lodash.isinteger@^4.0.4: 1064 | version "4.0.4" 1065 | resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" 1066 | integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= 1067 | 1068 | lodash.isnumber@^3.0.3: 1069 | version "3.0.3" 1070 | resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" 1071 | integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= 1072 | 1073 | lodash.isplainobject@^4.0.6: 1074 | version "4.0.6" 1075 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 1076 | integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= 1077 | 1078 | lodash.isstring@^4.0.1: 1079 | version "4.0.1" 1080 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 1081 | integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= 1082 | 1083 | lodash.once@^4.0.0: 1084 | version "4.1.1" 1085 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" 1086 | integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= 1087 | 1088 | long@^4.0.0: 1089 | version "4.0.0" 1090 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" 1091 | integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== 1092 | 1093 | lru-cache@^5.0.0: 1094 | version "5.1.1" 1095 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 1096 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 1097 | dependencies: 1098 | yallist "^3.0.2" 1099 | 1100 | make-dir@^3.0.0: 1101 | version "3.0.2" 1102 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" 1103 | integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w== 1104 | dependencies: 1105 | semver "^6.0.0" 1106 | 1107 | media-typer@0.3.0: 1108 | version "0.3.0" 1109 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1110 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 1111 | 1112 | merge-descriptors@1.0.1: 1113 | version "1.0.1" 1114 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1115 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= 1116 | 1117 | methods@~1.1.2: 1118 | version "1.1.2" 1119 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1120 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 1121 | 1122 | mime-db@1.43.0, "mime-db@>= 1.43.0 < 2": 1123 | version "1.43.0" 1124 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" 1125 | integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== 1126 | 1127 | mime-types@^2.0.8, mime-types@~2.1.24: 1128 | version "2.1.26" 1129 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" 1130 | integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== 1131 | dependencies: 1132 | mime-db "1.43.0" 1133 | 1134 | mime@1.6.0: 1135 | version "1.6.0" 1136 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1137 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1138 | 1139 | mime@^2.2.0: 1140 | version "2.4.4" 1141 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" 1142 | integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== 1143 | 1144 | mimic-fn@^2.1.0: 1145 | version "2.1.0" 1146 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 1147 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 1148 | 1149 | ms@2.0.0: 1150 | version "2.0.0" 1151 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1152 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1153 | 1154 | ms@2.1.1: 1155 | version "2.1.1" 1156 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 1157 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 1158 | 1159 | ms@^2.0.0, ms@^2.1.1: 1160 | version "2.1.2" 1161 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1162 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1163 | 1164 | negotiator@0.6.2: 1165 | version "0.6.2" 1166 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" 1167 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== 1168 | 1169 | node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.6.0: 1170 | version "2.6.1" 1171 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" 1172 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== 1173 | 1174 | node-forge@0.7.4: 1175 | version "0.7.4" 1176 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.4.tgz#8e6e9f563a1e32213aa7508cded22aa791dbf986" 1177 | integrity sha512-8Df0906+tq/omxuCZD6PqhPaQDYuyJ1d+VITgxoIA8zvQd1ru+nMJcDChHH324MWitIgbVkAkQoGEEVJNpn/PA== 1178 | 1179 | node-forge@^0.9.0: 1180 | version "0.9.1" 1181 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.1.tgz#775368e6846558ab6676858a4d8c6e8d16c677b5" 1182 | integrity sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ== 1183 | 1184 | object-inspect@^1.7.0: 1185 | version "1.7.0" 1186 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" 1187 | integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== 1188 | 1189 | object-is@^1.0.2: 1190 | version "1.1.2" 1191 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" 1192 | integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== 1193 | dependencies: 1194 | define-properties "^1.1.3" 1195 | es-abstract "^1.17.5" 1196 | 1197 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: 1198 | version "1.1.1" 1199 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1200 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1201 | 1202 | object.assign@^4.1.0: 1203 | version "4.1.0" 1204 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 1205 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 1206 | dependencies: 1207 | define-properties "^1.1.2" 1208 | function-bind "^1.1.1" 1209 | has-symbols "^1.0.0" 1210 | object-keys "^1.0.11" 1211 | 1212 | on-finished@~2.3.0: 1213 | version "2.3.0" 1214 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 1215 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 1216 | dependencies: 1217 | ee-first "1.1.1" 1218 | 1219 | once@^1.3.1, once@^1.4.0: 1220 | version "1.4.0" 1221 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1222 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1223 | dependencies: 1224 | wrappy "1" 1225 | 1226 | onetime@^5.1.0: 1227 | version "5.1.0" 1228 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" 1229 | integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== 1230 | dependencies: 1231 | mimic-fn "^2.1.0" 1232 | 1233 | p-limit@^2.2.0: 1234 | version "2.3.0" 1235 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1236 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1237 | dependencies: 1238 | p-try "^2.0.0" 1239 | 1240 | p-try@^2.0.0: 1241 | version "2.2.0" 1242 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1243 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1244 | 1245 | parseurl@~1.3.3: 1246 | version "1.3.3" 1247 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 1248 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 1249 | 1250 | path-to-regexp@0.1.7: 1251 | version "0.1.7" 1252 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 1253 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= 1254 | 1255 | process-nextick-args@~2.0.0: 1256 | version "2.0.1" 1257 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 1258 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1259 | 1260 | protobufjs@^6.8.6, protobufjs@^6.8.9: 1261 | version "6.8.9" 1262 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.9.tgz#0b1adbcdaa983d369c3d9108a97c814edc030754" 1263 | integrity sha512-j2JlRdUeL/f4Z6x4aU4gj9I2LECglC+5qR2TrWb193Tla1qfdaNQTZ8I27Pt7K0Ajmvjjpft7O3KWTGciz4gpw== 1264 | dependencies: 1265 | "@protobufjs/aspromise" "^1.1.2" 1266 | "@protobufjs/base64" "^1.1.2" 1267 | "@protobufjs/codegen" "^2.0.4" 1268 | "@protobufjs/eventemitter" "^1.1.0" 1269 | "@protobufjs/fetch" "^1.1.0" 1270 | "@protobufjs/float" "^1.0.2" 1271 | "@protobufjs/inquire" "^1.1.0" 1272 | "@protobufjs/path" "^1.1.2" 1273 | "@protobufjs/pool" "^1.1.0" 1274 | "@protobufjs/utf8" "^1.1.0" 1275 | "@types/long" "^4.0.0" 1276 | "@types/node" "^10.1.0" 1277 | long "^4.0.0" 1278 | 1279 | proxy-addr@~2.0.5: 1280 | version "2.0.6" 1281 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" 1282 | integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== 1283 | dependencies: 1284 | forwarded "~0.1.2" 1285 | ipaddr.js "1.9.1" 1286 | 1287 | pump@^3.0.0: 1288 | version "3.0.0" 1289 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 1290 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 1291 | dependencies: 1292 | end-of-stream "^1.1.0" 1293 | once "^1.3.1" 1294 | 1295 | pumpify@^2.0.0: 1296 | version "2.0.1" 1297 | resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-2.0.1.tgz#abfc7b5a621307c728b551decbbefb51f0e4aa1e" 1298 | integrity sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw== 1299 | dependencies: 1300 | duplexify "^4.1.1" 1301 | inherits "^2.0.3" 1302 | pump "^3.0.0" 1303 | 1304 | qs@6.7.0: 1305 | version "6.7.0" 1306 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" 1307 | integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== 1308 | 1309 | random-bytes@~1.0.0: 1310 | version "1.0.0" 1311 | resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" 1312 | integrity sha1-T2ih3Arli9P7lYSMMDJNt11kNgs= 1313 | 1314 | range-parser@~1.2.1: 1315 | version "1.2.1" 1316 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 1317 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1318 | 1319 | raw-body@2.4.0: 1320 | version "2.4.0" 1321 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" 1322 | integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== 1323 | dependencies: 1324 | bytes "3.1.0" 1325 | http-errors "1.7.2" 1326 | iconv-lite "0.4.24" 1327 | unpipe "1.0.0" 1328 | 1329 | "readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0: 1330 | version "3.6.0" 1331 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 1332 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 1333 | dependencies: 1334 | inherits "^2.0.3" 1335 | string_decoder "^1.1.1" 1336 | util-deprecate "^1.0.1" 1337 | 1338 | readable-stream@^2.0.0, readable-stream@~2.3.6: 1339 | version "2.3.7" 1340 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 1341 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 1342 | dependencies: 1343 | core-util-is "~1.0.0" 1344 | inherits "~2.0.3" 1345 | isarray "~1.0.0" 1346 | process-nextick-args "~2.0.0" 1347 | safe-buffer "~5.1.1" 1348 | string_decoder "~1.1.1" 1349 | util-deprecate "~1.0.1" 1350 | 1351 | regexp.prototype.flags@^1.3.0: 1352 | version "1.3.0" 1353 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" 1354 | integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== 1355 | dependencies: 1356 | define-properties "^1.1.3" 1357 | es-abstract "^1.17.0-next.1" 1358 | 1359 | retry-request@^4.0.0: 1360 | version "4.1.1" 1361 | resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-4.1.1.tgz#f676d0db0de7a6f122c048626ce7ce12101d2bd8" 1362 | integrity sha512-BINDzVtLI2BDukjWmjAIRZ0oglnCAkpP2vQjM3jdLhmT62h0xnQgciPwBRDAvHqpkPT2Wo1XuUyLyn6nbGrZQQ== 1363 | dependencies: 1364 | debug "^4.1.1" 1365 | through2 "^3.0.1" 1366 | 1367 | rndm@1.2.0: 1368 | version "1.2.0" 1369 | resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c" 1370 | integrity sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w= 1371 | 1372 | safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1373 | version "5.1.2" 1374 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1375 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1376 | 1377 | safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@~5.2.0: 1378 | version "5.2.0" 1379 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 1380 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 1381 | 1382 | "safer-buffer@>= 2.1.2 < 3": 1383 | version "2.1.2" 1384 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1385 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1386 | 1387 | semver@^6.0.0, semver@^6.2.0: 1388 | version "6.3.0" 1389 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1390 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1391 | 1392 | send@0.17.1: 1393 | version "0.17.1" 1394 | resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" 1395 | integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== 1396 | dependencies: 1397 | debug "2.6.9" 1398 | depd "~1.1.2" 1399 | destroy "~1.0.4" 1400 | encodeurl "~1.0.2" 1401 | escape-html "~1.0.3" 1402 | etag "~1.8.1" 1403 | fresh "0.5.2" 1404 | http-errors "~1.7.2" 1405 | mime "1.6.0" 1406 | ms "2.1.1" 1407 | on-finished "~2.3.0" 1408 | range-parser "~1.2.1" 1409 | statuses "~1.5.0" 1410 | 1411 | serve-static@1.14.1: 1412 | version "1.14.1" 1413 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" 1414 | integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== 1415 | dependencies: 1416 | encodeurl "~1.0.2" 1417 | escape-html "~1.0.3" 1418 | parseurl "~1.3.3" 1419 | send "0.17.1" 1420 | 1421 | setprototypeof@1.1.1: 1422 | version "1.1.1" 1423 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 1424 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== 1425 | 1426 | side-channel@^1.0.2: 1427 | version "1.0.2" 1428 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" 1429 | integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA== 1430 | dependencies: 1431 | es-abstract "^1.17.0-next.1" 1432 | object-inspect "^1.7.0" 1433 | 1434 | signal-exit@^3.0.2: 1435 | version "3.0.3" 1436 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 1437 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1438 | 1439 | snakeize@^0.1.0: 1440 | version "0.1.0" 1441 | resolved "https://registry.yarnpkg.com/snakeize/-/snakeize-0.1.0.tgz#10c088d8b58eb076b3229bb5a04e232ce126422d" 1442 | integrity sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0= 1443 | 1444 | "statuses@>= 1.5.0 < 2", statuses@~1.5.0: 1445 | version "1.5.0" 1446 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1447 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1448 | 1449 | stream-events@^1.0.1, stream-events@^1.0.4, stream-events@^1.0.5: 1450 | version "1.0.5" 1451 | resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" 1452 | integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== 1453 | dependencies: 1454 | stubs "^3.0.0" 1455 | 1456 | stream-shift@^1.0.0: 1457 | version "1.0.1" 1458 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" 1459 | integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== 1460 | 1461 | streamsearch@0.1.2: 1462 | version "0.1.2" 1463 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" 1464 | integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= 1465 | 1466 | string.prototype.trimend@^1.0.0: 1467 | version "1.0.1" 1468 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" 1469 | integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== 1470 | dependencies: 1471 | define-properties "^1.1.3" 1472 | es-abstract "^1.17.5" 1473 | 1474 | string.prototype.trimleft@^2.1.1: 1475 | version "2.1.2" 1476 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" 1477 | integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== 1478 | dependencies: 1479 | define-properties "^1.1.3" 1480 | es-abstract "^1.17.5" 1481 | string.prototype.trimstart "^1.0.0" 1482 | 1483 | string.prototype.trimright@^2.1.1: 1484 | version "2.1.2" 1485 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" 1486 | integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== 1487 | dependencies: 1488 | define-properties "^1.1.3" 1489 | es-abstract "^1.17.5" 1490 | string.prototype.trimend "^1.0.0" 1491 | 1492 | string.prototype.trimstart@^1.0.0: 1493 | version "1.0.1" 1494 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" 1495 | integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== 1496 | dependencies: 1497 | define-properties "^1.1.3" 1498 | es-abstract "^1.17.5" 1499 | 1500 | string_decoder@^1.1.1: 1501 | version "1.3.0" 1502 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 1503 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 1504 | dependencies: 1505 | safe-buffer "~5.2.0" 1506 | 1507 | string_decoder@~1.1.1: 1508 | version "1.1.1" 1509 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1510 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1511 | dependencies: 1512 | safe-buffer "~5.1.0" 1513 | 1514 | stubs@^3.0.0: 1515 | version "3.0.0" 1516 | resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" 1517 | integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls= 1518 | 1519 | teeny-request@^6.0.0: 1520 | version "6.0.3" 1521 | resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-6.0.3.tgz#b617f9d5b7ba95c76a3f257f6ba2342b70228b1f" 1522 | integrity sha512-TZG/dfd2r6yeji19es1cUIwAlVD8y+/svB1kAC2Y0bjEyysrfbO8EZvJBRwIE6WkwmUoB7uvWLwTIhJbMXZ1Dw== 1523 | dependencies: 1524 | http-proxy-agent "^4.0.0" 1525 | https-proxy-agent "^5.0.0" 1526 | node-fetch "^2.2.0" 1527 | stream-events "^1.0.5" 1528 | uuid "^7.0.0" 1529 | 1530 | through2@^2.0.0: 1531 | version "2.0.5" 1532 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 1533 | integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== 1534 | dependencies: 1535 | readable-stream "~2.3.6" 1536 | xtend "~4.0.1" 1537 | 1538 | through2@^3.0.0, through2@^3.0.1: 1539 | version "3.0.1" 1540 | resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" 1541 | integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== 1542 | dependencies: 1543 | readable-stream "2 || 3" 1544 | 1545 | toidentifier@1.0.0: 1546 | version "1.0.0" 1547 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 1548 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== 1549 | 1550 | tslib@1.11.1: 1551 | version "1.11.1" 1552 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" 1553 | integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== 1554 | 1555 | tsscmp@1.0.6: 1556 | version "1.0.6" 1557 | resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" 1558 | integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== 1559 | 1560 | type-is@~1.6.17, type-is@~1.6.18: 1561 | version "1.6.18" 1562 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1563 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1564 | dependencies: 1565 | media-typer "0.3.0" 1566 | mime-types "~2.1.24" 1567 | 1568 | typedarray-to-buffer@^3.1.5: 1569 | version "3.1.5" 1570 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 1571 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 1572 | dependencies: 1573 | is-typedarray "^1.0.0" 1574 | 1575 | typedarray@^0.0.6: 1576 | version "0.0.6" 1577 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 1578 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 1579 | 1580 | uid-safe@2.1.5: 1581 | version "2.1.5" 1582 | resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" 1583 | integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== 1584 | dependencies: 1585 | random-bytes "~1.0.0" 1586 | 1587 | unique-string@^2.0.0: 1588 | version "2.0.0" 1589 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" 1590 | integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== 1591 | dependencies: 1592 | crypto-random-string "^2.0.0" 1593 | 1594 | unpipe@1.0.0, unpipe@~1.0.0: 1595 | version "1.0.0" 1596 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1597 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 1598 | 1599 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 1600 | version "1.0.2" 1601 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1602 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1603 | 1604 | utils-merge@1.0.1: 1605 | version "1.0.1" 1606 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1607 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= 1608 | 1609 | uuid@^7.0.0: 1610 | version "7.0.3" 1611 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" 1612 | integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== 1613 | 1614 | vary@~1.1.2: 1615 | version "1.1.2" 1616 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1617 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 1618 | 1619 | walkdir@^0.4.0: 1620 | version "0.4.1" 1621 | resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.4.1.tgz#dc119f83f4421df52e3061e514228a2db20afa39" 1622 | integrity sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ== 1623 | 1624 | websocket-driver@>=0.5.1: 1625 | version "0.7.3" 1626 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" 1627 | integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== 1628 | dependencies: 1629 | http-parser-js ">=0.4.0 <0.4.11" 1630 | safe-buffer ">=5.1.0" 1631 | websocket-extensions ">=0.1.1" 1632 | 1633 | websocket-extensions@>=0.1.1: 1634 | version "0.1.4" 1635 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" 1636 | integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== 1637 | 1638 | which-boxed-primitive@^1.0.1: 1639 | version "1.0.1" 1640 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz#cbe8f838ebe91ba2471bb69e9edbda67ab5a5ec1" 1641 | integrity sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ== 1642 | dependencies: 1643 | is-bigint "^1.0.0" 1644 | is-boolean-object "^1.0.0" 1645 | is-number-object "^1.0.3" 1646 | is-string "^1.0.4" 1647 | is-symbol "^1.0.2" 1648 | 1649 | which-collection@^1.0.1: 1650 | version "1.0.1" 1651 | resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" 1652 | integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== 1653 | dependencies: 1654 | is-map "^2.0.1" 1655 | is-set "^2.0.1" 1656 | is-weakmap "^2.0.1" 1657 | is-weakset "^2.0.1" 1658 | 1659 | which-typed-array@^1.1.1: 1660 | version "1.1.2" 1661 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2" 1662 | integrity sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ== 1663 | dependencies: 1664 | available-typed-arrays "^1.0.2" 1665 | es-abstract "^1.17.5" 1666 | foreach "^2.0.5" 1667 | function-bind "^1.1.1" 1668 | has-symbols "^1.0.1" 1669 | is-typed-array "^1.1.3" 1670 | 1671 | wrappy@1: 1672 | version "1.0.2" 1673 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1674 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1675 | 1676 | write-file-atomic@^3.0.0: 1677 | version "3.0.3" 1678 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 1679 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== 1680 | dependencies: 1681 | imurmurhash "^0.1.4" 1682 | is-typedarray "^1.0.0" 1683 | signal-exit "^3.0.2" 1684 | typedarray-to-buffer "^3.1.5" 1685 | 1686 | xdg-basedir@^4.0.0: 1687 | version "4.0.0" 1688 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" 1689 | integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== 1690 | 1691 | xtend@^4.0.1, xtend@~4.0.1: 1692 | version "4.0.2" 1693 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 1694 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1695 | 1696 | yallist@^3.0.2: 1697 | version "3.1.1" 1698 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 1699 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 1700 | -------------------------------------------------------------------------------- /step-2/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | serviceAccountKey.json -------------------------------------------------------------------------------- /step-2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "firebase-server-auth", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "body-parser": "^1.19.0", 7 | "cookie-parser": "^1.4.5", 8 | "csurf": "^1.11.0", 9 | "ejs": "^3.0.2", 10 | "express": "^4.17.1", 11 | "firebase-admin": "^8.10.0" 12 | }, 13 | "scripts": { 14 | "start": "node server.js" 15 | }, 16 | "eslintConfig": { 17 | "extends": "react-app" 18 | }, 19 | "browserslist": { 20 | "production": [ 21 | ">0.2%", 22 | "not dead", 23 | "not op_mini all" 24 | ], 25 | "development": [ 26 | "last 1 chrome version", 27 | "last 1 firefox version", 28 | "last 1 safari version" 29 | ] 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /step-2/server.js: -------------------------------------------------------------------------------- 1 | const cookieParser = require("cookie-parser"); 2 | const csrf = require("csurf"); 3 | const bodyParser = require("body-parser"); 4 | const express = require("express"); 5 | const admin = require("firebase-admin"); 6 | 7 | const serviceAccount = require("./serviceAccountKey.json"); 8 | 9 | admin.initializeApp({ 10 | credential: admin.credential.cert(serviceAccount), 11 | databaseURL: "https://server-auth-41acc.firebaseio.com", 12 | }); 13 | 14 | const csrfMiddleware = csrf({ cookie: true }); 15 | 16 | const PORT = process.env.PORT || 3000; 17 | const app = express(); 18 | 19 | app.engine("html", require("ejs").renderFile); 20 | app.use(express.static("static")); 21 | 22 | app.use(bodyParser.json()); 23 | app.use(cookieParser()); 24 | app.use(csrfMiddleware); 25 | 26 | app.all("*", (req, res, next) => { 27 | res.cookie("XSRF-TOKEN", req.csrfToken()); 28 | next(); 29 | }); 30 | 31 | app.get("/login", function (req, res) { 32 | res.render("login.html"); 33 | }); 34 | 35 | app.get("/signup", function (req, res) { 36 | res.render("signup.html"); 37 | }); 38 | 39 | app.get("/profile", function (req, res) { 40 | const sessionCookie = req.cookies.session || ""; 41 | 42 | admin 43 | .auth() 44 | .verifySessionCookie(sessionCookie, true /** checkRevoked */) 45 | .then((userData) => { 46 | console.log("Logged in:", userData.email) 47 | res.render("profile.html"); 48 | }) 49 | .catch((error) => { 50 | res.redirect("/login"); 51 | }); 52 | }); 53 | 54 | app.get("/", function (req, res) { 55 | res.render("index.html"); 56 | }); 57 | 58 | app.post("/sessionLogin", (req, res) => { 59 | const idToken = req.body.idToken.toString(); 60 | 61 | const expiresIn = 60 * 60 * 24 * 5 * 1000; 62 | 63 | admin 64 | .auth() 65 | .createSessionCookie(idToken, { expiresIn }) 66 | .then( 67 | (sessionCookie) => { 68 | const options = { maxAge: expiresIn, httpOnly: true }; 69 | res.cookie("session", sessionCookie, options); 70 | res.end(JSON.stringify({ status: "success" })); 71 | }, 72 | (error) => { 73 | res.status(401).send("UNAUTHORIZED REQUEST!"); 74 | } 75 | ); 76 | }); 77 | 78 | app.get("/sessionLogout", (req, res) => { 79 | res.clearCookie("session"); 80 | res.redirect("/login"); 81 | }); 82 | 83 | app.listen(PORT, () => { 84 | console.log(`Listening on http://localhost:${PORT}`); 85 | }); 86 | -------------------------------------------------------------------------------- /step-2/static/mvp.css: -------------------------------------------------------------------------------- 1 | /* MVP.css v1.5 - https://github.com/andybrewer/mvp */ 2 | 3 | :root { 4 | --border-radius: 5px; 5 | --box-shadow: 2px 2px 10px; 6 | --color: #118bee; 7 | --color-accent: #118bee0b; 8 | --color-bg: #fff; 9 | --color-bg-secondary: #e9e9e9; 10 | --color-secondary: #920de9; 11 | --color-secondary-accent: #920de90b; 12 | --color-shadow: #f4f4f4; 13 | --color-text: #000; 14 | --color-text-secondary: #999; 15 | --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; 16 | --hover-brightness: 1.2; 17 | --justify-important: center; 18 | --justify-normal: left; 19 | --line-height: 150%; 20 | --width-card: 285px; 21 | --width-card-medium: 460px; 22 | --width-card-wide: 800px; 23 | --width-content: 1080px; 24 | } 25 | 26 | /* 27 | @media (prefers-color-scheme: dark) { 28 | :root { 29 | --color: #0097fc; 30 | --color-accent: #0097fc4f; 31 | --color-bg: #333; 32 | --color-bg-secondary: #555; 33 | --color-secondary: #e20de9; 34 | --color-secondary-accent: #e20de94f; 35 | --color-shadow: #bbbbbb20; 36 | --color-text: #f7f7f7; 37 | --color-text-secondary: #aaa; 38 | } 39 | } 40 | */ 41 | 42 | /* Layout */ 43 | article aside { 44 | background: var(--color-secondary-accent); 45 | border-left: 4px solid var(--color-secondary); 46 | padding: 0.01rem 0.8rem; 47 | } 48 | 49 | body { 50 | background: var(--color-bg); 51 | color: var(--color-text); 52 | font-family: var(--font); 53 | line-height: var(--line-height); 54 | margin: 0; 55 | overflow-x: hidden; 56 | padding: 1rem 0; 57 | } 58 | 59 | footer, 60 | header, 61 | main { 62 | margin: 0 auto; 63 | max-width: var(--width-content); 64 | padding: 2rem 1rem; 65 | } 66 | 67 | hr { 68 | background-color: var(--color-bg-secondary); 69 | border: none; 70 | height: 1px; 71 | margin: 4rem 0; 72 | } 73 | 74 | section { 75 | display: flex; 76 | flex-wrap: wrap; 77 | justify-content: var(--justify-important); 78 | } 79 | 80 | section aside { 81 | border: 1px solid var(--color-bg-secondary); 82 | border-radius: var(--border-radius); 83 | box-shadow: var(--box-shadow) var(--color-shadow); 84 | margin: 1rem; 85 | padding: 1.25rem; 86 | width: var(--width-card); 87 | } 88 | 89 | section aside:hover { 90 | box-shadow: var(--box-shadow) var(--color-bg-secondary); 91 | } 92 | 93 | section aside img { 94 | max-width: 100%; 95 | } 96 | 97 | /* Headers */ 98 | article header, 99 | div header, 100 | main header { 101 | padding-top: 0; 102 | } 103 | 104 | header { 105 | text-align: var(--justify-important); 106 | } 107 | 108 | header a b, 109 | header a em, 110 | header a i, 111 | header a strong { 112 | margin-left: 0.5rem; 113 | margin-right: 0.5rem; 114 | } 115 | 116 | header nav img { 117 | margin: 1rem 0; 118 | } 119 | 120 | section header { 121 | padding-top: 0; 122 | width: 100%; 123 | } 124 | 125 | /* Nav */ 126 | nav { 127 | align-items: center; 128 | display: flex; 129 | font-weight: bold; 130 | justify-content: space-between; 131 | margin-bottom: 7rem; 132 | } 133 | 134 | nav ul { 135 | list-style: none; 136 | padding: 0; 137 | } 138 | 139 | nav ul li { 140 | display: inline-block; 141 | margin: 0 0.5rem; 142 | position: relative; 143 | text-align: left; 144 | } 145 | 146 | /* Nav Dropdown */ 147 | nav ul li:hover ul { 148 | display: block; 149 | } 150 | 151 | nav ul li ul { 152 | background: var(--color-bg); 153 | border: 1px solid var(--color-bg-secondary); 154 | border-radius: var(--border-radius); 155 | box-shadow: var(--box-shadow) var(--color-shadow); 156 | display: none; 157 | height: auto; 158 | padding: .5rem 1rem; 159 | position: absolute; 160 | right: 0; 161 | top: 1.7rem; 162 | width: auto; 163 | } 164 | 165 | nav ul li ul li, 166 | nav ul li ul li a { 167 | display: block; 168 | } 169 | 170 | /* Typography */ 171 | code, 172 | samp { 173 | background-color: var(--color-accent); 174 | border-radius: var(--border-radius); 175 | color: var(--color-text); 176 | display: inline-block; 177 | margin: 0 0.1rem; 178 | padding: 0rem 0.5rem; 179 | text-align: var(--justify-normal); 180 | } 181 | 182 | details { 183 | margin: 1.3rem 0; 184 | } 185 | 186 | details summary { 187 | font-weight: bold; 188 | cursor: pointer; 189 | } 190 | 191 | h1, 192 | h2, 193 | h3, 194 | h4, 195 | h5, 196 | h6 { 197 | line-height: var(--line-height); 198 | } 199 | 200 | mark { 201 | padding: 0.1rem; 202 | } 203 | 204 | ol li, 205 | ul li { 206 | padding: 0.2rem 0; 207 | } 208 | 209 | p { 210 | margin: 0.75rem 0; 211 | padding: 0; 212 | } 213 | 214 | pre { 215 | margin: 1rem 0; 216 | max-width: var(--width-card-wide); 217 | white-space: pre-line; 218 | } 219 | 220 | pre code, 221 | pre samp { 222 | padding: 1rem 2rem; 223 | } 224 | 225 | small { 226 | color: var(--color-text-secondary); 227 | } 228 | 229 | sup { 230 | background-color: var(--color-secondary); 231 | border-radius: var(--border-radius); 232 | color: var(--color-bg); 233 | font-size: xx-small; 234 | font-weight: bold; 235 | margin: 0.2rem; 236 | padding: 0.2rem 0.3rem; 237 | position: relative; 238 | top: -2px; 239 | } 240 | 241 | /* Links */ 242 | a { 243 | color: var(--color-secondary); 244 | display: inline-block; 245 | font-weight: bold; 246 | text-decoration: none; 247 | } 248 | 249 | a:hover { 250 | filter: brightness(var(--hover-brightness)); 251 | text-decoration: underline; 252 | } 253 | 254 | a b, 255 | a em, 256 | a i, 257 | a strong, 258 | button { 259 | border-radius: var(--border-radius); 260 | display: inline-block; 261 | font-size: medium; 262 | font-weight: bold; 263 | line-height: var(--line-height); 264 | margin: 0.5rem 0; 265 | padding: 1rem 2rem; 266 | } 267 | 268 | button { 269 | font-family: var(--font); 270 | } 271 | 272 | button:hover { 273 | cursor: pointer; 274 | filter: brightness(var(--hover-brightness)); 275 | } 276 | 277 | a b, 278 | a strong, 279 | button { 280 | background-color: var(--color); 281 | border: 2px solid var(--color); 282 | color: var(--color-bg); 283 | } 284 | 285 | a em, 286 | a i { 287 | border: 2px solid var(--color); 288 | border-radius: var(--border-radius); 289 | color: var(--color); 290 | display: inline-block; 291 | padding: 1rem 2rem; 292 | } 293 | 294 | /* Images */ 295 | figure { 296 | margin: 0; 297 | padding: 0; 298 | } 299 | 300 | figure img { 301 | max-width: 100%; 302 | } 303 | 304 | figure figcaption { 305 | color: var(--color-text-secondary); 306 | } 307 | 308 | /* Forms */ 309 | 310 | button:disabled, 311 | input:disabled { 312 | background: var(--color-bg-secondary); 313 | border-color: var(--color-bg-secondary); 314 | color: var(--color-text-secondary); 315 | cursor: not-allowed; 316 | } 317 | 318 | button[disabled]:hover { 319 | filter: none; 320 | } 321 | 322 | form { 323 | border: 1px solid var(--color-bg-secondary); 324 | border-radius: var(--border-radius); 325 | box-shadow: var(--box-shadow) var(--color-shadow); 326 | display: block; 327 | max-width: var(--width-card-wide); 328 | min-width: var(--width-card); 329 | padding: 1.5rem; 330 | text-align: var(--justify-normal); 331 | } 332 | 333 | form header { 334 | margin: 1.5rem 0; 335 | padding: 1.5rem 0; 336 | } 337 | 338 | input, 339 | label, 340 | select, 341 | textarea { 342 | display: block; 343 | font-size: inherit; 344 | max-width: var(--width-card-wide); 345 | } 346 | 347 | input[type="checkbox"], 348 | input[type="radio"] { 349 | display: inline-block; 350 | } 351 | 352 | input[type="checkbox"]+label, 353 | input[type="radio"]+label { 354 | display: inline-block; 355 | font-weight: normal; 356 | position: relative; 357 | top: 1px; 358 | } 359 | 360 | input, 361 | select, 362 | textarea { 363 | border: 1px solid var(--color-bg-secondary); 364 | border-radius: var(--border-radius); 365 | margin-bottom: 1rem; 366 | padding: 0.4rem 0.8rem; 367 | } 368 | 369 | input[readonly], 370 | textarea[readonly] { 371 | background-color: var(--color-bg-secondary); 372 | } 373 | 374 | label { 375 | font-weight: bold; 376 | margin-bottom: 0.2rem; 377 | } 378 | 379 | /* Tables */ 380 | table { 381 | border: 1px solid var(--color-bg-secondary); 382 | border-radius: var(--border-radius); 383 | border-spacing: 0; 384 | overflow-x: scroll; 385 | overflow-y: hidden; 386 | padding: 0; 387 | } 388 | 389 | table td, 390 | table th, 391 | table tr { 392 | padding: 0.4rem 0.8rem; 393 | text-align: var(--justify-important); 394 | } 395 | 396 | table thead { 397 | background-color: var(--color); 398 | border-collapse: collapse; 399 | border-radius: var(--border-radius); 400 | color: var(--color-bg); 401 | margin: 0; 402 | padding: 0; 403 | } 404 | 405 | table thead th:first-child { 406 | border-top-left-radius: var(--border-radius); 407 | } 408 | 409 | table thead th:last-child { 410 | border-top-right-radius: var(--border-radius); 411 | } 412 | 413 | table thead th:first-child, 414 | table tr td:first-child { 415 | text-align: var(--justify-normal); 416 | } 417 | 418 | /* Quotes */ 419 | blockquote { 420 | display: block; 421 | font-size: x-large; 422 | line-height: var(--line-height); 423 | margin: 1rem auto; 424 | max-width: var(--width-card-medium); 425 | padding: 1.5rem 1rem; 426 | text-align: var(--justify-important); 427 | } 428 | 429 | blockquote footer { 430 | color: var(--color-text-secondary); 431 | display: block; 432 | font-size: small; 433 | line-height: var(--line-height); 434 | padding: 1.5rem 0; 435 | } 436 | 437 | /* Custom styles */ -------------------------------------------------------------------------------- /step-2/views/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Home page 7 | 8 | 9 | 10 |
11 |

Home page

12 |

This page is public

13 | profile 14 |
15 | 16 | -------------------------------------------------------------------------------- /step-2/views/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Firebase Server Auth 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 | 17 | 18 | 19 | 20 | 21 |
22 |
23 | 24 | 73 |
74 | 75 | 76 | -------------------------------------------------------------------------------- /step-2/views/profile.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Profile page 7 | 8 | 9 | 10 |
11 |

Profile page

12 |

This page is private

13 | Log out 14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /step-2/views/signup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Firebase Server Auth 7 | 8 | 9 | 10 |
11 |
12 |
13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 24 | 25 | 72 |
73 | 74 | 75 | -------------------------------------------------------------------------------- /step-2/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@firebase/app-types@0.6.0": 6 | version "0.6.0" 7 | resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.6.0.tgz#8dcc3e793c6983e9d54f7eb623a7618c05f2d94c" 8 | integrity sha512-ld6rzjXk/SUauHiQZJkeuSJpxIZ5wdnWuF5fWBFQNPaxsaJ9kyYg9GqEvwZ1z2e6JP5cU9gwRBlfW1WkGtGDYA== 9 | 10 | "@firebase/auth-interop-types@0.1.4": 11 | version "0.1.4" 12 | resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.1.4.tgz#e81589f58508630a5bffa604d7c949a0d01ea97b" 13 | integrity sha512-CLKNS84KGAv5lRnHTQZFWoR11Ti7gIPFirDDXWek/fSU+TdYdnxJFR5XSD4OuGyzUYQ3Dq7aVj5teiRdyBl9hA== 14 | 15 | "@firebase/component@0.1.9": 16 | version "0.1.9" 17 | resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.1.9.tgz#738d1a4c79431a1e899df5de7b310eee370d34ed" 18 | integrity sha512-i58GsVpxBGnKn1rx2RCAH0rk1Ldp6WterfBNDHyxmuyRO6BaZAgvxrZ3Ku1/lqiI7XMbmmRpP3emmwrStbFt9Q== 19 | dependencies: 20 | "@firebase/util" "0.2.44" 21 | tslib "1.11.1" 22 | 23 | "@firebase/database-types@0.4.14": 24 | version "0.4.14" 25 | resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-0.4.14.tgz#181e10c1d1ae64fd0a080f6e0369cec115c51d70" 26 | integrity sha512-+D41HWac0HcvwMi+0dezEdSOZHpVjPKPNmpQiW2GDuS5kk27/v1jxc9v7F4ALLtpxbVcn16UZl5PqEkcS9H2Xg== 27 | dependencies: 28 | "@firebase/app-types" "0.6.0" 29 | 30 | "@firebase/database@^0.5.17": 31 | version "0.5.25" 32 | resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.5.25.tgz#fa3b00cf315cebd7a29ca1dfd869853b61469534" 33 | integrity sha512-qUIpgDoODWs/FEdCQoH/VwRDvW7nn7m99TGxbMhdiE2WV/nzKbCo/PbbGm0dltdZzQ/SE87E2lfpPGK89Riw6Q== 34 | dependencies: 35 | "@firebase/auth-interop-types" "0.1.4" 36 | "@firebase/component" "0.1.9" 37 | "@firebase/database-types" "0.4.14" 38 | "@firebase/logger" "0.2.1" 39 | "@firebase/util" "0.2.44" 40 | faye-websocket "0.11.3" 41 | tslib "1.11.1" 42 | 43 | "@firebase/logger@0.2.1": 44 | version "0.2.1" 45 | resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.2.1.tgz#09cdc5d3fe8ba4ed9bf8d6e6ab2a3b5398bd80bb" 46 | integrity sha512-H4nttTqUzEw3TA/JYl8ma6oMSNKHcdpEWV2L2qA+ZEcpM2OLAzagi//DrYBFR5xpPb17IGagpzSxFgx937Sq/A== 47 | 48 | "@firebase/util@0.2.44": 49 | version "0.2.44" 50 | resolved "https://registry.yarnpkg.com/@firebase/util/-/util-0.2.44.tgz#bdf031f2714761ed6062ba2c32edca9113a339af" 51 | integrity sha512-yWnFdeuz7P0QC4oC77JyPdAQ/rTGPDfhHcR5WsoMsKBBHTyqEhaKWL9HeRird+p3AL9M4++ep0FYFNd1UKU3Wg== 52 | dependencies: 53 | tslib "1.11.1" 54 | 55 | "@google-cloud/common@^2.1.1": 56 | version "2.4.0" 57 | resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-2.4.0.tgz#2783b7de8435024a31453510f2dab5a6a91a4c82" 58 | integrity sha512-zWFjBS35eI9leAHhjfeOYlK5Plcuj/77EzstnrJIZbKgF/nkqjcQuGiMCpzCwOfPyUbz8ZaEOYgbHa759AKbjg== 59 | dependencies: 60 | "@google-cloud/projectify" "^1.0.0" 61 | "@google-cloud/promisify" "^1.0.0" 62 | arrify "^2.0.0" 63 | duplexify "^3.6.0" 64 | ent "^2.2.0" 65 | extend "^3.0.2" 66 | google-auth-library "^5.5.0" 67 | retry-request "^4.0.0" 68 | teeny-request "^6.0.0" 69 | 70 | "@google-cloud/firestore@^3.0.0": 71 | version "3.7.4" 72 | resolved "https://registry.yarnpkg.com/@google-cloud/firestore/-/firestore-3.7.4.tgz#8a9f3ace01d3bf29a8a1bad3c617035eb14b6cc6" 73 | integrity sha512-RBMG4uZFHeQPFMHTRFMyQ7LDQTLa0f+U0hLAa/7XWjpZHgxKuOWBonsv+C3geymAwShIZSoV/NpNh9tBK7YF5g== 74 | dependencies: 75 | deep-equal "^2.0.0" 76 | functional-red-black-tree "^1.0.1" 77 | google-gax "^1.13.0" 78 | readable-stream "^3.4.0" 79 | through2 "^3.0.0" 80 | 81 | "@google-cloud/paginator@^2.0.0": 82 | version "2.0.3" 83 | resolved "https://registry.yarnpkg.com/@google-cloud/paginator/-/paginator-2.0.3.tgz#c7987ad05d1c3ebcef554381be80e9e8da4e4882" 84 | integrity sha512-kp/pkb2p/p0d8/SKUu4mOq8+HGwF8NPzHWkj+VKrIPQPyMRw8deZtrO/OcSiy9C/7bpfU5Txah5ltUNfPkgEXg== 85 | dependencies: 86 | arrify "^2.0.0" 87 | extend "^3.0.2" 88 | 89 | "@google-cloud/projectify@^1.0.0": 90 | version "1.0.4" 91 | resolved "https://registry.yarnpkg.com/@google-cloud/projectify/-/projectify-1.0.4.tgz#28daabebba6579ed998edcadf1a8f3be17f3b5f0" 92 | integrity sha512-ZdzQUN02eRsmTKfBj9FDL0KNDIFNjBn/d6tHQmA/+FImH5DO6ZV8E7FzxMgAUiVAUq41RFAkb25p1oHOZ8psfg== 93 | 94 | "@google-cloud/promisify@^1.0.0": 95 | version "1.0.4" 96 | resolved "https://registry.yarnpkg.com/@google-cloud/promisify/-/promisify-1.0.4.tgz#ce86ffa94f9cfafa2e68f7b3e4a7fad194189723" 97 | integrity sha512-VccZDcOql77obTnFh0TbNED/6ZbbmHDf8UMNnzO1d5g9V0Htfm4k5cllY8P1tJsRKC3zWYGRLaViiupcgVjBoQ== 98 | 99 | "@google-cloud/storage@^4.1.2": 100 | version "4.7.0" 101 | resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-4.7.0.tgz#a7466086a83911c7979cc238d00a127ffb645615" 102 | integrity sha512-f0guAlbeg7Z0m3gKjCfBCu7FG9qS3M3oL5OQQxlvGoPtK7/qg3+W+KQV73O2/sbuS54n0Kh2mvT5K2FWzF5vVQ== 103 | dependencies: 104 | "@google-cloud/common" "^2.1.1" 105 | "@google-cloud/paginator" "^2.0.0" 106 | "@google-cloud/promisify" "^1.0.0" 107 | arrify "^2.0.0" 108 | compressible "^2.0.12" 109 | concat-stream "^2.0.0" 110 | date-and-time "^0.13.0" 111 | duplexify "^3.5.0" 112 | extend "^3.0.2" 113 | gaxios "^3.0.0" 114 | gcs-resumable-upload "^2.2.4" 115 | hash-stream-validation "^0.2.2" 116 | mime "^2.2.0" 117 | mime-types "^2.0.8" 118 | onetime "^5.1.0" 119 | p-limit "^2.2.0" 120 | pumpify "^2.0.0" 121 | readable-stream "^3.4.0" 122 | snakeize "^0.1.0" 123 | stream-events "^1.0.1" 124 | through2 "^3.0.0" 125 | xdg-basedir "^4.0.0" 126 | 127 | "@grpc/grpc-js@^0.7.4": 128 | version "0.7.9" 129 | resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-0.7.9.tgz#a0fae94fecfd4a44fbde496f689c2b4179407bf5" 130 | integrity sha512-ihn9xWOqubMPBlU77wcYpy7FFamGo5xtsK27EAILL/eoOvGEAq29UOrqRvqYPwWfl2+3laFmGKNR7uCdJhKu4Q== 131 | dependencies: 132 | semver "^6.2.0" 133 | 134 | "@grpc/proto-loader@^0.5.1": 135 | version "0.5.4" 136 | resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.5.4.tgz#038a3820540f621eeb1b05d81fbedfb045e14de0" 137 | integrity sha512-HTM4QpI9B2XFkPz7pjwMyMgZchJ93TVkL3kWPW8GDMDKYxsMnmf4w2TNMJK7+KNiYHS5cJrCEAFlF+AwtXWVPA== 138 | dependencies: 139 | lodash.camelcase "^4.3.0" 140 | protobufjs "^6.8.6" 141 | 142 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": 143 | version "1.1.2" 144 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" 145 | integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= 146 | 147 | "@protobufjs/base64@^1.1.2": 148 | version "1.1.2" 149 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" 150 | integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== 151 | 152 | "@protobufjs/codegen@^2.0.4": 153 | version "2.0.4" 154 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" 155 | integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== 156 | 157 | "@protobufjs/eventemitter@^1.1.0": 158 | version "1.1.0" 159 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" 160 | integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= 161 | 162 | "@protobufjs/fetch@^1.1.0": 163 | version "1.1.0" 164 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" 165 | integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= 166 | dependencies: 167 | "@protobufjs/aspromise" "^1.1.1" 168 | "@protobufjs/inquire" "^1.1.0" 169 | 170 | "@protobufjs/float@^1.0.2": 171 | version "1.0.2" 172 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" 173 | integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= 174 | 175 | "@protobufjs/inquire@^1.1.0": 176 | version "1.1.0" 177 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" 178 | integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= 179 | 180 | "@protobufjs/path@^1.1.2": 181 | version "1.1.2" 182 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" 183 | integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= 184 | 185 | "@protobufjs/pool@^1.1.0": 186 | version "1.1.0" 187 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" 188 | integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= 189 | 190 | "@protobufjs/utf8@^1.1.0": 191 | version "1.1.0" 192 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" 193 | integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= 194 | 195 | "@tootallnate/once@1": 196 | version "1.0.0" 197 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.0.0.tgz#9c13c2574c92d4503b005feca8f2e16cc1611506" 198 | integrity sha512-KYyTT/T6ALPkIRd2Ge080X/BsXvy9O0hcWTtMWkPvwAwF99+vn6Dv4GzrFT/Nn1LePr+FFDbRXXlqmsy9lw2zA== 199 | 200 | "@types/fs-extra@^8.0.1": 201 | version "8.1.0" 202 | resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.0.tgz#1114834b53c3914806cd03b3304b37b3bd221a4d" 203 | integrity sha512-UoOfVEzAUpeSPmjm7h1uk5MH6KZma2z2O7a75onTGjnNvAvMVrPzPL/vBbT65iIGHWj6rokwfmYcmxmlSf2uwg== 204 | dependencies: 205 | "@types/node" "*" 206 | 207 | "@types/long@^4.0.0": 208 | version "4.0.1" 209 | resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" 210 | integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== 211 | 212 | "@types/node@*": 213 | version "13.13.0" 214 | resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.0.tgz#30d2d09f623fe32cde9cb582c7a6eda2788ce4a8" 215 | integrity sha512-WE4IOAC6r/yBZss1oQGM5zs2D7RuKR6Q+w+X2SouPofnWn+LbCqClRyhO3ZE7Ix8nmFgo/oVuuE01cJT2XB13A== 216 | 217 | "@types/node@^10.1.0": 218 | version "10.17.20" 219 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.20.tgz#e6d8b3631af1e59bbb4fda04926b078acdd3c2ef" 220 | integrity sha512-XgDgo6W10SeGEAM0k7FosJpvLCynOTYns4Xk3J5HGrA+UI/bKZ30PGMzOP5Lh2zs4259I71FSYLAtjnx3qhObw== 221 | 222 | "@types/node@^8.10.59": 223 | version "8.10.60" 224 | resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.60.tgz#73eb4d1e1c8aa5dc724363b57db019cf28863ef7" 225 | integrity sha512-YjPbypHFuiOV0bTgeF07HpEEqhmHaZqYNSdCKeBJa+yFoQ/7BC+FpJcwmi34xUIIRVFktnUyP1dPU8U0612GOg== 226 | 227 | abort-controller@^3.0.0: 228 | version "3.0.0" 229 | resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" 230 | integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== 231 | dependencies: 232 | event-target-shim "^5.0.0" 233 | 234 | accepts@~1.3.7: 235 | version "1.3.7" 236 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" 237 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== 238 | dependencies: 239 | mime-types "~2.1.24" 240 | negotiator "0.6.2" 241 | 242 | agent-base@6: 243 | version "6.0.0" 244 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.0.tgz#5d0101f19bbfaed39980b22ae866de153b93f09a" 245 | integrity sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw== 246 | dependencies: 247 | debug "4" 248 | 249 | array-filter@^1.0.0: 250 | version "1.0.0" 251 | resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" 252 | integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= 253 | 254 | array-flatten@1.1.1: 255 | version "1.1.1" 256 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 257 | integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= 258 | 259 | arrify@^2.0.0: 260 | version "2.0.1" 261 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" 262 | integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== 263 | 264 | available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: 265 | version "1.0.2" 266 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" 267 | integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== 268 | dependencies: 269 | array-filter "^1.0.0" 270 | 271 | base64-js@^1.3.0: 272 | version "1.3.1" 273 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" 274 | integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== 275 | 276 | bignumber.js@^7.0.0: 277 | version "7.2.1" 278 | resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f" 279 | integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== 280 | 281 | body-parser@1.19.0, body-parser@^1.19.0: 282 | version "1.19.0" 283 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" 284 | integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== 285 | dependencies: 286 | bytes "3.1.0" 287 | content-type "~1.0.4" 288 | debug "2.6.9" 289 | depd "~1.1.2" 290 | http-errors "1.7.2" 291 | iconv-lite "0.4.24" 292 | on-finished "~2.3.0" 293 | qs "6.7.0" 294 | raw-body "2.4.0" 295 | type-is "~1.6.17" 296 | 297 | buffer-equal-constant-time@1.0.1: 298 | version "1.0.1" 299 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 300 | integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= 301 | 302 | buffer-from@^1.0.0: 303 | version "1.1.1" 304 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 305 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 306 | 307 | bytes@3.1.0: 308 | version "3.1.0" 309 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" 310 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== 311 | 312 | compressible@^2.0.12: 313 | version "2.0.18" 314 | resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" 315 | integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== 316 | dependencies: 317 | mime-db ">= 1.43.0 < 2" 318 | 319 | concat-stream@^2.0.0: 320 | version "2.0.0" 321 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" 322 | integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== 323 | dependencies: 324 | buffer-from "^1.0.0" 325 | inherits "^2.0.3" 326 | readable-stream "^3.0.2" 327 | typedarray "^0.0.6" 328 | 329 | configstore@^5.0.0: 330 | version "5.0.1" 331 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" 332 | integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== 333 | dependencies: 334 | dot-prop "^5.2.0" 335 | graceful-fs "^4.1.2" 336 | make-dir "^3.0.0" 337 | unique-string "^2.0.0" 338 | write-file-atomic "^3.0.0" 339 | xdg-basedir "^4.0.0" 340 | 341 | content-disposition@0.5.3: 342 | version "0.5.3" 343 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" 344 | integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== 345 | dependencies: 346 | safe-buffer "5.1.2" 347 | 348 | content-type@~1.0.4: 349 | version "1.0.4" 350 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 351 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 352 | 353 | cookie-parser@^1.4.5: 354 | version "1.4.5" 355 | resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.5.tgz#3e572d4b7c0c80f9c61daf604e4336831b5d1d49" 356 | integrity sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw== 357 | dependencies: 358 | cookie "0.4.0" 359 | cookie-signature "1.0.6" 360 | 361 | cookie-signature@1.0.6: 362 | version "1.0.6" 363 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 364 | integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= 365 | 366 | cookie@0.4.0: 367 | version "0.4.0" 368 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" 369 | integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== 370 | 371 | core-util-is@~1.0.0: 372 | version "1.0.2" 373 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 374 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 375 | 376 | crypto-random-string@^2.0.0: 377 | version "2.0.0" 378 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" 379 | integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== 380 | 381 | csrf@3.1.0: 382 | version "3.1.0" 383 | resolved "https://registry.yarnpkg.com/csrf/-/csrf-3.1.0.tgz#ec75e9656d004d674b8ef5ba47b41fbfd6cb9c30" 384 | integrity sha512-uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w== 385 | dependencies: 386 | rndm "1.2.0" 387 | tsscmp "1.0.6" 388 | uid-safe "2.1.5" 389 | 390 | csurf@^1.11.0: 391 | version "1.11.0" 392 | resolved "https://registry.yarnpkg.com/csurf/-/csurf-1.11.0.tgz#ab0c3c6634634192bd3d6f4b861be20800eeb61a" 393 | integrity sha512-UCtehyEExKTxgiu8UHdGvHj4tnpE/Qctue03Giq5gPgMQ9cg/ciod5blZQ5a4uCEenNQjxyGuzygLdKUmee/bQ== 394 | dependencies: 395 | cookie "0.4.0" 396 | cookie-signature "1.0.6" 397 | csrf "3.1.0" 398 | http-errors "~1.7.3" 399 | 400 | date-and-time@^0.13.0: 401 | version "0.13.1" 402 | resolved "https://registry.yarnpkg.com/date-and-time/-/date-and-time-0.13.1.tgz#d12ba07ac840d5b112dc4c83f8a03e8a51f78dd6" 403 | integrity sha512-/Uge9DJAT+s+oAcDxtBhyR8+sKjUnZbYmyhbmWjTHNtX7B7oWD8YyYdeXcBRbwSj6hVvj+IQegJam7m7czhbFw== 404 | 405 | debug@2.6.9: 406 | version "2.6.9" 407 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 408 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 409 | dependencies: 410 | ms "2.0.0" 411 | 412 | debug@4, debug@^4.1.1: 413 | version "4.1.1" 414 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 415 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 416 | dependencies: 417 | ms "^2.1.1" 418 | 419 | deep-equal@^2.0.0: 420 | version "2.0.2" 421 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.0.2.tgz#e68291e245493ae908ca7190c1deea57a01ed82b" 422 | integrity sha512-kX0bjV7tdMuhrhzKPEnVwqfQCuf+IEfN+4Xqv4eKd75xGRyn8yzdQ9ujPY6a221rgJKyQC4KBu1PibDTpa6m9w== 423 | dependencies: 424 | es-abstract "^1.17.5" 425 | es-get-iterator "^1.1.0" 426 | is-arguments "^1.0.4" 427 | is-date-object "^1.0.2" 428 | is-regex "^1.0.5" 429 | isarray "^2.0.5" 430 | object-is "^1.0.2" 431 | object-keys "^1.1.1" 432 | regexp.prototype.flags "^1.3.0" 433 | side-channel "^1.0.2" 434 | which-boxed-primitive "^1.0.1" 435 | which-collection "^1.0.1" 436 | which-typed-array "^1.1.1" 437 | 438 | define-properties@^1.1.2, define-properties@^1.1.3: 439 | version "1.1.3" 440 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 441 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 442 | dependencies: 443 | object-keys "^1.0.12" 444 | 445 | depd@~1.1.2: 446 | version "1.1.2" 447 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 448 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 449 | 450 | destroy@~1.0.4: 451 | version "1.0.4" 452 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 453 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 454 | 455 | dicer@^0.3.0: 456 | version "0.3.0" 457 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872" 458 | integrity sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA== 459 | dependencies: 460 | streamsearch "0.1.2" 461 | 462 | dot-prop@^5.2.0: 463 | version "5.2.0" 464 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" 465 | integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== 466 | dependencies: 467 | is-obj "^2.0.0" 468 | 469 | duplexify@^3.5.0, duplexify@^3.6.0: 470 | version "3.7.1" 471 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" 472 | integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== 473 | dependencies: 474 | end-of-stream "^1.0.0" 475 | inherits "^2.0.1" 476 | readable-stream "^2.0.0" 477 | stream-shift "^1.0.0" 478 | 479 | duplexify@^4.1.1: 480 | version "4.1.1" 481 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.1.tgz#7027dc374f157b122a8ae08c2d3ea4d2d953aa61" 482 | integrity sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA== 483 | dependencies: 484 | end-of-stream "^1.4.1" 485 | inherits "^2.0.3" 486 | readable-stream "^3.1.1" 487 | stream-shift "^1.0.0" 488 | 489 | ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: 490 | version "1.0.11" 491 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" 492 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== 493 | dependencies: 494 | safe-buffer "^5.0.1" 495 | 496 | ee-first@1.1.1: 497 | version "1.1.1" 498 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 499 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 500 | 501 | ejs@^3.0.2: 502 | version "3.0.2" 503 | resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.0.2.tgz#745b01cdcfe38c1c6a2da3bbb2d9957060a31226" 504 | integrity sha512-IncmUpn1yN84hy2shb0POJ80FWrfGNY0cxO9f4v+/sG7qcBvAtVWUA1IdzY/8EYUmOVhoKJVdJjNd3AZcnxOjA== 505 | 506 | encodeurl@~1.0.2: 507 | version "1.0.2" 508 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 509 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 510 | 511 | end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: 512 | version "1.4.4" 513 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 514 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 515 | dependencies: 516 | once "^1.4.0" 517 | 518 | ent@^2.2.0: 519 | version "2.2.0" 520 | resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" 521 | integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= 522 | 523 | es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: 524 | version "1.17.5" 525 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" 526 | integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== 527 | dependencies: 528 | es-to-primitive "^1.2.1" 529 | function-bind "^1.1.1" 530 | has "^1.0.3" 531 | has-symbols "^1.0.1" 532 | is-callable "^1.1.5" 533 | is-regex "^1.0.5" 534 | object-inspect "^1.7.0" 535 | object-keys "^1.1.1" 536 | object.assign "^4.1.0" 537 | string.prototype.trimleft "^2.1.1" 538 | string.prototype.trimright "^2.1.1" 539 | 540 | es-get-iterator@^1.1.0: 541 | version "1.1.0" 542 | resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" 543 | integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== 544 | dependencies: 545 | es-abstract "^1.17.4" 546 | has-symbols "^1.0.1" 547 | is-arguments "^1.0.4" 548 | is-map "^2.0.1" 549 | is-set "^2.0.1" 550 | is-string "^1.0.5" 551 | isarray "^2.0.5" 552 | 553 | es-to-primitive@^1.2.1: 554 | version "1.2.1" 555 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 556 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 557 | dependencies: 558 | is-callable "^1.1.4" 559 | is-date-object "^1.0.1" 560 | is-symbol "^1.0.2" 561 | 562 | escape-html@~1.0.3: 563 | version "1.0.3" 564 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 565 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 566 | 567 | etag@~1.8.1: 568 | version "1.8.1" 569 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 570 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 571 | 572 | event-target-shim@^5.0.0: 573 | version "5.0.1" 574 | resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" 575 | integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== 576 | 577 | express@^4.17.1: 578 | version "4.17.1" 579 | resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" 580 | integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== 581 | dependencies: 582 | accepts "~1.3.7" 583 | array-flatten "1.1.1" 584 | body-parser "1.19.0" 585 | content-disposition "0.5.3" 586 | content-type "~1.0.4" 587 | cookie "0.4.0" 588 | cookie-signature "1.0.6" 589 | debug "2.6.9" 590 | depd "~1.1.2" 591 | encodeurl "~1.0.2" 592 | escape-html "~1.0.3" 593 | etag "~1.8.1" 594 | finalhandler "~1.1.2" 595 | fresh "0.5.2" 596 | merge-descriptors "1.0.1" 597 | methods "~1.1.2" 598 | on-finished "~2.3.0" 599 | parseurl "~1.3.3" 600 | path-to-regexp "0.1.7" 601 | proxy-addr "~2.0.5" 602 | qs "6.7.0" 603 | range-parser "~1.2.1" 604 | safe-buffer "5.1.2" 605 | send "0.17.1" 606 | serve-static "1.14.1" 607 | setprototypeof "1.1.1" 608 | statuses "~1.5.0" 609 | type-is "~1.6.18" 610 | utils-merge "1.0.1" 611 | vary "~1.1.2" 612 | 613 | extend@^3.0.2: 614 | version "3.0.2" 615 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 616 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 617 | 618 | fast-text-encoding@^1.0.0: 619 | version "1.0.1" 620 | resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.1.tgz#4a428566f74fc55ebdd447555b1eb4d9cf514455" 621 | integrity sha512-x4FEgaz3zNRtJfLFqJmHWxkMDDvXVtaznj2V9jiP8ACUJrUgist4bP9FmDL2Vew2Y9mEQI/tG4GqabaitYp9CQ== 622 | 623 | faye-websocket@0.11.3: 624 | version "0.11.3" 625 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" 626 | integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== 627 | dependencies: 628 | websocket-driver ">=0.5.1" 629 | 630 | finalhandler@~1.1.2: 631 | version "1.1.2" 632 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" 633 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== 634 | dependencies: 635 | debug "2.6.9" 636 | encodeurl "~1.0.2" 637 | escape-html "~1.0.3" 638 | on-finished "~2.3.0" 639 | parseurl "~1.3.3" 640 | statuses "~1.5.0" 641 | unpipe "~1.0.0" 642 | 643 | firebase-admin@^8.10.0: 644 | version "8.10.0" 645 | resolved "https://registry.yarnpkg.com/firebase-admin/-/firebase-admin-8.10.0.tgz#4a838aec52df49845eba07ad59a40b4df996e815" 646 | integrity sha512-QzJZ1sBh9xzKjb44aP6m1duy0Xe1ixexwh0eaOt1CkJYCOq2b6bievK4GNWMl5yGQ7FFBEbZO6hyDi+5wrctcg== 647 | dependencies: 648 | "@firebase/database" "^0.5.17" 649 | "@types/node" "^8.10.59" 650 | dicer "^0.3.0" 651 | jsonwebtoken "8.1.0" 652 | node-forge "0.7.4" 653 | optionalDependencies: 654 | "@google-cloud/firestore" "^3.0.0" 655 | "@google-cloud/storage" "^4.1.2" 656 | 657 | foreach@^2.0.5: 658 | version "2.0.5" 659 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 660 | integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= 661 | 662 | forwarded@~0.1.2: 663 | version "0.1.2" 664 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 665 | integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= 666 | 667 | fresh@0.5.2: 668 | version "0.5.2" 669 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 670 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 671 | 672 | function-bind@^1.1.1: 673 | version "1.1.1" 674 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 675 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 676 | 677 | functional-red-black-tree@^1.0.1: 678 | version "1.0.1" 679 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 680 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 681 | 682 | gaxios@^2.0.0, gaxios@^2.1.0: 683 | version "2.3.4" 684 | resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-2.3.4.tgz#eea99353f341c270c5f3c29fc46b8ead56f0a173" 685 | integrity sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA== 686 | dependencies: 687 | abort-controller "^3.0.0" 688 | extend "^3.0.2" 689 | https-proxy-agent "^5.0.0" 690 | is-stream "^2.0.0" 691 | node-fetch "^2.3.0" 692 | 693 | gaxios@^3.0.0: 694 | version "3.0.2" 695 | resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-3.0.2.tgz#ec49d0b93713d9efdc51e7a6499536854d8958fd" 696 | integrity sha512-cLOetrsKOBLPwjzVyFzirYaGjrhtYjbKUHp6fQpsio2HH8Mil35JTFQLgkV5D3CCXV7Gnd5V69/m4C9rMBi9bA== 697 | dependencies: 698 | abort-controller "^3.0.0" 699 | extend "^3.0.2" 700 | https-proxy-agent "^5.0.0" 701 | is-stream "^2.0.0" 702 | node-fetch "^2.3.0" 703 | 704 | gcp-metadata@^3.4.0: 705 | version "3.5.0" 706 | resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-3.5.0.tgz#6d28343f65a6bbf8449886a0c0e4a71c77577055" 707 | integrity sha512-ZQf+DLZ5aKcRpLzYUyBS3yo3N0JSa82lNDO8rj3nMSlovLcz2riKFBsYgDzeXcv75oo5eqB2lx+B14UvPoCRnA== 708 | dependencies: 709 | gaxios "^2.1.0" 710 | json-bigint "^0.3.0" 711 | 712 | gcs-resumable-upload@^2.2.4: 713 | version "2.3.3" 714 | resolved "https://registry.yarnpkg.com/gcs-resumable-upload/-/gcs-resumable-upload-2.3.3.tgz#02c616ed17eff6676e789910aeab3907d412c5f8" 715 | integrity sha512-sf896I5CC/1AxeaGfSFg3vKMjUq/r+A3bscmVzZm10CElyRanN0XwPu/MxeIO4LSP+9uF6yKzXvNsaTsMXUG6Q== 716 | dependencies: 717 | abort-controller "^3.0.0" 718 | configstore "^5.0.0" 719 | gaxios "^2.0.0" 720 | google-auth-library "^5.0.0" 721 | pumpify "^2.0.0" 722 | stream-events "^1.0.4" 723 | 724 | google-auth-library@^5.0.0, google-auth-library@^5.5.0: 725 | version "5.10.1" 726 | resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-5.10.1.tgz#504ec75487ad140e68dd577c21affa363c87ddff" 727 | integrity sha512-rOlaok5vlpV9rSiUu5EpR0vVpc+PhN62oF4RyX/6++DG1VsaulAFEMlDYBLjJDDPI6OcNOCGAKy9UVB/3NIDXg== 728 | dependencies: 729 | arrify "^2.0.0" 730 | base64-js "^1.3.0" 731 | ecdsa-sig-formatter "^1.0.11" 732 | fast-text-encoding "^1.0.0" 733 | gaxios "^2.1.0" 734 | gcp-metadata "^3.4.0" 735 | gtoken "^4.1.0" 736 | jws "^4.0.0" 737 | lru-cache "^5.0.0" 738 | 739 | google-gax@^1.13.0: 740 | version "1.15.2" 741 | resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-1.15.2.tgz#a58aff43ec383f4f056f9d796e8d5e4891161eb8" 742 | integrity sha512-yNNiRf9QxWpZNfQQmSPz3rIDTBDDKnLKY/QEsjCaJyDxttespr6v8WRGgU5KrU/6ZM7QRlgBAYXCkxqHhJp0wA== 743 | dependencies: 744 | "@grpc/grpc-js" "^0.7.4" 745 | "@grpc/proto-loader" "^0.5.1" 746 | "@types/fs-extra" "^8.0.1" 747 | "@types/long" "^4.0.0" 748 | abort-controller "^3.0.0" 749 | duplexify "^3.6.0" 750 | google-auth-library "^5.0.0" 751 | is-stream-ended "^0.1.4" 752 | lodash.at "^4.6.0" 753 | lodash.has "^4.5.2" 754 | node-fetch "^2.6.0" 755 | protobufjs "^6.8.9" 756 | retry-request "^4.0.0" 757 | semver "^6.0.0" 758 | walkdir "^0.4.0" 759 | 760 | google-p12-pem@^2.0.0: 761 | version "2.0.4" 762 | resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-2.0.4.tgz#036462394e266472632a78b685f0cc3df4ef337b" 763 | integrity sha512-S4blHBQWZRnEW44OcR7TL9WR+QCqByRvhNDZ/uuQfpxywfupikf/miba8js1jZi6ZOGv5slgSuoshCWh6EMDzg== 764 | dependencies: 765 | node-forge "^0.9.0" 766 | 767 | graceful-fs@^4.1.2: 768 | version "4.2.3" 769 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" 770 | integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== 771 | 772 | gtoken@^4.1.0: 773 | version "4.1.4" 774 | resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-4.1.4.tgz#925ff1e7df3aaada06611d30ea2d2abf60fcd6a7" 775 | integrity sha512-VxirzD0SWoFUo5p8RDP8Jt2AGyOmyYcT/pOUgDKJCK+iSw0TMqwrVfY37RXTNmoKwrzmDHSk0GMT9FsgVmnVSA== 776 | dependencies: 777 | gaxios "^2.1.0" 778 | google-p12-pem "^2.0.0" 779 | jws "^4.0.0" 780 | mime "^2.2.0" 781 | 782 | has-symbols@^1.0.0, has-symbols@^1.0.1: 783 | version "1.0.1" 784 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 785 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 786 | 787 | has@^1.0.3: 788 | version "1.0.3" 789 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 790 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 791 | dependencies: 792 | function-bind "^1.1.1" 793 | 794 | hash-stream-validation@^0.2.2: 795 | version "0.2.2" 796 | resolved "https://registry.yarnpkg.com/hash-stream-validation/-/hash-stream-validation-0.2.2.tgz#6b34c4fce5e9fce265f1d3380900049d92a10090" 797 | integrity sha512-cMlva5CxWZOrlS/cY0C+9qAzesn5srhFA8IT1VPiHc9bWWBLkJfEUIZr7MWoi89oOOGmpg8ymchaOjiArsGu5A== 798 | dependencies: 799 | through2 "^2.0.0" 800 | 801 | http-errors@1.7.2: 802 | version "1.7.2" 803 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" 804 | integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== 805 | dependencies: 806 | depd "~1.1.2" 807 | inherits "2.0.3" 808 | setprototypeof "1.1.1" 809 | statuses ">= 1.5.0 < 2" 810 | toidentifier "1.0.0" 811 | 812 | http-errors@~1.7.2, http-errors@~1.7.3: 813 | version "1.7.3" 814 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" 815 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== 816 | dependencies: 817 | depd "~1.1.2" 818 | inherits "2.0.4" 819 | setprototypeof "1.1.1" 820 | statuses ">= 1.5.0 < 2" 821 | toidentifier "1.0.0" 822 | 823 | "http-parser-js@>=0.4.0 <0.4.11": 824 | version "0.4.10" 825 | resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" 826 | integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= 827 | 828 | http-proxy-agent@^4.0.0: 829 | version "4.0.1" 830 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" 831 | integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== 832 | dependencies: 833 | "@tootallnate/once" "1" 834 | agent-base "6" 835 | debug "4" 836 | 837 | https-proxy-agent@^5.0.0: 838 | version "5.0.0" 839 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" 840 | integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== 841 | dependencies: 842 | agent-base "6" 843 | debug "4" 844 | 845 | iconv-lite@0.4.24: 846 | version "0.4.24" 847 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 848 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 849 | dependencies: 850 | safer-buffer ">= 2.1.2 < 3" 851 | 852 | imurmurhash@^0.1.4: 853 | version "0.1.4" 854 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 855 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 856 | 857 | inherits@2.0.3: 858 | version "2.0.3" 859 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 860 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 861 | 862 | inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: 863 | version "2.0.4" 864 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 865 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 866 | 867 | ipaddr.js@1.9.1: 868 | version "1.9.1" 869 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 870 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 871 | 872 | is-arguments@^1.0.4: 873 | version "1.0.4" 874 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" 875 | integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== 876 | 877 | is-bigint@^1.0.0: 878 | version "1.0.0" 879 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.0.tgz#73da8c33208d00f130e9b5e15d23eac9215601c4" 880 | integrity sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g== 881 | 882 | is-boolean-object@^1.0.0: 883 | version "1.0.1" 884 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" 885 | integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ== 886 | 887 | is-callable@^1.1.4, is-callable@^1.1.5: 888 | version "1.1.5" 889 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" 890 | integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== 891 | 892 | is-date-object@^1.0.1, is-date-object@^1.0.2: 893 | version "1.0.2" 894 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 895 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 896 | 897 | is-map@^2.0.1: 898 | version "2.0.1" 899 | resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" 900 | integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== 901 | 902 | is-number-object@^1.0.3: 903 | version "1.0.4" 904 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" 905 | integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== 906 | 907 | is-obj@^2.0.0: 908 | version "2.0.0" 909 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" 910 | integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== 911 | 912 | is-regex@^1.0.5: 913 | version "1.0.5" 914 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" 915 | integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== 916 | dependencies: 917 | has "^1.0.3" 918 | 919 | is-set@^2.0.1: 920 | version "2.0.1" 921 | resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" 922 | integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== 923 | 924 | is-stream-ended@^0.1.4: 925 | version "0.1.4" 926 | resolved "https://registry.yarnpkg.com/is-stream-ended/-/is-stream-ended-0.1.4.tgz#f50224e95e06bce0e356d440a4827cd35b267eda" 927 | integrity sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw== 928 | 929 | is-stream@^2.0.0: 930 | version "2.0.0" 931 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 932 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 933 | 934 | is-string@^1.0.4, is-string@^1.0.5: 935 | version "1.0.5" 936 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" 937 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== 938 | 939 | is-symbol@^1.0.2: 940 | version "1.0.3" 941 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 942 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 943 | dependencies: 944 | has-symbols "^1.0.1" 945 | 946 | is-typed-array@^1.1.3: 947 | version "1.1.3" 948 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d" 949 | integrity sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ== 950 | dependencies: 951 | available-typed-arrays "^1.0.0" 952 | es-abstract "^1.17.4" 953 | foreach "^2.0.5" 954 | has-symbols "^1.0.1" 955 | 956 | is-typedarray@^1.0.0: 957 | version "1.0.0" 958 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 959 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 960 | 961 | is-weakmap@^2.0.1: 962 | version "2.0.1" 963 | resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" 964 | integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== 965 | 966 | is-weakset@^2.0.1: 967 | version "2.0.1" 968 | resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.1.tgz#e9a0af88dbd751589f5e50d80f4c98b780884f83" 969 | integrity sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw== 970 | 971 | isarray@^2.0.5: 972 | version "2.0.5" 973 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" 974 | integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== 975 | 976 | isarray@~1.0.0: 977 | version "1.0.0" 978 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 979 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 980 | 981 | json-bigint@^0.3.0: 982 | version "0.3.0" 983 | resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-0.3.0.tgz#0ccd912c4b8270d05f056fbd13814b53d3825b1e" 984 | integrity sha1-DM2RLEuCcNBfBW+9E4FLU9OCWx4= 985 | dependencies: 986 | bignumber.js "^7.0.0" 987 | 988 | jsonwebtoken@8.1.0: 989 | version "8.1.0" 990 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.1.0.tgz#c6397cd2e5fd583d65c007a83dc7bb78e6982b83" 991 | integrity sha1-xjl80uX9WD1lwAeoPce7eOaYK4M= 992 | dependencies: 993 | jws "^3.1.4" 994 | lodash.includes "^4.3.0" 995 | lodash.isboolean "^3.0.3" 996 | lodash.isinteger "^4.0.4" 997 | lodash.isnumber "^3.0.3" 998 | lodash.isplainobject "^4.0.6" 999 | lodash.isstring "^4.0.1" 1000 | lodash.once "^4.0.0" 1001 | ms "^2.0.0" 1002 | xtend "^4.0.1" 1003 | 1004 | jwa@^1.4.1: 1005 | version "1.4.1" 1006 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" 1007 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== 1008 | dependencies: 1009 | buffer-equal-constant-time "1.0.1" 1010 | ecdsa-sig-formatter "1.0.11" 1011 | safe-buffer "^5.0.1" 1012 | 1013 | jwa@^2.0.0: 1014 | version "2.0.0" 1015 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc" 1016 | integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== 1017 | dependencies: 1018 | buffer-equal-constant-time "1.0.1" 1019 | ecdsa-sig-formatter "1.0.11" 1020 | safe-buffer "^5.0.1" 1021 | 1022 | jws@^3.1.4: 1023 | version "3.2.2" 1024 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" 1025 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== 1026 | dependencies: 1027 | jwa "^1.4.1" 1028 | safe-buffer "^5.0.1" 1029 | 1030 | jws@^4.0.0: 1031 | version "4.0.0" 1032 | resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4" 1033 | integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== 1034 | dependencies: 1035 | jwa "^2.0.0" 1036 | safe-buffer "^5.0.1" 1037 | 1038 | lodash.at@^4.6.0: 1039 | version "4.6.0" 1040 | resolved "https://registry.yarnpkg.com/lodash.at/-/lodash.at-4.6.0.tgz#93cdce664f0a1994ea33dd7cd40e23afd11b0ff8" 1041 | integrity sha1-k83OZk8KGZTqM9181A4jr9EbD/g= 1042 | 1043 | lodash.camelcase@^4.3.0: 1044 | version "4.3.0" 1045 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 1046 | integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= 1047 | 1048 | lodash.has@^4.5.2: 1049 | version "4.5.2" 1050 | resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" 1051 | integrity sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI= 1052 | 1053 | lodash.includes@^4.3.0: 1054 | version "4.3.0" 1055 | resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" 1056 | integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= 1057 | 1058 | lodash.isboolean@^3.0.3: 1059 | version "3.0.3" 1060 | resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" 1061 | integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= 1062 | 1063 | lodash.isinteger@^4.0.4: 1064 | version "4.0.4" 1065 | resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" 1066 | integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= 1067 | 1068 | lodash.isnumber@^3.0.3: 1069 | version "3.0.3" 1070 | resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" 1071 | integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= 1072 | 1073 | lodash.isplainobject@^4.0.6: 1074 | version "4.0.6" 1075 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 1076 | integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= 1077 | 1078 | lodash.isstring@^4.0.1: 1079 | version "4.0.1" 1080 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 1081 | integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= 1082 | 1083 | lodash.once@^4.0.0: 1084 | version "4.1.1" 1085 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" 1086 | integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= 1087 | 1088 | long@^4.0.0: 1089 | version "4.0.0" 1090 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" 1091 | integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== 1092 | 1093 | lru-cache@^5.0.0: 1094 | version "5.1.1" 1095 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 1096 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 1097 | dependencies: 1098 | yallist "^3.0.2" 1099 | 1100 | make-dir@^3.0.0: 1101 | version "3.0.2" 1102 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" 1103 | integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w== 1104 | dependencies: 1105 | semver "^6.0.0" 1106 | 1107 | media-typer@0.3.0: 1108 | version "0.3.0" 1109 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1110 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 1111 | 1112 | merge-descriptors@1.0.1: 1113 | version "1.0.1" 1114 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1115 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= 1116 | 1117 | methods@~1.1.2: 1118 | version "1.1.2" 1119 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1120 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 1121 | 1122 | mime-db@1.43.0, "mime-db@>= 1.43.0 < 2": 1123 | version "1.43.0" 1124 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" 1125 | integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== 1126 | 1127 | mime-types@^2.0.8, mime-types@~2.1.24: 1128 | version "2.1.26" 1129 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" 1130 | integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== 1131 | dependencies: 1132 | mime-db "1.43.0" 1133 | 1134 | mime@1.6.0: 1135 | version "1.6.0" 1136 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1137 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1138 | 1139 | mime@^2.2.0: 1140 | version "2.4.4" 1141 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" 1142 | integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== 1143 | 1144 | mimic-fn@^2.1.0: 1145 | version "2.1.0" 1146 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 1147 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 1148 | 1149 | ms@2.0.0: 1150 | version "2.0.0" 1151 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1152 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1153 | 1154 | ms@2.1.1: 1155 | version "2.1.1" 1156 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 1157 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 1158 | 1159 | ms@^2.0.0, ms@^2.1.1: 1160 | version "2.1.2" 1161 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1162 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1163 | 1164 | negotiator@0.6.2: 1165 | version "0.6.2" 1166 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" 1167 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== 1168 | 1169 | node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.6.0: 1170 | version "2.6.0" 1171 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" 1172 | integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== 1173 | 1174 | node-forge@0.7.4: 1175 | version "0.7.4" 1176 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.4.tgz#8e6e9f563a1e32213aa7508cded22aa791dbf986" 1177 | integrity sha512-8Df0906+tq/omxuCZD6PqhPaQDYuyJ1d+VITgxoIA8zvQd1ru+nMJcDChHH324MWitIgbVkAkQoGEEVJNpn/PA== 1178 | 1179 | node-forge@^0.9.0: 1180 | version "0.9.1" 1181 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.1.tgz#775368e6846558ab6676858a4d8c6e8d16c677b5" 1182 | integrity sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ== 1183 | 1184 | object-inspect@^1.7.0: 1185 | version "1.7.0" 1186 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" 1187 | integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== 1188 | 1189 | object-is@^1.0.2: 1190 | version "1.1.2" 1191 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" 1192 | integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== 1193 | dependencies: 1194 | define-properties "^1.1.3" 1195 | es-abstract "^1.17.5" 1196 | 1197 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: 1198 | version "1.1.1" 1199 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1200 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1201 | 1202 | object.assign@^4.1.0: 1203 | version "4.1.0" 1204 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 1205 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 1206 | dependencies: 1207 | define-properties "^1.1.2" 1208 | function-bind "^1.1.1" 1209 | has-symbols "^1.0.0" 1210 | object-keys "^1.0.11" 1211 | 1212 | on-finished@~2.3.0: 1213 | version "2.3.0" 1214 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 1215 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 1216 | dependencies: 1217 | ee-first "1.1.1" 1218 | 1219 | once@^1.3.1, once@^1.4.0: 1220 | version "1.4.0" 1221 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1222 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1223 | dependencies: 1224 | wrappy "1" 1225 | 1226 | onetime@^5.1.0: 1227 | version "5.1.0" 1228 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" 1229 | integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== 1230 | dependencies: 1231 | mimic-fn "^2.1.0" 1232 | 1233 | p-limit@^2.2.0: 1234 | version "2.3.0" 1235 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1236 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1237 | dependencies: 1238 | p-try "^2.0.0" 1239 | 1240 | p-try@^2.0.0: 1241 | version "2.2.0" 1242 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1243 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1244 | 1245 | parseurl@~1.3.3: 1246 | version "1.3.3" 1247 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 1248 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 1249 | 1250 | path-to-regexp@0.1.7: 1251 | version "0.1.7" 1252 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 1253 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= 1254 | 1255 | process-nextick-args@~2.0.0: 1256 | version "2.0.1" 1257 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 1258 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1259 | 1260 | protobufjs@^6.8.6, protobufjs@^6.8.9: 1261 | version "6.8.9" 1262 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.9.tgz#0b1adbcdaa983d369c3d9108a97c814edc030754" 1263 | integrity sha512-j2JlRdUeL/f4Z6x4aU4gj9I2LECglC+5qR2TrWb193Tla1qfdaNQTZ8I27Pt7K0Ajmvjjpft7O3KWTGciz4gpw== 1264 | dependencies: 1265 | "@protobufjs/aspromise" "^1.1.2" 1266 | "@protobufjs/base64" "^1.1.2" 1267 | "@protobufjs/codegen" "^2.0.4" 1268 | "@protobufjs/eventemitter" "^1.1.0" 1269 | "@protobufjs/fetch" "^1.1.0" 1270 | "@protobufjs/float" "^1.0.2" 1271 | "@protobufjs/inquire" "^1.1.0" 1272 | "@protobufjs/path" "^1.1.2" 1273 | "@protobufjs/pool" "^1.1.0" 1274 | "@protobufjs/utf8" "^1.1.0" 1275 | "@types/long" "^4.0.0" 1276 | "@types/node" "^10.1.0" 1277 | long "^4.0.0" 1278 | 1279 | proxy-addr@~2.0.5: 1280 | version "2.0.6" 1281 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" 1282 | integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== 1283 | dependencies: 1284 | forwarded "~0.1.2" 1285 | ipaddr.js "1.9.1" 1286 | 1287 | pump@^3.0.0: 1288 | version "3.0.0" 1289 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 1290 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 1291 | dependencies: 1292 | end-of-stream "^1.1.0" 1293 | once "^1.3.1" 1294 | 1295 | pumpify@^2.0.0: 1296 | version "2.0.1" 1297 | resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-2.0.1.tgz#abfc7b5a621307c728b551decbbefb51f0e4aa1e" 1298 | integrity sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw== 1299 | dependencies: 1300 | duplexify "^4.1.1" 1301 | inherits "^2.0.3" 1302 | pump "^3.0.0" 1303 | 1304 | qs@6.7.0: 1305 | version "6.7.0" 1306 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" 1307 | integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== 1308 | 1309 | random-bytes@~1.0.0: 1310 | version "1.0.0" 1311 | resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" 1312 | integrity sha1-T2ih3Arli9P7lYSMMDJNt11kNgs= 1313 | 1314 | range-parser@~1.2.1: 1315 | version "1.2.1" 1316 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 1317 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1318 | 1319 | raw-body@2.4.0: 1320 | version "2.4.0" 1321 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" 1322 | integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== 1323 | dependencies: 1324 | bytes "3.1.0" 1325 | http-errors "1.7.2" 1326 | iconv-lite "0.4.24" 1327 | unpipe "1.0.0" 1328 | 1329 | "readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0: 1330 | version "3.6.0" 1331 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 1332 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 1333 | dependencies: 1334 | inherits "^2.0.3" 1335 | string_decoder "^1.1.1" 1336 | util-deprecate "^1.0.1" 1337 | 1338 | readable-stream@^2.0.0, readable-stream@~2.3.6: 1339 | version "2.3.7" 1340 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 1341 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 1342 | dependencies: 1343 | core-util-is "~1.0.0" 1344 | inherits "~2.0.3" 1345 | isarray "~1.0.0" 1346 | process-nextick-args "~2.0.0" 1347 | safe-buffer "~5.1.1" 1348 | string_decoder "~1.1.1" 1349 | util-deprecate "~1.0.1" 1350 | 1351 | regexp.prototype.flags@^1.3.0: 1352 | version "1.3.0" 1353 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" 1354 | integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== 1355 | dependencies: 1356 | define-properties "^1.1.3" 1357 | es-abstract "^1.17.0-next.1" 1358 | 1359 | retry-request@^4.0.0: 1360 | version "4.1.1" 1361 | resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-4.1.1.tgz#f676d0db0de7a6f122c048626ce7ce12101d2bd8" 1362 | integrity sha512-BINDzVtLI2BDukjWmjAIRZ0oglnCAkpP2vQjM3jdLhmT62h0xnQgciPwBRDAvHqpkPT2Wo1XuUyLyn6nbGrZQQ== 1363 | dependencies: 1364 | debug "^4.1.1" 1365 | through2 "^3.0.1" 1366 | 1367 | rndm@1.2.0: 1368 | version "1.2.0" 1369 | resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c" 1370 | integrity sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w= 1371 | 1372 | safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1373 | version "5.1.2" 1374 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1375 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1376 | 1377 | safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@~5.2.0: 1378 | version "5.2.0" 1379 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 1380 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 1381 | 1382 | "safer-buffer@>= 2.1.2 < 3": 1383 | version "2.1.2" 1384 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1385 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1386 | 1387 | semver@^6.0.0, semver@^6.2.0: 1388 | version "6.3.0" 1389 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1390 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1391 | 1392 | send@0.17.1: 1393 | version "0.17.1" 1394 | resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" 1395 | integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== 1396 | dependencies: 1397 | debug "2.6.9" 1398 | depd "~1.1.2" 1399 | destroy "~1.0.4" 1400 | encodeurl "~1.0.2" 1401 | escape-html "~1.0.3" 1402 | etag "~1.8.1" 1403 | fresh "0.5.2" 1404 | http-errors "~1.7.2" 1405 | mime "1.6.0" 1406 | ms "2.1.1" 1407 | on-finished "~2.3.0" 1408 | range-parser "~1.2.1" 1409 | statuses "~1.5.0" 1410 | 1411 | serve-static@1.14.1: 1412 | version "1.14.1" 1413 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" 1414 | integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== 1415 | dependencies: 1416 | encodeurl "~1.0.2" 1417 | escape-html "~1.0.3" 1418 | parseurl "~1.3.3" 1419 | send "0.17.1" 1420 | 1421 | setprototypeof@1.1.1: 1422 | version "1.1.1" 1423 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 1424 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== 1425 | 1426 | side-channel@^1.0.2: 1427 | version "1.0.2" 1428 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" 1429 | integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA== 1430 | dependencies: 1431 | es-abstract "^1.17.0-next.1" 1432 | object-inspect "^1.7.0" 1433 | 1434 | signal-exit@^3.0.2: 1435 | version "3.0.3" 1436 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 1437 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1438 | 1439 | snakeize@^0.1.0: 1440 | version "0.1.0" 1441 | resolved "https://registry.yarnpkg.com/snakeize/-/snakeize-0.1.0.tgz#10c088d8b58eb076b3229bb5a04e232ce126422d" 1442 | integrity sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0= 1443 | 1444 | "statuses@>= 1.5.0 < 2", statuses@~1.5.0: 1445 | version "1.5.0" 1446 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1447 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1448 | 1449 | stream-events@^1.0.1, stream-events@^1.0.4, stream-events@^1.0.5: 1450 | version "1.0.5" 1451 | resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" 1452 | integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== 1453 | dependencies: 1454 | stubs "^3.0.0" 1455 | 1456 | stream-shift@^1.0.0: 1457 | version "1.0.1" 1458 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" 1459 | integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== 1460 | 1461 | streamsearch@0.1.2: 1462 | version "0.1.2" 1463 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" 1464 | integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= 1465 | 1466 | string.prototype.trimend@^1.0.0: 1467 | version "1.0.1" 1468 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" 1469 | integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== 1470 | dependencies: 1471 | define-properties "^1.1.3" 1472 | es-abstract "^1.17.5" 1473 | 1474 | string.prototype.trimleft@^2.1.1: 1475 | version "2.1.2" 1476 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" 1477 | integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== 1478 | dependencies: 1479 | define-properties "^1.1.3" 1480 | es-abstract "^1.17.5" 1481 | string.prototype.trimstart "^1.0.0" 1482 | 1483 | string.prototype.trimright@^2.1.1: 1484 | version "2.1.2" 1485 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" 1486 | integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== 1487 | dependencies: 1488 | define-properties "^1.1.3" 1489 | es-abstract "^1.17.5" 1490 | string.prototype.trimend "^1.0.0" 1491 | 1492 | string.prototype.trimstart@^1.0.0: 1493 | version "1.0.1" 1494 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" 1495 | integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== 1496 | dependencies: 1497 | define-properties "^1.1.3" 1498 | es-abstract "^1.17.5" 1499 | 1500 | string_decoder@^1.1.1: 1501 | version "1.3.0" 1502 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 1503 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 1504 | dependencies: 1505 | safe-buffer "~5.2.0" 1506 | 1507 | string_decoder@~1.1.1: 1508 | version "1.1.1" 1509 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1510 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1511 | dependencies: 1512 | safe-buffer "~5.1.0" 1513 | 1514 | stubs@^3.0.0: 1515 | version "3.0.0" 1516 | resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" 1517 | integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls= 1518 | 1519 | teeny-request@^6.0.0: 1520 | version "6.0.3" 1521 | resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-6.0.3.tgz#b617f9d5b7ba95c76a3f257f6ba2342b70228b1f" 1522 | integrity sha512-TZG/dfd2r6yeji19es1cUIwAlVD8y+/svB1kAC2Y0bjEyysrfbO8EZvJBRwIE6WkwmUoB7uvWLwTIhJbMXZ1Dw== 1523 | dependencies: 1524 | http-proxy-agent "^4.0.0" 1525 | https-proxy-agent "^5.0.0" 1526 | node-fetch "^2.2.0" 1527 | stream-events "^1.0.5" 1528 | uuid "^7.0.0" 1529 | 1530 | through2@^2.0.0: 1531 | version "2.0.5" 1532 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 1533 | integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== 1534 | dependencies: 1535 | readable-stream "~2.3.6" 1536 | xtend "~4.0.1" 1537 | 1538 | through2@^3.0.0, through2@^3.0.1: 1539 | version "3.0.1" 1540 | resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" 1541 | integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== 1542 | dependencies: 1543 | readable-stream "2 || 3" 1544 | 1545 | toidentifier@1.0.0: 1546 | version "1.0.0" 1547 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 1548 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== 1549 | 1550 | tslib@1.11.1: 1551 | version "1.11.1" 1552 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" 1553 | integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== 1554 | 1555 | tsscmp@1.0.6: 1556 | version "1.0.6" 1557 | resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" 1558 | integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== 1559 | 1560 | type-is@~1.6.17, type-is@~1.6.18: 1561 | version "1.6.18" 1562 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1563 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1564 | dependencies: 1565 | media-typer "0.3.0" 1566 | mime-types "~2.1.24" 1567 | 1568 | typedarray-to-buffer@^3.1.5: 1569 | version "3.1.5" 1570 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 1571 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 1572 | dependencies: 1573 | is-typedarray "^1.0.0" 1574 | 1575 | typedarray@^0.0.6: 1576 | version "0.0.6" 1577 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 1578 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 1579 | 1580 | uid-safe@2.1.5: 1581 | version "2.1.5" 1582 | resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" 1583 | integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== 1584 | dependencies: 1585 | random-bytes "~1.0.0" 1586 | 1587 | unique-string@^2.0.0: 1588 | version "2.0.0" 1589 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" 1590 | integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== 1591 | dependencies: 1592 | crypto-random-string "^2.0.0" 1593 | 1594 | unpipe@1.0.0, unpipe@~1.0.0: 1595 | version "1.0.0" 1596 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1597 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 1598 | 1599 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 1600 | version "1.0.2" 1601 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1602 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1603 | 1604 | utils-merge@1.0.1: 1605 | version "1.0.1" 1606 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1607 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= 1608 | 1609 | uuid@^7.0.0: 1610 | version "7.0.3" 1611 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" 1612 | integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== 1613 | 1614 | vary@~1.1.2: 1615 | version "1.1.2" 1616 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1617 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 1618 | 1619 | walkdir@^0.4.0: 1620 | version "0.4.1" 1621 | resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.4.1.tgz#dc119f83f4421df52e3061e514228a2db20afa39" 1622 | integrity sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ== 1623 | 1624 | websocket-driver@>=0.5.1: 1625 | version "0.7.3" 1626 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" 1627 | integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== 1628 | dependencies: 1629 | http-parser-js ">=0.4.0 <0.4.11" 1630 | safe-buffer ">=5.1.0" 1631 | websocket-extensions ">=0.1.1" 1632 | 1633 | websocket-extensions@>=0.1.1: 1634 | version "0.1.3" 1635 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" 1636 | integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== 1637 | 1638 | which-boxed-primitive@^1.0.1: 1639 | version "1.0.1" 1640 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz#cbe8f838ebe91ba2471bb69e9edbda67ab5a5ec1" 1641 | integrity sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ== 1642 | dependencies: 1643 | is-bigint "^1.0.0" 1644 | is-boolean-object "^1.0.0" 1645 | is-number-object "^1.0.3" 1646 | is-string "^1.0.4" 1647 | is-symbol "^1.0.2" 1648 | 1649 | which-collection@^1.0.1: 1650 | version "1.0.1" 1651 | resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" 1652 | integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== 1653 | dependencies: 1654 | is-map "^2.0.1" 1655 | is-set "^2.0.1" 1656 | is-weakmap "^2.0.1" 1657 | is-weakset "^2.0.1" 1658 | 1659 | which-typed-array@^1.1.1: 1660 | version "1.1.2" 1661 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2" 1662 | integrity sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ== 1663 | dependencies: 1664 | available-typed-arrays "^1.0.2" 1665 | es-abstract "^1.17.5" 1666 | foreach "^2.0.5" 1667 | function-bind "^1.1.1" 1668 | has-symbols "^1.0.1" 1669 | is-typed-array "^1.1.3" 1670 | 1671 | wrappy@1: 1672 | version "1.0.2" 1673 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1674 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1675 | 1676 | write-file-atomic@^3.0.0: 1677 | version "3.0.3" 1678 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 1679 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== 1680 | dependencies: 1681 | imurmurhash "^0.1.4" 1682 | is-typedarray "^1.0.0" 1683 | signal-exit "^3.0.2" 1684 | typedarray-to-buffer "^3.1.5" 1685 | 1686 | xdg-basedir@^4.0.0: 1687 | version "4.0.0" 1688 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" 1689 | integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== 1690 | 1691 | xtend@^4.0.1, xtend@~4.0.1: 1692 | version "4.0.2" 1693 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 1694 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1695 | 1696 | yallist@^3.0.2: 1697 | version "3.1.1" 1698 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 1699 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 1700 | --------------------------------------------------------------------------------