├── .gitignore ├── docker-compose.yml ├── package.json ├── prisma ├── migrations │ ├── 20230722122018_create_users_table │ │ └── migration.sql │ ├── 20230722122330_make_profile_image_optional │ │ └── migration.sql │ ├── 20230724045858_make_last_name_optional │ │ └── migration.sql │ └── migration_lock.toml └── schema.prisma ├── src ├── graphql │ ├── index.ts │ └── user │ │ ├── index.ts │ │ ├── mutations.ts │ │ ├── queries.ts │ │ ├── resolvers.ts │ │ └── typedef.ts ├── index.ts ├── lib │ └── db.ts └── services │ └── user.ts ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | build 94 | 95 | # Gatsby files 96 | .cache/ 97 | # Comment in the public line in if your project uses Gatsby and not Next.js 98 | # https://nextjs.org/blog/next-9-1#public-directory-support 99 | # public 100 | 101 | # vuepress build output 102 | .vuepress/dist 103 | 104 | # vuepress v2.x temp and cache directory 105 | .temp 106 | .cache 107 | 108 | # Docusaurus cache and generated files 109 | .docusaurus 110 | 111 | # Serverless directories 112 | .serverless/ 113 | 114 | # FuseBox cache 115 | .fusebox/ 116 | 117 | # DynamoDB Local files 118 | .dynamodb/ 119 | 120 | # TernJS port file 121 | .tern-port 122 | 123 | # Stores VSCode versions used for testing VSCode extensions 124 | .vscode-test 125 | 126 | # yarn v2 127 | .yarn/cache 128 | .yarn/unplugged 129 | .yarn/build-state.yml 130 | .yarn/install-state.gz 131 | .pnp.* 132 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.4" 2 | 3 | services: 4 | postgres: 5 | container_name: threads-db 6 | image: postgres 7 | ports: 8 | - 5432:5432 9 | volumes: 10 | - postgres_data:/var/lib/postgresql/data 11 | environment: 12 | POSTGRES_USER: postgres 13 | POSTGRES_DB: threads 14 | POSTGRES_PASSWORD: threads 15 | 16 | volumes: 17 | postgres_data: 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "thread-app-backend", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "scripts": { 7 | "start": "node build/index.js", 8 | "dev": "tsc-watch --onSuccess \"npm start\"" 9 | }, 10 | "devDependencies": { 11 | "@types/express": "^4.17.17", 12 | "@types/jsonwebtoken": "^9.0.2", 13 | "@types/node": "^20.4.3", 14 | "prisma": "^5.0.0", 15 | "ts-node": "^10.9.1", 16 | "tsc-watch": "^6.0.4", 17 | "typescript": "^5.1.6" 18 | }, 19 | "dependencies": { 20 | "@apollo/server": "^4.8.1", 21 | "@prisma/client": "5.0.0", 22 | "express": "^4.18.2", 23 | "graphql": "^16.7.1", 24 | "jsonwebtoken": "^9.0.1" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /prisma/migrations/20230722122018_create_users_table/migration.sql: -------------------------------------------------------------------------------- 1 | -- CreateTable 2 | CREATE TABLE "users" ( 3 | "id" TEXT NOT NULL, 4 | "first_name" TEXT NOT NULL, 5 | "last_name" TEXT NOT NULL, 6 | "profile_image_url" TEXT NOT NULL, 7 | "email" TEXT NOT NULL, 8 | "password" TEXT NOT NULL, 9 | "salt" TEXT NOT NULL, 10 | 11 | CONSTRAINT "users_pkey" PRIMARY KEY ("id") 12 | ); 13 | 14 | -- CreateIndex 15 | CREATE UNIQUE INDEX "users_email_key" ON "users"("email"); 16 | -------------------------------------------------------------------------------- /prisma/migrations/20230722122330_make_profile_image_optional/migration.sql: -------------------------------------------------------------------------------- 1 | -- AlterTable 2 | ALTER TABLE "users" ALTER COLUMN "profile_image_url" DROP NOT NULL; 3 | -------------------------------------------------------------------------------- /prisma/migrations/20230724045858_make_last_name_optional/migration.sql: -------------------------------------------------------------------------------- 1 | -- AlterTable 2 | ALTER TABLE "users" ALTER COLUMN "last_name" DROP NOT NULL; 3 | -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- 1 | # Please do not edit this file manually 2 | # It should be added in your version-control system (i.e. Git) 3 | provider = "postgresql" -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- 1 | // This is your Prisma schema file, 2 | // learn more about it in the docs: https://pris.ly/d/prisma-schema 3 | 4 | generator client { 5 | provider = "prisma-client-js" 6 | } 7 | 8 | datasource db { 9 | provider = "postgresql" 10 | url = env("DATABASE_URL") 11 | } 12 | 13 | model User { 14 | id String @id @default(uuid()) 15 | firstName String @map("first_name") 16 | lastName String? @map("last_name") 17 | profileImageURL String? @map("profile_image_url") 18 | email String @unique 19 | password String 20 | salt String 21 | 22 | @@map("users") 23 | } 24 | -------------------------------------------------------------------------------- /src/graphql/index.ts: -------------------------------------------------------------------------------- 1 | import { ApolloServer } from "@apollo/server"; 2 | import { User } from "./user"; 3 | 4 | async function createApolloGraphqlServer() { 5 | const gqlServer = new ApolloServer({ 6 | typeDefs: ` 7 | ${User.typeDefs} 8 | type Query { 9 | ${User.queries} 10 | } 11 | 12 | type Mutation { 13 | ${User.mutations} 14 | } 15 | `, 16 | resolvers: { 17 | Query: { 18 | ...User.resolvers.queries, 19 | }, 20 | Mutation: { 21 | ...User.resolvers.mutations, 22 | }, 23 | }, 24 | }); 25 | 26 | // Start the gql server 27 | await gqlServer.start(); 28 | 29 | return gqlServer; 30 | } 31 | 32 | export default createApolloGraphqlServer; 33 | -------------------------------------------------------------------------------- /src/graphql/user/index.ts: -------------------------------------------------------------------------------- 1 | import { typeDefs } from "./typedef"; 2 | import { queries } from "./queries"; 3 | import { mutations } from "./mutations"; 4 | import { resolvers } from "./resolvers"; 5 | 6 | export const User = { typeDefs, queries, mutations, resolvers }; 7 | -------------------------------------------------------------------------------- /src/graphql/user/mutations.ts: -------------------------------------------------------------------------------- 1 | export const mutations = `#graphql 2 | createUser(firstName: String!, lastName: String, email: String!, password: String!): String 3 | `; 4 | -------------------------------------------------------------------------------- /src/graphql/user/queries.ts: -------------------------------------------------------------------------------- 1 | export const queries = `#graphql 2 | getUserToken(email: String!, password: String!): String 3 | getCurrentLoggedInUser: User 4 | `; 5 | -------------------------------------------------------------------------------- /src/graphql/user/resolvers.ts: -------------------------------------------------------------------------------- 1 | import UserService, { CreateUserPayload } from "../../services/user"; 2 | 3 | const queries = { 4 | getUserToken: async ( 5 | _: any, 6 | payload: { email: string; password: string } 7 | ) => { 8 | const token = await UserService.getUserToken({ 9 | email: payload.email, 10 | password: payload.password, 11 | }); 12 | return token; 13 | }, 14 | getCurrentLoggedInUser: async (_: any, parameters: any, context: any) => { 15 | if (context && context.user) { 16 | const id = context.user.id; 17 | const user = await UserService.getUserById(id); 18 | return user; 19 | } 20 | throw new Error("I dont know who are you"); 21 | }, 22 | }; 23 | 24 | const mutations = { 25 | createUser: async (_: any, payload: CreateUserPayload) => { 26 | const res = await UserService.createUser(payload); 27 | return res.id; 28 | }, 29 | }; 30 | 31 | export const resolvers = { queries, mutations }; 32 | -------------------------------------------------------------------------------- /src/graphql/user/typedef.ts: -------------------------------------------------------------------------------- 1 | export const typeDefs = `#graphql 2 | type User { 3 | id: ID! 4 | firstName: String! 5 | lastName: String 6 | email: String! 7 | profileImageURL: String 8 | } 9 | `; 10 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import express from "express"; 2 | import { expressMiddleware } from "@apollo/server/express4"; 3 | import createApolloGraphqlServer from "./graphql"; 4 | import UserService from "./services/user"; 5 | 6 | async function init() { 7 | const app = express(); 8 | const PORT = Number(process.env.PORT) || 8000; 9 | 10 | app.use(express.json()); 11 | 12 | app.get("/", (req, res) => { 13 | res.json({ message: "Server is up and running" }); 14 | }); 15 | 16 | app.use( 17 | "/graphql", 18 | expressMiddleware(await createApolloGraphqlServer(), { 19 | context: async ({ req }) => { 20 | // @ts-ignore 21 | const token = req.headers["token"]; 22 | 23 | try { 24 | const user = UserService.decodeJWTToken(token as string); 25 | return { user }; 26 | } catch (error) { 27 | return {}; 28 | } 29 | }, 30 | }) 31 | ); 32 | 33 | app.listen(PORT, () => console.log(`Server started at PORT:${PORT}`)); 34 | } 35 | 36 | init(); 37 | -------------------------------------------------------------------------------- /src/lib/db.ts: -------------------------------------------------------------------------------- 1 | import { PrismaClient } from "@prisma/client"; 2 | 3 | export const prismaClient = new PrismaClient(); 4 | -------------------------------------------------------------------------------- /src/services/user.ts: -------------------------------------------------------------------------------- 1 | import { createHmac, randomBytes } from "node:crypto"; 2 | import JWT from "jsonwebtoken"; 3 | import { prismaClient } from "../lib/db"; 4 | 5 | const JWT_SECRET = "$uperM@n@123"; 6 | 7 | export interface CreateUserPayload { 8 | firstName: string; 9 | lastName?: string; 10 | email: string; 11 | password: string; 12 | } 13 | 14 | export interface GetUserTokenPayload { 15 | email: string; 16 | password: string; 17 | } 18 | 19 | class UserService { 20 | private static generateHash(salt: string, password: string) { 21 | const hashedPassword = createHmac("sha256", salt) 22 | .update(password) 23 | .digest("hex"); 24 | return hashedPassword; 25 | } 26 | 27 | public static getUserById(id: string) { 28 | return prismaClient.user.findUnique({ where: { id } }); 29 | } 30 | 31 | public static createUser(payload: CreateUserPayload) { 32 | const { firstName, lastName, email, password } = payload; 33 | 34 | const salt = randomBytes(32).toString("hex"); 35 | const hashedPassword = UserService.generateHash(salt, password); 36 | 37 | return prismaClient.user.create({ 38 | data: { 39 | firstName, 40 | lastName, 41 | email, 42 | salt, 43 | password: hashedPassword, 44 | }, 45 | }); 46 | } 47 | 48 | private static getUserByEmail(email: string) { 49 | return prismaClient.user.findUnique({ where: { email } }); 50 | } 51 | 52 | public static async getUserToken(payload: GetUserTokenPayload) { 53 | const { email, password } = payload; 54 | const user = await UserService.getUserByEmail(email); 55 | if (!user) throw new Error("user not found"); 56 | 57 | const userSalt = user.salt; 58 | const usersHashPassword = UserService.generateHash(userSalt, password); 59 | 60 | if (usersHashPassword !== user.password) 61 | throw new Error("Incorrect Password"); 62 | 63 | // Gen Token 64 | const token = JWT.sign({ id: user.id, email: user.email }, JWT_SECRET); 65 | return token; 66 | } 67 | 68 | public static decodeJWTToken(token: string) { 69 | return JWT.verify(token, JWT_SECRET); 70 | } 71 | } 72 | 73 | export default UserService; 74 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2016" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 | 27 | /* Modules */ 28 | "module": "commonjs" /* Specify what module code is generated. */, 29 | "rootDir": "./src" /* Specify the root folder within your source files. */, 30 | // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 | // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ 39 | // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ 40 | // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ 41 | // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ 42 | // "resolveJsonModule": true, /* Enable importing .json files. */ 43 | // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ 44 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 45 | 46 | /* JavaScript Support */ 47 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 48 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 49 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 50 | 51 | /* Emit */ 52 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 53 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 54 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 55 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 56 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 57 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 58 | "outDir": "./build" /* Specify an output folder for all emitted files. */, 59 | // "removeComments": true, /* Disable emitting comments. */ 60 | // "noEmit": true, /* Disable emitting files from a compilation. */ 61 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 62 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 63 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 64 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 65 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 66 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 67 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 68 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 69 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 70 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 71 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 72 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 73 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 74 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 75 | 76 | /* Interop Constraints */ 77 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 78 | // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ 79 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 80 | "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, 81 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 82 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, 83 | 84 | /* Type Checking */ 85 | "strict": true /* Enable all strict type-checking options. */, 86 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 87 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 88 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 89 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 90 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 91 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 92 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 93 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 94 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 95 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 96 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 97 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 98 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 99 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 100 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 101 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 102 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 103 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 104 | 105 | /* Completeness */ 106 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 107 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@apollo/cache-control-types@^1.0.3": 6 | version "1.0.3" 7 | resolved "https://registry.yarnpkg.com/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz#5da62cf64c3b4419dabfef4536b57a40c8ff0b47" 8 | integrity sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g== 9 | 10 | "@apollo/protobufjs@1.2.7": 11 | version "1.2.7" 12 | resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.7.tgz#3a8675512817e4a046a897e5f4f16415f16a7d8a" 13 | integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== 14 | dependencies: 15 | "@protobufjs/aspromise" "^1.1.2" 16 | "@protobufjs/base64" "^1.1.2" 17 | "@protobufjs/codegen" "^2.0.4" 18 | "@protobufjs/eventemitter" "^1.1.0" 19 | "@protobufjs/fetch" "^1.1.0" 20 | "@protobufjs/float" "^1.0.2" 21 | "@protobufjs/inquire" "^1.1.0" 22 | "@protobufjs/path" "^1.1.2" 23 | "@protobufjs/pool" "^1.1.0" 24 | "@protobufjs/utf8" "^1.1.0" 25 | "@types/long" "^4.0.0" 26 | long "^4.0.0" 27 | 28 | "@apollo/server-gateway-interface@^1.1.1": 29 | version "1.1.1" 30 | resolved "https://registry.yarnpkg.com/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz#a79632aa921edefcd532589943f6b97c96fa4d3c" 31 | integrity sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ== 32 | dependencies: 33 | "@apollo/usage-reporting-protobuf" "^4.1.1" 34 | "@apollo/utils.fetcher" "^2.0.0" 35 | "@apollo/utils.keyvaluecache" "^2.1.0" 36 | "@apollo/utils.logger" "^2.0.0" 37 | 38 | "@apollo/server@^4.8.1": 39 | version "4.8.1" 40 | resolved "https://registry.yarnpkg.com/@apollo/server/-/server-4.8.1.tgz#20f6327bb8efec1e0df25963a953cb72c0749253" 41 | integrity sha512-gHDYfWXNdo8B6z4z7qs4KLscX7HCFtpG6k744H+y+8IixjNzyGPcSlR+e0CZr42tRjPfi5z0UtHRr6dpTSh+5A== 42 | dependencies: 43 | "@apollo/cache-control-types" "^1.0.3" 44 | "@apollo/server-gateway-interface" "^1.1.1" 45 | "@apollo/usage-reporting-protobuf" "^4.1.1" 46 | "@apollo/utils.createhash" "^2.0.0" 47 | "@apollo/utils.fetcher" "^2.0.0" 48 | "@apollo/utils.isnodelike" "^2.0.0" 49 | "@apollo/utils.keyvaluecache" "^2.1.0" 50 | "@apollo/utils.logger" "^2.0.0" 51 | "@apollo/utils.usagereporting" "^2.1.0" 52 | "@apollo/utils.withrequired" "^2.0.0" 53 | "@graphql-tools/schema" "^9.0.0" 54 | "@josephg/resolvable" "^1.0.0" 55 | "@types/express" "^4.17.13" 56 | "@types/express-serve-static-core" "^4.17.30" 57 | "@types/node-fetch" "^2.6.1" 58 | async-retry "^1.2.1" 59 | body-parser "^1.20.0" 60 | cors "^2.8.5" 61 | express "^4.17.1" 62 | loglevel "^1.6.8" 63 | lru-cache "^7.10.1" 64 | negotiator "^0.6.3" 65 | node-abort-controller "^3.1.1" 66 | node-fetch "^2.6.7" 67 | uuid "^9.0.0" 68 | whatwg-mimetype "^3.0.0" 69 | 70 | "@apollo/usage-reporting-protobuf@^4.1.0", "@apollo/usage-reporting-protobuf@^4.1.1": 71 | version "4.1.1" 72 | resolved "https://registry.yarnpkg.com/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz#407c3d18c7fbed7a264f3b9a3812620b93499de1" 73 | integrity sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA== 74 | dependencies: 75 | "@apollo/protobufjs" "1.2.7" 76 | 77 | "@apollo/utils.createhash@^2.0.0": 78 | version "2.0.1" 79 | resolved "https://registry.yarnpkg.com/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz#9d982a166833ce08265ff70f8ef781d65109bdaa" 80 | integrity sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg== 81 | dependencies: 82 | "@apollo/utils.isnodelike" "^2.0.1" 83 | sha.js "^2.4.11" 84 | 85 | "@apollo/utils.dropunuseddefinitions@^2.0.1": 86 | version "2.0.1" 87 | resolved "https://registry.yarnpkg.com/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz#916cd912cbd88769d3b0eab2d24f4674eeda8124" 88 | integrity sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA== 89 | 90 | "@apollo/utils.fetcher@^2.0.0": 91 | version "2.0.1" 92 | resolved "https://registry.yarnpkg.com/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz#2f6e3edc8ce79fbe916110d9baaddad7e13d955f" 93 | integrity sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A== 94 | 95 | "@apollo/utils.isnodelike@^2.0.0", "@apollo/utils.isnodelike@^2.0.1": 96 | version "2.0.1" 97 | resolved "https://registry.yarnpkg.com/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz#08a7e50f08d2031122efa25af089d1c6ee609f31" 98 | integrity sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q== 99 | 100 | "@apollo/utils.keyvaluecache@^2.1.0": 101 | version "2.1.1" 102 | resolved "https://registry.yarnpkg.com/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz#f3f79a2f00520c6ab7a77a680a4e1fec4d19e1a6" 103 | integrity sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw== 104 | dependencies: 105 | "@apollo/utils.logger" "^2.0.1" 106 | lru-cache "^7.14.1" 107 | 108 | "@apollo/utils.logger@^2.0.0", "@apollo/utils.logger@^2.0.1": 109 | version "2.0.1" 110 | resolved "https://registry.yarnpkg.com/@apollo/utils.logger/-/utils.logger-2.0.1.tgz#74faeb97d7ad9f22282dfb465bcb2e6873b8a625" 111 | integrity sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg== 112 | 113 | "@apollo/utils.printwithreducedwhitespace@^2.0.1": 114 | version "2.0.1" 115 | resolved "https://registry.yarnpkg.com/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz#f4fadea0ae849af2c19c339cc5420d1ddfaa905e" 116 | integrity sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg== 117 | 118 | "@apollo/utils.removealiases@2.0.1": 119 | version "2.0.1" 120 | resolved "https://registry.yarnpkg.com/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz#2873c93d72d086c60fc0d77e23d0f75e66a2598f" 121 | integrity sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA== 122 | 123 | "@apollo/utils.sortast@^2.0.1": 124 | version "2.0.1" 125 | resolved "https://registry.yarnpkg.com/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz#58c90bb8bd24726346b61fa51ba7fcf06e922ef7" 126 | integrity sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw== 127 | dependencies: 128 | lodash.sortby "^4.7.0" 129 | 130 | "@apollo/utils.stripsensitiveliterals@^2.0.1": 131 | version "2.0.1" 132 | resolved "https://registry.yarnpkg.com/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz#2f3350483be376a98229f90185eaf19888323132" 133 | integrity sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA== 134 | 135 | "@apollo/utils.usagereporting@^2.1.0": 136 | version "2.1.0" 137 | resolved "https://registry.yarnpkg.com/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz#11bca6a61fcbc6e6d812004503b38916e74313f4" 138 | integrity sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ== 139 | dependencies: 140 | "@apollo/usage-reporting-protobuf" "^4.1.0" 141 | "@apollo/utils.dropunuseddefinitions" "^2.0.1" 142 | "@apollo/utils.printwithreducedwhitespace" "^2.0.1" 143 | "@apollo/utils.removealiases" "2.0.1" 144 | "@apollo/utils.sortast" "^2.0.1" 145 | "@apollo/utils.stripsensitiveliterals" "^2.0.1" 146 | 147 | "@apollo/utils.withrequired@^2.0.0": 148 | version "2.0.1" 149 | resolved "https://registry.yarnpkg.com/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz#e72bc512582a6f26af150439f7eb7473b46ba874" 150 | integrity sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA== 151 | 152 | "@cspotcode/source-map-support@^0.8.0": 153 | version "0.8.1" 154 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" 155 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== 156 | dependencies: 157 | "@jridgewell/trace-mapping" "0.3.9" 158 | 159 | "@graphql-tools/merge@^8.4.1": 160 | version "8.4.2" 161 | resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.2.tgz#95778bbe26b635e8d2f60ce9856b388f11fe8288" 162 | integrity sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw== 163 | dependencies: 164 | "@graphql-tools/utils" "^9.2.1" 165 | tslib "^2.4.0" 166 | 167 | "@graphql-tools/schema@^9.0.0": 168 | version "9.0.19" 169 | resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.19.tgz#c4ad373b5e1b8a0cf365163435b7d236ebdd06e7" 170 | integrity sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w== 171 | dependencies: 172 | "@graphql-tools/merge" "^8.4.1" 173 | "@graphql-tools/utils" "^9.2.1" 174 | tslib "^2.4.0" 175 | value-or-promise "^1.0.12" 176 | 177 | "@graphql-tools/utils@^9.2.1": 178 | version "9.2.1" 179 | resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" 180 | integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== 181 | dependencies: 182 | "@graphql-typed-document-node/core" "^3.1.1" 183 | tslib "^2.4.0" 184 | 185 | "@graphql-typed-document-node/core@^3.1.1": 186 | version "3.2.0" 187 | resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" 188 | integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== 189 | 190 | "@josephg/resolvable@^1.0.0": 191 | version "1.0.1" 192 | resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb" 193 | integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== 194 | 195 | "@jridgewell/resolve-uri@^3.0.3": 196 | version "3.1.1" 197 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" 198 | integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== 199 | 200 | "@jridgewell/sourcemap-codec@^1.4.10": 201 | version "1.4.15" 202 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 203 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 204 | 205 | "@jridgewell/trace-mapping@0.3.9": 206 | version "0.3.9" 207 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" 208 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== 209 | dependencies: 210 | "@jridgewell/resolve-uri" "^3.0.3" 211 | "@jridgewell/sourcemap-codec" "^1.4.10" 212 | 213 | "@prisma/client@5.0.0": 214 | version "5.0.0" 215 | resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.0.0.tgz#9f0cd4164f4ffddb28bb1811c27eb7fa1e01a087" 216 | integrity sha512-XlO5ELNAQ7rV4cXIDJUNBEgdLwX3pjtt9Q/RHqDpGf43szpNJx2hJnggfFs7TKNx0cOFsl6KJCSfqr5duEU/bQ== 217 | dependencies: 218 | "@prisma/engines-version" "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584" 219 | 220 | "@prisma/engines-version@4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584": 221 | version "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584" 222 | resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584.tgz#b36eda5620872d3fac810c302a7e46cf41daa033" 223 | integrity sha512-HHiUF6NixsldsP3JROq07TYBLEjXFKr6PdH8H4gK/XAoTmIplOJBCgrIUMrsRAnEuGyRoRLXKXWUb943+PFoKQ== 224 | 225 | "@prisma/engines@5.0.0": 226 | version "5.0.0" 227 | resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.0.0.tgz#5249650eabe77c458c90f2be97d8210353c2e22e" 228 | integrity sha512-kyT/8fd0OpWmhAU5YnY7eP31brW1q1YrTGoblWrhQJDiN/1K+Z8S1kylcmtjqx5wsUGcP1HBWutayA/jtyt+sg== 229 | 230 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": 231 | version "1.1.2" 232 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" 233 | integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== 234 | 235 | "@protobufjs/base64@^1.1.2": 236 | version "1.1.2" 237 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" 238 | integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== 239 | 240 | "@protobufjs/codegen@^2.0.4": 241 | version "2.0.4" 242 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" 243 | integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== 244 | 245 | "@protobufjs/eventemitter@^1.1.0": 246 | version "1.1.0" 247 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" 248 | integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== 249 | 250 | "@protobufjs/fetch@^1.1.0": 251 | version "1.1.0" 252 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" 253 | integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== 254 | dependencies: 255 | "@protobufjs/aspromise" "^1.1.1" 256 | "@protobufjs/inquire" "^1.1.0" 257 | 258 | "@protobufjs/float@^1.0.2": 259 | version "1.0.2" 260 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" 261 | integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== 262 | 263 | "@protobufjs/inquire@^1.1.0": 264 | version "1.1.0" 265 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" 266 | integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== 267 | 268 | "@protobufjs/path@^1.1.2": 269 | version "1.1.2" 270 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" 271 | integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== 272 | 273 | "@protobufjs/pool@^1.1.0": 274 | version "1.1.0" 275 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" 276 | integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== 277 | 278 | "@protobufjs/utf8@^1.1.0": 279 | version "1.1.0" 280 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" 281 | integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== 282 | 283 | "@tsconfig/node10@^1.0.7": 284 | version "1.0.9" 285 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" 286 | integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== 287 | 288 | "@tsconfig/node12@^1.0.7": 289 | version "1.0.11" 290 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" 291 | integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== 292 | 293 | "@tsconfig/node14@^1.0.0": 294 | version "1.0.3" 295 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" 296 | integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== 297 | 298 | "@tsconfig/node16@^1.0.2": 299 | version "1.0.4" 300 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" 301 | integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== 302 | 303 | "@types/body-parser@*": 304 | version "1.19.2" 305 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" 306 | integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== 307 | dependencies: 308 | "@types/connect" "*" 309 | "@types/node" "*" 310 | 311 | "@types/connect@*": 312 | version "3.4.35" 313 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" 314 | integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== 315 | dependencies: 316 | "@types/node" "*" 317 | 318 | "@types/express-serve-static-core@^4.17.30", "@types/express-serve-static-core@^4.17.33": 319 | version "4.17.35" 320 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz#c95dd4424f0d32e525d23812aa8ab8e4d3906c4f" 321 | integrity sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg== 322 | dependencies: 323 | "@types/node" "*" 324 | "@types/qs" "*" 325 | "@types/range-parser" "*" 326 | "@types/send" "*" 327 | 328 | "@types/express@^4.17.13", "@types/express@^4.17.17": 329 | version "4.17.17" 330 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" 331 | integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== 332 | dependencies: 333 | "@types/body-parser" "*" 334 | "@types/express-serve-static-core" "^4.17.33" 335 | "@types/qs" "*" 336 | "@types/serve-static" "*" 337 | 338 | "@types/http-errors@*": 339 | version "2.0.1" 340 | resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.1.tgz#20172f9578b225f6c7da63446f56d4ce108d5a65" 341 | integrity sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ== 342 | 343 | "@types/jsonwebtoken@^9.0.2": 344 | version "9.0.2" 345 | resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#9eeb56c76dd555039be2a3972218de5bd3b8d83e" 346 | integrity sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q== 347 | dependencies: 348 | "@types/node" "*" 349 | 350 | "@types/long@^4.0.0": 351 | version "4.0.2" 352 | resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" 353 | integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== 354 | 355 | "@types/mime@*": 356 | version "3.0.1" 357 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" 358 | integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== 359 | 360 | "@types/mime@^1": 361 | version "1.3.2" 362 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" 363 | integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== 364 | 365 | "@types/node-fetch@^2.6.1": 366 | version "2.6.4" 367 | resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.4.tgz#1bc3a26de814f6bf466b25aeb1473fa1afe6a660" 368 | integrity sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg== 369 | dependencies: 370 | "@types/node" "*" 371 | form-data "^3.0.0" 372 | 373 | "@types/node@*", "@types/node@^20.4.3": 374 | version "20.4.3" 375 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.3.tgz#ca83a5a006e0d5709a3fe8966112f26436071d81" 376 | integrity sha512-Yu3+r4Mn/iY6Mf0aihncZQ1qOjOUrCiodbHHY1hds5O+7BbKp9t+Li7zLO13zO8j9L2C6euz8xsYQP0rjGvVXw== 377 | 378 | "@types/qs@*": 379 | version "6.9.7" 380 | resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" 381 | integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== 382 | 383 | "@types/range-parser@*": 384 | version "1.2.4" 385 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" 386 | integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== 387 | 388 | "@types/send@*": 389 | version "0.17.1" 390 | resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301" 391 | integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== 392 | dependencies: 393 | "@types/mime" "^1" 394 | "@types/node" "*" 395 | 396 | "@types/serve-static@*": 397 | version "1.15.2" 398 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.2.tgz#3e5419ecd1e40e7405d34093f10befb43f63381a" 399 | integrity sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw== 400 | dependencies: 401 | "@types/http-errors" "*" 402 | "@types/mime" "*" 403 | "@types/node" "*" 404 | 405 | accepts@~1.3.8: 406 | version "1.3.8" 407 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" 408 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 409 | dependencies: 410 | mime-types "~2.1.34" 411 | negotiator "0.6.3" 412 | 413 | acorn-walk@^8.1.1: 414 | version "8.2.0" 415 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" 416 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 417 | 418 | acorn@^8.4.1: 419 | version "8.10.0" 420 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" 421 | integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== 422 | 423 | arg@^4.1.0: 424 | version "4.1.3" 425 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 426 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 427 | 428 | array-flatten@1.1.1: 429 | version "1.1.1" 430 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 431 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== 432 | 433 | async-retry@^1.2.1: 434 | version "1.3.3" 435 | resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" 436 | integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== 437 | dependencies: 438 | retry "0.13.1" 439 | 440 | asynckit@^0.4.0: 441 | version "0.4.0" 442 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 443 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 444 | 445 | body-parser@1.20.1: 446 | version "1.20.1" 447 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" 448 | integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== 449 | dependencies: 450 | bytes "3.1.2" 451 | content-type "~1.0.4" 452 | debug "2.6.9" 453 | depd "2.0.0" 454 | destroy "1.2.0" 455 | http-errors "2.0.0" 456 | iconv-lite "0.4.24" 457 | on-finished "2.4.1" 458 | qs "6.11.0" 459 | raw-body "2.5.1" 460 | type-is "~1.6.18" 461 | unpipe "1.0.0" 462 | 463 | body-parser@^1.20.0: 464 | version "1.20.2" 465 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" 466 | integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== 467 | dependencies: 468 | bytes "3.1.2" 469 | content-type "~1.0.5" 470 | debug "2.6.9" 471 | depd "2.0.0" 472 | destroy "1.2.0" 473 | http-errors "2.0.0" 474 | iconv-lite "0.4.24" 475 | on-finished "2.4.1" 476 | qs "6.11.0" 477 | raw-body "2.5.2" 478 | type-is "~1.6.18" 479 | unpipe "1.0.0" 480 | 481 | buffer-equal-constant-time@1.0.1: 482 | version "1.0.1" 483 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 484 | integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== 485 | 486 | bytes@3.1.2: 487 | version "3.1.2" 488 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 489 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 490 | 491 | call-bind@^1.0.0: 492 | version "1.0.2" 493 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 494 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 495 | dependencies: 496 | function-bind "^1.1.1" 497 | get-intrinsic "^1.0.2" 498 | 499 | combined-stream@^1.0.8: 500 | version "1.0.8" 501 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 502 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 503 | dependencies: 504 | delayed-stream "~1.0.0" 505 | 506 | content-disposition@0.5.4: 507 | version "0.5.4" 508 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" 509 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== 510 | dependencies: 511 | safe-buffer "5.2.1" 512 | 513 | content-type@~1.0.4, content-type@~1.0.5: 514 | version "1.0.5" 515 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" 516 | integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== 517 | 518 | cookie-signature@1.0.6: 519 | version "1.0.6" 520 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 521 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== 522 | 523 | cookie@0.5.0: 524 | version "0.5.0" 525 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" 526 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== 527 | 528 | cors@^2.8.5: 529 | version "2.8.5" 530 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" 531 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== 532 | dependencies: 533 | object-assign "^4" 534 | vary "^1" 535 | 536 | create-require@^1.1.0: 537 | version "1.1.1" 538 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 539 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 540 | 541 | cross-spawn@^7.0.3: 542 | version "7.0.3" 543 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 544 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 545 | dependencies: 546 | path-key "^3.1.0" 547 | shebang-command "^2.0.0" 548 | which "^2.0.1" 549 | 550 | debug@2.6.9: 551 | version "2.6.9" 552 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 553 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 554 | dependencies: 555 | ms "2.0.0" 556 | 557 | delayed-stream@~1.0.0: 558 | version "1.0.0" 559 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 560 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 561 | 562 | depd@2.0.0: 563 | version "2.0.0" 564 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 565 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 566 | 567 | destroy@1.2.0: 568 | version "1.2.0" 569 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" 570 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 571 | 572 | diff@^4.0.1: 573 | version "4.0.2" 574 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 575 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 576 | 577 | duplexer@~0.1.1: 578 | version "0.1.2" 579 | resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" 580 | integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== 581 | 582 | ecdsa-sig-formatter@1.0.11: 583 | version "1.0.11" 584 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" 585 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== 586 | dependencies: 587 | safe-buffer "^5.0.1" 588 | 589 | ee-first@1.1.1: 590 | version "1.1.1" 591 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 592 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 593 | 594 | encodeurl@~1.0.2: 595 | version "1.0.2" 596 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 597 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 598 | 599 | escape-html@~1.0.3: 600 | version "1.0.3" 601 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 602 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 603 | 604 | etag@~1.8.1: 605 | version "1.8.1" 606 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 607 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 608 | 609 | event-stream@=3.3.4: 610 | version "3.3.4" 611 | resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" 612 | integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g== 613 | dependencies: 614 | duplexer "~0.1.1" 615 | from "~0" 616 | map-stream "~0.1.0" 617 | pause-stream "0.0.11" 618 | split "0.3" 619 | stream-combiner "~0.0.4" 620 | through "~2.3.1" 621 | 622 | express@^4.17.1, express@^4.18.2: 623 | version "4.18.2" 624 | resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" 625 | integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== 626 | dependencies: 627 | accepts "~1.3.8" 628 | array-flatten "1.1.1" 629 | body-parser "1.20.1" 630 | content-disposition "0.5.4" 631 | content-type "~1.0.4" 632 | cookie "0.5.0" 633 | cookie-signature "1.0.6" 634 | debug "2.6.9" 635 | depd "2.0.0" 636 | encodeurl "~1.0.2" 637 | escape-html "~1.0.3" 638 | etag "~1.8.1" 639 | finalhandler "1.2.0" 640 | fresh "0.5.2" 641 | http-errors "2.0.0" 642 | merge-descriptors "1.0.1" 643 | methods "~1.1.2" 644 | on-finished "2.4.1" 645 | parseurl "~1.3.3" 646 | path-to-regexp "0.1.7" 647 | proxy-addr "~2.0.7" 648 | qs "6.11.0" 649 | range-parser "~1.2.1" 650 | safe-buffer "5.2.1" 651 | send "0.18.0" 652 | serve-static "1.15.0" 653 | setprototypeof "1.2.0" 654 | statuses "2.0.1" 655 | type-is "~1.6.18" 656 | utils-merge "1.0.1" 657 | vary "~1.1.2" 658 | 659 | finalhandler@1.2.0: 660 | version "1.2.0" 661 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" 662 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== 663 | dependencies: 664 | debug "2.6.9" 665 | encodeurl "~1.0.2" 666 | escape-html "~1.0.3" 667 | on-finished "2.4.1" 668 | parseurl "~1.3.3" 669 | statuses "2.0.1" 670 | unpipe "~1.0.0" 671 | 672 | form-data@^3.0.0: 673 | version "3.0.1" 674 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" 675 | integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== 676 | dependencies: 677 | asynckit "^0.4.0" 678 | combined-stream "^1.0.8" 679 | mime-types "^2.1.12" 680 | 681 | forwarded@0.2.0: 682 | version "0.2.0" 683 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 684 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 685 | 686 | fresh@0.5.2: 687 | version "0.5.2" 688 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 689 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 690 | 691 | from@~0: 692 | version "0.1.7" 693 | resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" 694 | integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g== 695 | 696 | function-bind@^1.1.1: 697 | version "1.1.1" 698 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 699 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 700 | 701 | get-intrinsic@^1.0.2: 702 | version "1.2.1" 703 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" 704 | integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== 705 | dependencies: 706 | function-bind "^1.1.1" 707 | has "^1.0.3" 708 | has-proto "^1.0.1" 709 | has-symbols "^1.0.3" 710 | 711 | graphql@^16.7.1: 712 | version "16.7.1" 713 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.7.1.tgz#11475b74a7bff2aefd4691df52a0eca0abd9b642" 714 | integrity sha512-DRYR9tf+UGU0KOsMcKAlXeFfX89UiiIZ0dRU3mR0yJfu6OjZqUcp68NnFLnqQU5RexygFoDy1EW+ccOYcPfmHg== 715 | 716 | has-proto@^1.0.1: 717 | version "1.0.1" 718 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" 719 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== 720 | 721 | has-symbols@^1.0.3: 722 | version "1.0.3" 723 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 724 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 725 | 726 | has@^1.0.3: 727 | version "1.0.3" 728 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 729 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 730 | dependencies: 731 | function-bind "^1.1.1" 732 | 733 | http-errors@2.0.0: 734 | version "2.0.0" 735 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" 736 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 737 | dependencies: 738 | depd "2.0.0" 739 | inherits "2.0.4" 740 | setprototypeof "1.2.0" 741 | statuses "2.0.1" 742 | toidentifier "1.0.1" 743 | 744 | iconv-lite@0.4.24: 745 | version "0.4.24" 746 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 747 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 748 | dependencies: 749 | safer-buffer ">= 2.1.2 < 3" 750 | 751 | inherits@2.0.4, inherits@^2.0.1: 752 | version "2.0.4" 753 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 754 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 755 | 756 | ipaddr.js@1.9.1: 757 | version "1.9.1" 758 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 759 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 760 | 761 | isexe@^2.0.0: 762 | version "2.0.0" 763 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 764 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 765 | 766 | jsonwebtoken@^9.0.1: 767 | version "9.0.1" 768 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz#81d8c901c112c24e497a55daf6b2be1225b40145" 769 | integrity sha512-K8wx7eJ5TPvEjuiVSkv167EVboBDv9PZdDoF7BgeQnBLVvZWW9clr2PsQHVJDTKaEIH5JBIwHujGcHp7GgI2eg== 770 | dependencies: 771 | jws "^3.2.2" 772 | lodash "^4.17.21" 773 | ms "^2.1.1" 774 | semver "^7.3.8" 775 | 776 | jwa@^1.4.1: 777 | version "1.4.1" 778 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" 779 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== 780 | dependencies: 781 | buffer-equal-constant-time "1.0.1" 782 | ecdsa-sig-formatter "1.0.11" 783 | safe-buffer "^5.0.1" 784 | 785 | jws@^3.2.2: 786 | version "3.2.2" 787 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" 788 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== 789 | dependencies: 790 | jwa "^1.4.1" 791 | safe-buffer "^5.0.1" 792 | 793 | lodash.sortby@^4.7.0: 794 | version "4.7.0" 795 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 796 | integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== 797 | 798 | lodash@^4.17.21: 799 | version "4.17.21" 800 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 801 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 802 | 803 | loglevel@^1.6.8: 804 | version "1.8.1" 805 | resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" 806 | integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== 807 | 808 | long@^4.0.0: 809 | version "4.0.0" 810 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" 811 | integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== 812 | 813 | lru-cache@^6.0.0: 814 | version "6.0.0" 815 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 816 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 817 | dependencies: 818 | yallist "^4.0.0" 819 | 820 | lru-cache@^7.10.1, lru-cache@^7.14.1: 821 | version "7.18.3" 822 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" 823 | integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== 824 | 825 | make-error@^1.1.1: 826 | version "1.3.6" 827 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 828 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 829 | 830 | map-stream@~0.1.0: 831 | version "0.1.0" 832 | resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" 833 | integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g== 834 | 835 | media-typer@0.3.0: 836 | version "0.3.0" 837 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 838 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== 839 | 840 | merge-descriptors@1.0.1: 841 | version "1.0.1" 842 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 843 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== 844 | 845 | methods@~1.1.2: 846 | version "1.1.2" 847 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 848 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== 849 | 850 | mime-db@1.52.0: 851 | version "1.52.0" 852 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 853 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 854 | 855 | mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: 856 | version "2.1.35" 857 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 858 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 859 | dependencies: 860 | mime-db "1.52.0" 861 | 862 | mime@1.6.0: 863 | version "1.6.0" 864 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 865 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 866 | 867 | ms@2.0.0: 868 | version "2.0.0" 869 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 870 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 871 | 872 | ms@2.1.3, ms@^2.1.1: 873 | version "2.1.3" 874 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 875 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 876 | 877 | negotiator@0.6.3, negotiator@^0.6.3: 878 | version "0.6.3" 879 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 880 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 881 | 882 | node-abort-controller@^3.1.1: 883 | version "3.1.1" 884 | resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" 885 | integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== 886 | 887 | node-cleanup@^2.1.2: 888 | version "2.1.2" 889 | resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c" 890 | integrity sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw== 891 | 892 | node-fetch@^2.6.7: 893 | version "2.6.12" 894 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" 895 | integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== 896 | dependencies: 897 | whatwg-url "^5.0.0" 898 | 899 | object-assign@^4: 900 | version "4.1.1" 901 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 902 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 903 | 904 | object-inspect@^1.9.0: 905 | version "1.12.3" 906 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" 907 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== 908 | 909 | on-finished@2.4.1: 910 | version "2.4.1" 911 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" 912 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 913 | dependencies: 914 | ee-first "1.1.1" 915 | 916 | parseurl@~1.3.3: 917 | version "1.3.3" 918 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 919 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 920 | 921 | path-key@^3.1.0: 922 | version "3.1.1" 923 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 924 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 925 | 926 | path-to-regexp@0.1.7: 927 | version "0.1.7" 928 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 929 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== 930 | 931 | pause-stream@0.0.11: 932 | version "0.0.11" 933 | resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" 934 | integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== 935 | dependencies: 936 | through "~2.3" 937 | 938 | prisma@^5.0.0: 939 | version "5.0.0" 940 | resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.0.0.tgz#f6571c46dc2478172cb7bc1bb62d74026a2c2630" 941 | integrity sha512-KYWk83Fhi1FH59jSpavAYTt2eoMVW9YKgu8ci0kuUnt6Dup5Qy47pcB4/TLmiPAbhGrxxSz7gsSnJcCmkyPANA== 942 | dependencies: 943 | "@prisma/engines" "5.0.0" 944 | 945 | proxy-addr@~2.0.7: 946 | version "2.0.7" 947 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" 948 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 949 | dependencies: 950 | forwarded "0.2.0" 951 | ipaddr.js "1.9.1" 952 | 953 | ps-tree@^1.2.0: 954 | version "1.2.0" 955 | resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd" 956 | integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA== 957 | dependencies: 958 | event-stream "=3.3.4" 959 | 960 | qs@6.11.0: 961 | version "6.11.0" 962 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" 963 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== 964 | dependencies: 965 | side-channel "^1.0.4" 966 | 967 | range-parser@~1.2.1: 968 | version "1.2.1" 969 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 970 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 971 | 972 | raw-body@2.5.1: 973 | version "2.5.1" 974 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" 975 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== 976 | dependencies: 977 | bytes "3.1.2" 978 | http-errors "2.0.0" 979 | iconv-lite "0.4.24" 980 | unpipe "1.0.0" 981 | 982 | raw-body@2.5.2: 983 | version "2.5.2" 984 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" 985 | integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== 986 | dependencies: 987 | bytes "3.1.2" 988 | http-errors "2.0.0" 989 | iconv-lite "0.4.24" 990 | unpipe "1.0.0" 991 | 992 | retry@0.13.1: 993 | version "0.13.1" 994 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" 995 | integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== 996 | 997 | safe-buffer@5.2.1, safe-buffer@^5.0.1: 998 | version "5.2.1" 999 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1000 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1001 | 1002 | "safer-buffer@>= 2.1.2 < 3": 1003 | version "2.1.2" 1004 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1005 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1006 | 1007 | semver@^7.3.8: 1008 | version "7.5.4" 1009 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" 1010 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== 1011 | dependencies: 1012 | lru-cache "^6.0.0" 1013 | 1014 | send@0.18.0: 1015 | version "0.18.0" 1016 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" 1017 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== 1018 | dependencies: 1019 | debug "2.6.9" 1020 | depd "2.0.0" 1021 | destroy "1.2.0" 1022 | encodeurl "~1.0.2" 1023 | escape-html "~1.0.3" 1024 | etag "~1.8.1" 1025 | fresh "0.5.2" 1026 | http-errors "2.0.0" 1027 | mime "1.6.0" 1028 | ms "2.1.3" 1029 | on-finished "2.4.1" 1030 | range-parser "~1.2.1" 1031 | statuses "2.0.1" 1032 | 1033 | serve-static@1.15.0: 1034 | version "1.15.0" 1035 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" 1036 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== 1037 | dependencies: 1038 | encodeurl "~1.0.2" 1039 | escape-html "~1.0.3" 1040 | parseurl "~1.3.3" 1041 | send "0.18.0" 1042 | 1043 | setprototypeof@1.2.0: 1044 | version "1.2.0" 1045 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 1046 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1047 | 1048 | sha.js@^2.4.11: 1049 | version "2.4.11" 1050 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 1051 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== 1052 | dependencies: 1053 | inherits "^2.0.1" 1054 | safe-buffer "^5.0.1" 1055 | 1056 | shebang-command@^2.0.0: 1057 | version "2.0.0" 1058 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1059 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1060 | dependencies: 1061 | shebang-regex "^3.0.0" 1062 | 1063 | shebang-regex@^3.0.0: 1064 | version "3.0.0" 1065 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1066 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1067 | 1068 | side-channel@^1.0.4: 1069 | version "1.0.4" 1070 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1071 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1072 | dependencies: 1073 | call-bind "^1.0.0" 1074 | get-intrinsic "^1.0.2" 1075 | object-inspect "^1.9.0" 1076 | 1077 | split@0.3: 1078 | version "0.3.3" 1079 | resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" 1080 | integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA== 1081 | dependencies: 1082 | through "2" 1083 | 1084 | statuses@2.0.1: 1085 | version "2.0.1" 1086 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" 1087 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 1088 | 1089 | stream-combiner@~0.0.4: 1090 | version "0.0.4" 1091 | resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" 1092 | integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw== 1093 | dependencies: 1094 | duplexer "~0.1.1" 1095 | 1096 | string-argv@^0.3.1: 1097 | version "0.3.2" 1098 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" 1099 | integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== 1100 | 1101 | through@2, through@~2.3, through@~2.3.1: 1102 | version "2.3.8" 1103 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1104 | integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 1105 | 1106 | toidentifier@1.0.1: 1107 | version "1.0.1" 1108 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 1109 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1110 | 1111 | tr46@~0.0.3: 1112 | version "0.0.3" 1113 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 1114 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 1115 | 1116 | ts-node@^10.9.1: 1117 | version "10.9.1" 1118 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" 1119 | integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== 1120 | dependencies: 1121 | "@cspotcode/source-map-support" "^0.8.0" 1122 | "@tsconfig/node10" "^1.0.7" 1123 | "@tsconfig/node12" "^1.0.7" 1124 | "@tsconfig/node14" "^1.0.0" 1125 | "@tsconfig/node16" "^1.0.2" 1126 | acorn "^8.4.1" 1127 | acorn-walk "^8.1.1" 1128 | arg "^4.1.0" 1129 | create-require "^1.1.0" 1130 | diff "^4.0.1" 1131 | make-error "^1.1.1" 1132 | v8-compile-cache-lib "^3.0.1" 1133 | yn "3.1.1" 1134 | 1135 | tsc-watch@^6.0.4: 1136 | version "6.0.4" 1137 | resolved "https://registry.yarnpkg.com/tsc-watch/-/tsc-watch-6.0.4.tgz#af15229f03cd53086771a97b10653db063bc6c59" 1138 | integrity sha512-cHvbvhjO86w2aGlaHgSCeQRl+Aqw6X6XN4sQMPZKF88GoP30O+oTuh5lRIJr5pgFWrRpF1AgXnJJ2DoFEIPHyg== 1139 | dependencies: 1140 | cross-spawn "^7.0.3" 1141 | node-cleanup "^2.1.2" 1142 | ps-tree "^1.2.0" 1143 | string-argv "^0.3.1" 1144 | 1145 | tslib@^2.4.0: 1146 | version "2.6.0" 1147 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" 1148 | integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== 1149 | 1150 | type-is@~1.6.18: 1151 | version "1.6.18" 1152 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1153 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1154 | dependencies: 1155 | media-typer "0.3.0" 1156 | mime-types "~2.1.24" 1157 | 1158 | typescript@^5.1.6: 1159 | version "5.1.6" 1160 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" 1161 | integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== 1162 | 1163 | unpipe@1.0.0, unpipe@~1.0.0: 1164 | version "1.0.0" 1165 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1166 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== 1167 | 1168 | utils-merge@1.0.1: 1169 | version "1.0.1" 1170 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1171 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== 1172 | 1173 | uuid@^9.0.0: 1174 | version "9.0.0" 1175 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" 1176 | integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== 1177 | 1178 | v8-compile-cache-lib@^3.0.1: 1179 | version "3.0.1" 1180 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" 1181 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== 1182 | 1183 | value-or-promise@^1.0.12: 1184 | version "1.0.12" 1185 | resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" 1186 | integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== 1187 | 1188 | vary@^1, vary@~1.1.2: 1189 | version "1.1.2" 1190 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1191 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== 1192 | 1193 | webidl-conversions@^3.0.0: 1194 | version "3.0.1" 1195 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 1196 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 1197 | 1198 | whatwg-mimetype@^3.0.0: 1199 | version "3.0.0" 1200 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" 1201 | integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== 1202 | 1203 | whatwg-url@^5.0.0: 1204 | version "5.0.0" 1205 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 1206 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 1207 | dependencies: 1208 | tr46 "~0.0.3" 1209 | webidl-conversions "^3.0.0" 1210 | 1211 | which@^2.0.1: 1212 | version "2.0.2" 1213 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1214 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1215 | dependencies: 1216 | isexe "^2.0.0" 1217 | 1218 | yallist@^4.0.0: 1219 | version "4.0.0" 1220 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1221 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1222 | 1223 | yn@3.1.1: 1224 | version "3.1.1" 1225 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 1226 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 1227 | --------------------------------------------------------------------------------