From 715050f2ce1dcd9cf158135ca090d0d6623bba7c Mon Sep 17 00:00:00 2001
From: Roshan Jossy <roshan.jossy@jina.ai>
Date: Sun, 31 Oct 2021 21:49:50 +0100
Subject: [PATCH 1/2] WIP: relay configuration

---
 .babelrc        |  3 ++-
 package.json    |  2 ++
 pages/index.tsx | 23 +++++++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/.babelrc b/.babelrc
index 1ff94f7..d236bcb 100644
--- a/.babelrc
+++ b/.babelrc
@@ -1,3 +1,4 @@
 {
-  "presets": ["next/babel"]
+  "presets": ["next/babel"],
+  "plugins": ["relay"]
 }
diff --git a/package.json b/package.json
index 7280d36..467abe2 100644
--- a/package.json
+++ b/package.json
@@ -7,6 +7,8 @@
     "dev": "next dev",
     "build": "next build",
     "start": "next start",
+    "relay": "relay-compiler --src ./ --exclude '**/.next/**' '**/node_modules/**' '**/test/**'  '**/__generated__/**' --exclude '**/schema/**' --schema ./schema/schema.graphql",
+    "schema": "graphql get-schema -e dev",
     "type-check": "tsc --pretty --noEmit",
     "format": "prettier --write \"**/*.{js,ts,tsx}\"",
     "lint": "eslint . --ext ts --ext tsx --ext js",
diff --git a/pages/index.tsx b/pages/index.tsx
index da67717..7221b0d 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -1,4 +1,6 @@
 import Head from 'next/head'
+import { graphql, fetchQuery } from 'react-relay'
+import { initEnvironment } from '../lib/relay'
 import FeedCotainer from '../components/FeedContainer'
 import UserProfile from '../components/UserProfile'
 import CircularProgress from '../components/CircularProgress'
@@ -59,4 +61,25 @@ export const Home = (): JSX.Element => (
   </div>
 )
 
+const indexPageQuery =  graphql`
+query indexPage_indexQuery {
+  viewer {
+    ...BlogPosts_viewer
+  }
+}
+`
+
+export async function getStaticProps() {
+  const environment = initEnvironment()
+  const queryProps = await fetchQuery(environment, indexPageQuery)
+  const initialRecords = environment.getStore().getSource().toJSON()
+
+  return {
+    props: {
+      ...queryProps,
+      initialRecords,
+    },
+  }
+}
+
 export default Home
-- 
GitLab


From bbb132f29e8f5e21adcee983b931c11062a20aa7 Mon Sep 17 00:00:00 2001
From: Roshan Jossy <roshan.jossy@jina.ai>
Date: Sun, 30 Jan 2022 20:15:28 +0100
Subject: [PATCH 2/2] add relay configuration

---
 .gitignore                                  |     1 +
 .graphqlconfig                              |     8 +
 components/FeedContainer.tsx                |     2 +-
 components/UserProfile.tsx                  |     2 +-
 cypress/fixtures/posts.json                 |     6 +-
 cypress/fixtures/profile.json               |    54 +-
 lib/relay.js                                |    51 +
 next-env.d.ts                               |     5 +-
 package.json                                |    16 +-
 pages/index.tsx                             |    19 +-
 queries/__generated__/indexQuery.graphql.ts |    96 +
 queries/indexQuery.ts                       |     9 +
 schema/schema.graphql                       | 23041 ++++++++++++++++++
 tsconfig.json                               |    23 +-
 yarn.lock                                   |  5178 ++--
 15 files changed, 24847 insertions(+), 3664 deletions(-)
 create mode 100644 .graphqlconfig
 create mode 100644 lib/relay.js
 create mode 100644 queries/__generated__/indexQuery.graphql.ts
 create mode 100644 queries/indexQuery.ts
 create mode 100644 schema/schema.graphql

diff --git a/.gitignore b/.gitignore
index 1437c53..594ee0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,6 +26,7 @@ yarn-error.log*
 
 # local env files
 .env.local
+.env.development
 .env.development.local
 .env.test.local
 .env.production.local
diff --git a/.graphqlconfig b/.graphqlconfig
new file mode 100644
index 0000000..d1d415e
--- /dev/null
+++ b/.graphqlconfig
@@ -0,0 +1,8 @@
+{
+  "schemaPath": "schema/schema.graphql",
+  "extensions": {
+    "endpoints": {
+      "dev": "https://api.github.com/graphql"
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/FeedContainer.tsx b/components/FeedContainer.tsx
index 7063ec8..661a234 100644
--- a/components/FeedContainer.tsx
+++ b/components/FeedContainer.tsx
@@ -1,6 +1,6 @@
 import * as React from 'react'
 import Posts from './post/Posts'
-import { posts } from '../cypress/fixtures/posts.json'
+import posts from '../cypress/fixtures/posts.json'
 // eslint-disable-next-line
 export interface FeedCotainerProps {}
 
diff --git a/components/UserProfile.tsx b/components/UserProfile.tsx
index 14ff297..4a133cf 100644
--- a/components/UserProfile.tsx
+++ b/components/UserProfile.tsx
@@ -1,4 +1,4 @@
-import { profile } from '../cypress/fixtures/profile.json'
+import profile from '../cypress/fixtures/profile.json'
 import OverallBadge from './user-profile/OverallBadge'
 import Badge from './user-profile/Badge'
 import Link from 'next/link'
diff --git a/cypress/fixtures/posts.json b/cypress/fixtures/posts.json
index 0e8cc8a..e41c0a9 100644
--- a/cypress/fixtures/posts.json
+++ b/cypress/fixtures/posts.json
@@ -1,5 +1,4 @@
-{
-  "posts": [
+[
     {
       "title": "The rotation of Earth makes my day",
       "votes": 7,
@@ -118,5 +117,4 @@
         }
       ]
     }
-  ]
-}
\ No newline at end of file
+  ]
\ No newline at end of file
diff --git a/cypress/fixtures/profile.json b/cypress/fixtures/profile.json
index 6136b50..ab28c6b 100644
--- a/cypress/fixtures/profile.json
+++ b/cypress/fixtures/profile.json
@@ -1,31 +1,29 @@
 {
-    "profile": {
-        "userName": "firstcontributions-bot",
-        "avatar": "https://avatars1.githubusercontent.com/u/65761570?s=460&u=640f39b808c75c6b86460aa907dd030bcca2f3c7&v=4",
-        "reputation": 4851,
-        "bio": "We'll make our own open source. With blackjack and Jack Black",
-        "topics": ["language learning", "mental health", "non-profit"],
-        "communities": ["librelingo", "Trustroots", "exercism"],
-        "overallBadge": {
-            "level": 5,
-            "progressToNextBadge": 67
+    "userName": "firstcontributions-bot",
+    "avatar": "https://avatars1.githubusercontent.com/u/65761570?s=460&u=640f39b808c75c6b86460aa907dd030bcca2f3c7&v=4",
+    "reputation": 4851,
+    "bio": "We'll make our own open source. With blackjack and Jack Black",
+    "topics": ["language learning", "mental health", "non-profit"],
+    "communities": ["librelingo", "Trustroots", "exercism"],
+    "overallBadge": {
+        "level": 5,
+        "progressToNextBadge": 67
+    },
+    "badges": [
+        {
+            "name": "react",
+            "level": "6",
+            "progressToNextBadge": 27
         },
-        "badges": [
-            {
-                "name": "react",
-                "level": "6",
-                "progressToNextBadge": 27
-            },
-            {
-                "name": "go",
-                "level": "1",
-                "progressToNextBadge": 87
-            },
-            {
-                "name": "docker",
-                "level": "1",
-                "progressToNextBadge": 54
-            }
-        ]
-    }
+        {
+            "name": "go",
+            "level": "1",
+            "progressToNextBadge": 87
+        },
+        {
+            "name": "docker",
+            "level": "1",
+            "progressToNextBadge": 54
+        }
+    ]
 }
\ No newline at end of file
diff --git a/lib/relay.js b/lib/relay.js
new file mode 100644
index 0000000..c634bb5
--- /dev/null
+++ b/lib/relay.js
@@ -0,0 +1,51 @@
+import { useMemo } from 'react'
+import { Environment, Network, RecordSource, Store } from 'relay-runtime'
+
+let relayEnvironment
+
+// Define a function that fetches the results of an operation (query/mutation/etc)
+// and returns its results as a Promise
+function fetchQuery(operation, variables, cacheConfig, uploadables) {
+  return fetch('https://api.github.com/graphql', {
+    method: 'POST',
+    headers: {
+      Accept: 'application/json',
+      'Content-Type': 'application/json',
+      Authorization: `bearer ${process.env.GITHUB_TOKEN}`,
+    }, // Add authentication and other headers here
+    body: JSON.stringify({
+      query: operation.text, // GraphQL text from input
+      variables,
+    }),
+  }).then((response) => response.json())
+}
+
+function createEnvironment(initialRecords) {
+  return new Environment({
+    // Create a network layer from the fetch function
+    network: Network.create(fetchQuery),
+    store: new Store(new RecordSource()),
+  })
+}
+
+export function initEnvironment(initialRecords) {
+  // Create a network layer from the fetch function
+  const environment = relayEnvironment ?? createEnvironment(initialRecords)
+
+  // If your page has Next.js data fetching methods that use Relay, the initial records
+  // will get hydrated here
+  if (initialRecords) {
+    environment.getStore().publish(new RecordSource(initialRecords))
+  }
+  // For SSG and SSR always create a new Relay environment
+  if (typeof window === 'undefined') return environment
+  // Create the Relay environment once in the client
+  if (!relayEnvironment) relayEnvironment = environment
+
+  return relayEnvironment
+}
+
+export function useEnvironment(initialRecords) {
+  const store = useMemo(() => initEnvironment(initialRecords), [initialRecords])
+  return store
+}
diff --git a/next-env.d.ts b/next-env.d.ts
index 7b7aa2c..4f11a03 100644
--- a/next-env.d.ts
+++ b/next-env.d.ts
@@ -1,2 +1,5 @@
 /// <reference types="next" />
-/// <reference types="next/types/global" />
+/// <reference types="next/image-types/global" />
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/package.json b/package.json
index 467abe2..01c4abe 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
 {
-  "name": "First-Contributions-Frontend",
+  "name": "first-contributions-frontend",
   "author": "@Roshanjossey",
   "license": "MIT",
   "version": "1.0.0",
@@ -7,7 +7,7 @@
     "dev": "next dev",
     "build": "next build",
     "start": "next start",
-    "relay": "relay-compiler --src ./ --exclude '**/.next/**' '**/node_modules/**' '**/test/**'  '**/__generated__/**' --exclude '**/schema/**' --schema ./schema/schema.graphql",
+    "relay": "relay-compiler --src ./ --schema ./schema/schema.graphql",
     "schema": "graphql get-schema -e dev",
     "type-check": "tsc --pretty --noEmit",
     "format": "prettier --write \"**/*.{js,ts,tsx}\"",
@@ -45,10 +45,11 @@
     "@editorjs/simple-image": "^1.4.0",
     "@nivo/line": "^0.62.0",
     "html-react-parser": "^0.14.0",
-    "next": "latest",
-    "react": "^16.13.1",
+    "next": "^12.0.7",
+    "react": "^17.0.2",
     "react-dom": "^16.13.1",
     "react-editor-js": "^1.6.2",
+    "react-relay": "^13.0.1",
     "tailwindcss": "^1.8.5"
   },
   "devDependencies": {
@@ -56,15 +57,18 @@
     "@types/jest": "^25.1.4",
     "@types/node": "^13.9.5",
     "@types/react": "^16.9.27",
+    "@types/react-relay": "^13.0.0",
     "@types/testing-library__react": "^10.0.0",
     "@typescript-eslint/eslint-plugin": "^2.25.0",
     "@typescript-eslint/parser": "^2.25.0",
     "babel-jest": "^25.2.3",
+    "babel-plugin-relay": "^13.0.1",
     "cypress": "^4.11.0",
     "eslint": "^6.8.0",
     "eslint-config-prettier": "^6.10.1",
     "eslint-plugin-cypress": "^2.11.1",
     "eslint-plugin-react": "^7.19.0",
+    "graphql": "^16.2.0",
     "husky": "^4.2.3",
     "jest": "^25.2.3",
     "jest-watch-typeahead": "^0.5.0",
@@ -72,6 +76,8 @@
     "postcss-flexbugs-fixes": "^4.2.1",
     "postcss-preset-env": "^6.7.0",
     "prettier": "^2.0.2",
-    "typescript": "^3.8.3"
+    "relay-compiler": "^13.0.1",
+    "relay-compiler-language-typescript": "^15.0.0",
+    "typescript": "^4.5.4"
   }
 }
diff --git a/pages/index.tsx b/pages/index.tsx
index 7221b0d..f4a238f 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -1,12 +1,12 @@
 import Head from 'next/head'
-import { graphql, fetchQuery } from 'react-relay'
+import { fetchQuery } from 'react-relay'
 import { initEnvironment } from '../lib/relay'
+import indexPageQuery from '../queries/indexQuery'
 import FeedCotainer from '../components/FeedContainer'
 import UserProfile from '../components/UserProfile'
-import CircularProgress from '../components/CircularProgress'
 import Navigation from '../components/Navigation'
 
-export const Home = (): JSX.Element => (
+export const Home = ({viewer}): JSX.Element => (
   <div className="flex flex-col justify-center">
     <Head>
       <title>First Contributions</title>
@@ -18,6 +18,9 @@ export const Home = (): JSX.Element => (
         <UserProfile />
       </aside>
       <main className="w-full md:w-2/3">
+        <div>
+          {JSON.stringify(viewer)}
+        </div>
         <FeedCotainer />
       </main>
       <aside className="p-4 hidden md:block">
@@ -61,17 +64,9 @@ export const Home = (): JSX.Element => (
   </div>
 )
 
-const indexPageQuery =  graphql`
-query indexPage_indexQuery {
-  viewer {
-    ...BlogPosts_viewer
-  }
-}
-`
-
 export async function getStaticProps() {
   const environment = initEnvironment()
-  const queryProps = await fetchQuery(environment, indexPageQuery)
+  const queryProps = await fetchQuery(environment, indexPageQuery, {}).toPromise() as object
   const initialRecords = environment.getStore().getSource().toJSON()
 
   return {
diff --git a/queries/__generated__/indexQuery.graphql.ts b/queries/__generated__/indexQuery.graphql.ts
new file mode 100644
index 0000000..90b0c6c
--- /dev/null
+++ b/queries/__generated__/indexQuery.graphql.ts
@@ -0,0 +1,96 @@
+/**
+ * @generated SignedSource<<5ef0451ad1b35b86672567d7b398ce57>>
+ * @lightSyntaxTransform
+ * @nogrep
+ */
+
+/* tslint:disable */
+/* eslint-disable */
+// @ts-nocheck
+
+import { ConcreteRequest, Query } from 'relay-runtime';
+export type indexQuery$variables = {};
+export type indexQueryVariables = indexQuery$variables;
+export type indexQuery$data = {
+  readonly viewer: {
+    readonly login: string;
+  };
+};
+export type indexQueryResponse = indexQuery$data;
+export type indexQuery = {
+  variables: indexQueryVariables;
+  response: indexQuery$data;
+};
+
+const node: ConcreteRequest = (function(){
+var v0 = {
+  "alias": null,
+  "args": null,
+  "kind": "ScalarField",
+  "name": "login",
+  "storageKey": null
+};
+return {
+  "fragment": {
+    "argumentDefinitions": [],
+    "kind": "Fragment",
+    "metadata": null,
+    "name": "indexQuery",
+    "selections": [
+      {
+        "alias": null,
+        "args": null,
+        "concreteType": "User",
+        "kind": "LinkedField",
+        "name": "viewer",
+        "plural": false,
+        "selections": [
+          (v0/*: any*/)
+        ],
+        "storageKey": null
+      }
+    ],
+    "type": "Query",
+    "abstractKey": null
+  },
+  "kind": "Request",
+  "operation": {
+    "argumentDefinitions": [],
+    "kind": "Operation",
+    "name": "indexQuery",
+    "selections": [
+      {
+        "alias": null,
+        "args": null,
+        "concreteType": "User",
+        "kind": "LinkedField",
+        "name": "viewer",
+        "plural": false,
+        "selections": [
+          (v0/*: any*/),
+          {
+            "alias": null,
+            "args": null,
+            "kind": "ScalarField",
+            "name": "id",
+            "storageKey": null
+          }
+        ],
+        "storageKey": null
+      }
+    ]
+  },
+  "params": {
+    "cacheID": "fa69dc48ee1f0976b13a18cc42ad9d17",
+    "id": null,
+    "metadata": {},
+    "name": "indexQuery",
+    "operationKind": "query",
+    "text": "query indexQuery {\n  viewer {\n    login\n    id\n  }\n}\n"
+  }
+};
+})();
+
+(node as any).hash = "1ea795ec9479c8d672112757459b6da8";
+
+export default node;
diff --git a/queries/indexQuery.ts b/queries/indexQuery.ts
new file mode 100644
index 0000000..0b7b159
--- /dev/null
+++ b/queries/indexQuery.ts
@@ -0,0 +1,9 @@
+import { graphql } from 'react-relay'
+
+export default graphql`
+  query indexQuery {
+    viewer {
+      login
+    }
+  }
+`
diff --git a/schema/schema.graphql b/schema/schema.graphql
new file mode 100644
index 0000000..8150157
--- /dev/null
+++ b/schema/schema.graphql
@@ -0,0 +1,23041 @@
+"""Autogenerated input type of AcceptEnterpriseAdministratorInvitation"""
+input AcceptEnterpriseAdministratorInvitationInput {
+  """The id of the invitation being accepted"""
+  invitationId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AcceptEnterpriseAdministratorInvitation"""
+type AcceptEnterpriseAdministratorInvitationPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The invitation that was accepted."""
+  invitation: EnterpriseAdministratorInvitation
+
+  """
+  A message confirming the result of accepting an administrator invitation.
+  """
+  message: String
+}
+
+"""Autogenerated input type of AcceptTopicSuggestion"""
+input AcceptTopicSuggestionInput {
+  """The Node ID of the repository."""
+  repositoryId: ID!
+
+  """The name of the suggested topic."""
+  name: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AcceptTopicSuggestion"""
+type AcceptTopicSuggestionPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The accepted topic."""
+  topic: Topic
+}
+
+"""The possible capabilities for action executions setting."""
+enum ActionExecutionCapabilitySetting {
+  """All action executions are disabled."""
+  DISABLED
+
+  """All action executions are enabled."""
+  ALL_ACTIONS
+
+  """Only actions defined within the repo are allowed."""
+  LOCAL_ACTIONS_ONLY
+
+  """Organization administrators action execution capabilities."""
+  NO_POLICY
+}
+
+"""
+Represents an object which can take actions on GitHub. Typically a User or Bot.
+"""
+interface Actor {
+  """A URL pointing to the actor's public avatar."""
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int
+  ): URI!
+
+  """The username of the actor."""
+  login: String!
+
+  """The HTTP path for this actor."""
+  resourcePath: URI!
+
+  """The HTTP URL for this actor."""
+  url: URI!
+}
+
+"""Location information for an actor"""
+type ActorLocation {
+  """City"""
+  city: String
+
+  """Country name"""
+  country: String
+
+  """Country code"""
+  countryCode: String
+
+  """Region name"""
+  region: String
+
+  """Region or state code"""
+  regionCode: String
+}
+
+"""Autogenerated input type of AddAssigneesToAssignable"""
+input AddAssigneesToAssignableInput {
+  """The id of the assignable object to add assignees to."""
+  assignableId: ID!
+
+  """The id of users to add as assignees."""
+  assigneeIds: [ID!]!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AddAssigneesToAssignable"""
+type AddAssigneesToAssignablePayload {
+  """The item that was assigned."""
+  assignable: Assignable
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of AddComment"""
+input AddCommentInput {
+  """The Node ID of the subject to modify."""
+  subjectId: ID!
+
+  """The contents of the comment."""
+  body: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AddComment"""
+type AddCommentPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The edge from the subject's comment connection."""
+  commentEdge: IssueCommentEdge
+
+  """The subject"""
+  subject: Node
+
+  """The edge from the subject's timeline connection."""
+  timelineEdge: IssueTimelineItemEdge
+}
+
+"""
+Represents a 'added_to_project' event on a given issue or pull request.
+"""
+type AddedToProjectEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+}
+
+"""Autogenerated input type of AddLabelsToLabelable"""
+input AddLabelsToLabelableInput {
+  """The id of the labelable object to add labels to."""
+  labelableId: ID!
+
+  """The ids of the labels to add."""
+  labelIds: [ID!]!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AddLabelsToLabelable"""
+type AddLabelsToLabelablePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The item that was labeled."""
+  labelable: Labelable
+}
+
+"""Autogenerated input type of AddProjectCard"""
+input AddProjectCardInput {
+  """The Node ID of the ProjectColumn."""
+  projectColumnId: ID!
+
+  """The content of the card. Must be a member of the ProjectCardItem union"""
+  contentId: ID
+
+  """The note on the card."""
+  note: String
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AddProjectCard"""
+type AddProjectCardPayload {
+  """The edge from the ProjectColumn's card connection."""
+  cardEdge: ProjectCardEdge
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The ProjectColumn"""
+  projectColumn: ProjectColumn
+}
+
+"""Autogenerated input type of AddProjectColumn"""
+input AddProjectColumnInput {
+  """The Node ID of the project."""
+  projectId: ID!
+
+  """The name of the column."""
+  name: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AddProjectColumn"""
+type AddProjectColumnPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The edge from the project's column connection."""
+  columnEdge: ProjectColumnEdge
+
+  """The project"""
+  project: Project
+}
+
+"""Autogenerated input type of AddPullRequestReviewComment"""
+input AddPullRequestReviewCommentInput {
+  """The Node ID of the review to modify."""
+  pullRequestReviewId: ID!
+
+  """The SHA of the commit to comment on."""
+  commitOID: GitObjectID
+
+  """The text of the comment."""
+  body: String!
+
+  """The relative path of the file to comment on."""
+  path: String
+
+  """The line index in the diff to comment on."""
+  position: Int
+
+  """The comment id to reply to."""
+  inReplyTo: ID
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AddPullRequestReviewComment"""
+type AddPullRequestReviewCommentPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The newly created comment."""
+  comment: PullRequestReviewComment
+
+  """The edge from the review's comment connection."""
+  commentEdge: PullRequestReviewCommentEdge
+}
+
+"""Autogenerated input type of AddPullRequestReview"""
+input AddPullRequestReviewInput {
+  """The Node ID of the pull request to modify."""
+  pullRequestId: ID!
+
+  """The commit OID the review pertains to."""
+  commitOID: GitObjectID
+
+  """The contents of the review body comment."""
+  body: String
+
+  """The event to perform on the pull request review."""
+  event: PullRequestReviewEvent
+
+  """The review line comments."""
+  comments: [DraftPullRequestReviewComment]
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AddPullRequestReview"""
+type AddPullRequestReviewPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The newly created pull request review."""
+  pullRequestReview: PullRequestReview
+
+  """The edge from the pull request's review connection."""
+  reviewEdge: PullRequestReviewEdge
+}
+
+"""Autogenerated input type of AddReaction"""
+input AddReactionInput {
+  """The Node ID of the subject to modify."""
+  subjectId: ID!
+
+  """The name of the emoji to react with."""
+  content: ReactionContent!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AddReaction"""
+type AddReactionPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The reaction object."""
+  reaction: Reaction
+
+  """The reactable subject."""
+  subject: Reactable
+}
+
+"""Autogenerated input type of AddStar"""
+input AddStarInput {
+  """The Starrable ID to star."""
+  starrableId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of AddStar"""
+type AddStarPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The starrable."""
+  starrable: Starrable
+}
+
+"""A GitHub App."""
+type App implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The description of the app."""
+  description: String
+  id: ID!
+
+  """The hex color code, without the leading '#', for the logo background."""
+  logoBackgroundColor: String!
+
+  """A URL pointing to the app's logo."""
+  logoUrl(
+    """The size of the resulting image."""
+    size: Int
+  ): URI!
+
+  """The name of the app."""
+  name: String!
+
+  """A slug based on the name of the app for use in URLs."""
+  slug: String!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The URL to the app's homepage."""
+  url: URI!
+}
+
+"""An edge in a connection."""
+type AppEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: App
+}
+
+"""An object that can have users assigned to it."""
+interface Assignable {
+  """A list of Users assigned to this object."""
+  assignees(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+}
+
+"""Represents an 'assigned' event on any assignable object."""
+type AssignedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the assignable associated with the event."""
+  assignable: Assignable!
+
+  """Identifies the user or mannequin that was assigned."""
+  assignee: Assignee
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Identifies the user who was assigned."""
+  user: User @deprecated(reason: "Assignees can now be mannequins. Use the `assignee` field instead. Removal on 2020-01-01 UTC.")
+}
+
+"""Types that can be assigned to issues."""
+union Assignee = Bot | Mannequin | Organization | User
+
+"""An entry in the audit log."""
+interface AuditEntry {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Types that can initiate an audit log event."""
+union AuditEntryActor = Bot | Organization | User
+
+"""Ordering options for Audit Log connections."""
+input AuditLogOrder {
+  """The field to order Audit Logs by."""
+  field: AuditLogOrderField
+
+  """The ordering direction."""
+  direction: OrderDirection
+}
+
+"""Properties by which Audit Log connections can be ordered."""
+enum AuditLogOrderField {
+  """Order audit log entries by timestamp"""
+  CREATED_AT
+}
+
+"""
+Represents a 'base_ref_changed' event on a given issue or pull request.
+"""
+type BaseRefChangedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+}
+
+"""Represents a 'base_ref_force_pushed' event on a given pull request."""
+type BaseRefForcePushedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the after commit SHA for the 'base_ref_force_pushed' event."""
+  afterCommit: Commit
+
+  """
+  Identifies the before commit SHA for the 'base_ref_force_pushed' event.
+  """
+  beforeCommit: Commit
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+
+  """
+  Identifies the fully qualified ref name for the 'base_ref_force_pushed' event.
+  """
+  ref: Ref
+}
+
+"""Represents a Git blame."""
+type Blame {
+  """The list of ranges from a Git blame."""
+  ranges: [BlameRange!]!
+}
+
+"""Represents a range of information from a Git blame."""
+type BlameRange {
+  """
+  Identifies the recency of the change, from 1 (new) to 10 (old). This is
+  calculated as a 2-quantile and determines the length of distance between the
+  median age of all the changes in the file and the recency of the current
+  range's change.
+  """
+  age: Int!
+
+  """Identifies the line author"""
+  commit: Commit!
+
+  """The ending line for the range"""
+  endingLine: Int!
+
+  """The starting line for the range"""
+  startingLine: Int!
+}
+
+"""Represents a Git blob."""
+type Blob implements Node & GitObject {
+  """An abbreviated version of the Git object ID"""
+  abbreviatedOid: String!
+
+  """Byte size of Blob object"""
+  byteSize: Int!
+
+  """The HTTP path for this Git object"""
+  commitResourcePath: URI!
+
+  """The HTTP URL for this Git object"""
+  commitUrl: URI!
+  id: ID!
+
+  """Indicates whether the Blob is binary or text"""
+  isBinary: Boolean!
+
+  """Indicates whether the contents is truncated"""
+  isTruncated: Boolean!
+
+  """The Git object ID"""
+  oid: GitObjectID!
+
+  """The Repository the Git object belongs to"""
+  repository: Repository!
+
+  """UTF8 text data or null if the Blob is binary"""
+  text: String
+}
+
+"""A special type of user which takes actions on behalf of GitHub Apps."""
+type Bot implements Node & Actor & UniformResourceLocatable {
+  """A URL pointing to the GitHub App's public avatar."""
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int
+  ): URI!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+
+  """The username of the actor."""
+  login: String!
+
+  """The HTTP path for this bot"""
+  resourcePath: URI!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this bot"""
+  url: URI!
+}
+
+"""A branch protection rule."""
+type BranchProtectionRule implements Node {
+  """
+  A list of conflicts matching branches protection rule and other branch protection rules
+  """
+  branchProtectionRuleConflicts(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): BranchProtectionRuleConflictConnection!
+
+  """The actor who created this branch protection rule."""
+  creator: Actor
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """
+  Will new commits pushed to matching branches dismiss pull request review approvals.
+  """
+  dismissesStaleReviews: Boolean!
+  id: ID!
+
+  """Can admins overwrite branch protection."""
+  isAdminEnforced: Boolean!
+
+  """Repository refs that are protected by this rule"""
+  matchingRefs(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RefConnection!
+
+  """Identifies the protection rule pattern."""
+  pattern: String!
+
+  """A list push allowances for this branch protection rule."""
+  pushAllowances(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PushAllowanceConnection!
+
+  """The repository associated with this branch protection rule."""
+  repository: Repository
+
+  """Number of approving reviews required to update matching branches."""
+  requiredApprovingReviewCount: Int
+
+  """
+  List of required status check contexts that must pass for commits to be accepted to matching branches.
+  """
+  requiredStatusCheckContexts: [String]
+
+  """Are approving reviews required to update matching branches."""
+  requiresApprovingReviews: Boolean!
+
+  """Are reviews from code owners required to update matching branches."""
+  requiresCodeOwnerReviews: Boolean!
+
+  """Are commits required to be signed."""
+  requiresCommitSignatures: Boolean!
+
+  """Are status checks required to update matching branches."""
+  requiresStatusChecks: Boolean!
+
+  """Are branches required to be up to date before merging."""
+  requiresStrictStatusChecks: Boolean!
+
+  """Is pushing to matching branches restricted."""
+  restrictsPushes: Boolean!
+
+  """Is dismissal of pull request reviews restricted."""
+  restrictsReviewDismissals: Boolean!
+
+  """A list review dismissal allowances for this branch protection rule."""
+  reviewDismissalAllowances(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ReviewDismissalAllowanceConnection!
+}
+
+"""A conflict between two branch protection rules."""
+type BranchProtectionRuleConflict {
+  """Identifies the branch protection rule."""
+  branchProtectionRule: BranchProtectionRule
+
+  """Identifies the conflicting branch protection rule."""
+  conflictingBranchProtectionRule: BranchProtectionRule
+
+  """Identifies the branch ref that has conflicting rules"""
+  ref: Ref
+}
+
+"""The connection type for BranchProtectionRuleConflict."""
+type BranchProtectionRuleConflictConnection {
+  """A list of edges."""
+  edges: [BranchProtectionRuleConflictEdge]
+
+  """A list of nodes."""
+  nodes: [BranchProtectionRuleConflict]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type BranchProtectionRuleConflictEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: BranchProtectionRuleConflict
+}
+
+"""The connection type for BranchProtectionRule."""
+type BranchProtectionRuleConnection {
+  """A list of edges."""
+  edges: [BranchProtectionRuleEdge]
+
+  """A list of nodes."""
+  nodes: [BranchProtectionRule]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type BranchProtectionRuleEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: BranchProtectionRule
+}
+
+"""Autogenerated input type of CancelEnterpriseAdminInvitation"""
+input CancelEnterpriseAdminInvitationInput {
+  """The Node ID of the pending enterprise administrator invitation."""
+  invitationId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CancelEnterpriseAdminInvitation"""
+type CancelEnterpriseAdminInvitationPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The invitation that was canceled."""
+  invitation: EnterpriseAdministratorInvitation
+
+  """
+  A message confirming the result of canceling an administrator invitation.
+  """
+  message: String
+}
+
+"""Autogenerated input type of ChangeUserStatus"""
+input ChangeUserStatusInput {
+  """
+  The emoji to represent your status. Can either be a native Unicode emoji or an emoji name with colons, e.g., :grinning:.
+  """
+  emoji: String
+
+  """A short description of your current status."""
+  message: String
+
+  """
+  The ID of the organization whose members will be allowed to see the status. If
+  omitted, the status will be publicly visible.
+  """
+  organizationId: ID
+
+  """
+  Whether this status should indicate you are not fully available on GitHub, e.g., you are away.
+  """
+  limitedAvailability: Boolean = false
+
+  """If set, the user status will not be shown after this date."""
+  expiresAt: DateTime
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of ChangeUserStatus"""
+type ChangeUserStatusPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """Your updated status."""
+  status: UserStatus
+}
+
+"""Autogenerated input type of ClearLabelsFromLabelable"""
+input ClearLabelsFromLabelableInput {
+  """The id of the labelable object to clear the labels from."""
+  labelableId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of ClearLabelsFromLabelable"""
+type ClearLabelsFromLabelablePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The item that was unlabeled."""
+  labelable: Labelable
+}
+
+"""Autogenerated input type of CloneProject"""
+input CloneProjectInput {
+  """The owner ID to create the project under."""
+  targetOwnerId: ID!
+
+  """The source project to clone."""
+  sourceId: ID!
+
+  """Whether or not to clone the source project's workflows."""
+  includeWorkflows: Boolean!
+
+  """The name of the project."""
+  name: String!
+
+  """The description of the project."""
+  body: String
+
+  """The visibility of the project, defaults to false (private)."""
+  public: Boolean
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CloneProject"""
+type CloneProjectPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The id of the JobStatus for populating cloned fields."""
+  jobStatusId: String
+
+  """The new cloned project."""
+  project: Project
+}
+
+"""Autogenerated input type of CloneTemplateRepository"""
+input CloneTemplateRepositoryInput {
+  """The Node ID of the template repository."""
+  repositoryId: ID!
+
+  """The name of the new repository."""
+  name: String!
+
+  """The ID of the owner for the new repository."""
+  ownerId: ID!
+
+  """A short description of the new repository."""
+  description: String
+
+  """Indicates the repository's visibility level."""
+  visibility: RepositoryVisibility!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CloneTemplateRepository"""
+type CloneTemplateRepositoryPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The new repository."""
+  repository: Repository
+}
+
+"""An object that can be closed"""
+interface Closable {
+  """
+  `true` if the object is closed (definition of closed may depend on type)
+  """
+  closed: Boolean!
+
+  """Identifies the date and time when the object was closed."""
+  closedAt: DateTime
+}
+
+"""Represents a 'closed' event on any `Closable`."""
+type ClosedEvent implements Node & UniformResourceLocatable {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Object that was closed."""
+  closable: Closable!
+
+  """Object which triggered the creation of this event."""
+  closer: Closer
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """The HTTP path for this closed event."""
+  resourcePath: URI!
+
+  """The HTTP URL for this closed event."""
+  url: URI!
+}
+
+"""Autogenerated input type of CloseIssue"""
+input CloseIssueInput {
+  """ID of the issue to be closed."""
+  issueId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CloseIssue"""
+type CloseIssuePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The issue that was closed."""
+  issue: Issue
+}
+
+"""Autogenerated input type of ClosePullRequest"""
+input ClosePullRequestInput {
+  """ID of the pull request to be closed."""
+  pullRequestId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of ClosePullRequest"""
+type ClosePullRequestPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The pull request that was closed."""
+  pullRequest: PullRequest
+}
+
+"""The object which triggered a `ClosedEvent`."""
+union Closer = Commit | PullRequest
+
+"""The Code of Conduct for a repository"""
+type CodeOfConduct implements Node {
+  """The body of the Code of Conduct"""
+  body: String
+  id: ID!
+
+  """The key for the Code of Conduct"""
+  key: String!
+
+  """The formal name of the Code of Conduct"""
+  name: String!
+
+  """The HTTP path for this Code of Conduct"""
+  resourcePath: URI
+
+  """The HTTP URL for this Code of Conduct"""
+  url: URI
+}
+
+"""Collaborators affiliation level with a subject."""
+enum CollaboratorAffiliation {
+  """All outside collaborators of an organization-owned subject."""
+  OUTSIDE
+
+  """
+  All collaborators with permissions to an organization-owned subject, regardless of organization membership status.
+  """
+  DIRECT
+
+  """All collaborators the authenticated user can see."""
+  ALL
+}
+
+"""Types that can be inside Collection Items."""
+union CollectionItemContent = Repository | Organization | User
+
+"""Represents a comment."""
+interface Comment {
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the subject of the comment."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """The body as Markdown."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """The body rendered to text."""
+  bodyText: String!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """The actor who edited the comment."""
+  editor: Actor
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+}
+
+"""A comment author association with repository."""
+enum CommentAuthorAssociation {
+  """Author is a member of the organization that owns the repository."""
+  MEMBER
+
+  """Author is the owner of the repository."""
+  OWNER
+
+  """Author has been invited to collaborate on the repository."""
+  COLLABORATOR
+
+  """Author has previously committed to the repository."""
+  CONTRIBUTOR
+
+  """Author has not previously committed to the repository."""
+  FIRST_TIME_CONTRIBUTOR
+
+  """Author has not previously committed to GitHub."""
+  FIRST_TIMER
+
+  """Author has no association with the repository."""
+  NONE
+}
+
+"""The possible errors that will prevent a user from updating a comment."""
+enum CommentCannotUpdateReason {
+  """Unable to create comment because repository is archived."""
+  ARCHIVED
+
+  """
+  You must be the author or have write access to this repository to update this comment.
+  """
+  INSUFFICIENT_ACCESS
+
+  """Unable to create comment because issue is locked."""
+  LOCKED
+
+  """You must be logged in to update this comment."""
+  LOGIN_REQUIRED
+
+  """Repository is under maintenance."""
+  MAINTENANCE
+
+  """At least one email address must be verified to update this comment."""
+  VERIFIED_EMAIL_REQUIRED
+
+  """You cannot update this comment"""
+  DENIED
+}
+
+"""Represents a 'comment_deleted' event on a given issue or pull request."""
+type CommentDeletedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+}
+
+"""Represents a Git commit."""
+type Commit implements Node & GitObject & Subscribable & UniformResourceLocatable {
+  """An abbreviated version of the Git object ID"""
+  abbreviatedOid: String!
+
+  """The number of additions in this commit."""
+  additions: Int!
+
+  """The pull requests associated with a commit"""
+  associatedPullRequests(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for pull requests."""
+    orderBy: PullRequestOrder = {field: CREATED_AT, direction: ASC}
+  ): PullRequestConnection
+
+  """Authorship details of the commit."""
+  author: GitActor
+
+  """Check if the committer and the author match."""
+  authoredByCommitter: Boolean!
+
+  """The datetime when this commit was authored."""
+  authoredDate: DateTime!
+
+  """Fetches `git blame` information."""
+  blame(
+    """The file whose Git blame information you want."""
+    path: String!
+  ): Blame!
+
+  """The number of changed files in this commit."""
+  changedFiles: Int!
+
+  """Comments made on the commit."""
+  comments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): CommitCommentConnection!
+
+  """The HTTP path for this Git object"""
+  commitResourcePath: URI!
+
+  """The HTTP URL for this Git object"""
+  commitUrl: URI!
+
+  """The datetime when this commit was committed."""
+  committedDate: DateTime!
+
+  """Check if commited via GitHub web UI."""
+  committedViaWeb: Boolean!
+
+  """Committership details of the commit."""
+  committer: GitActor
+
+  """The number of deletions in this commit."""
+  deletions: Int!
+
+  """The deployments associated with a commit."""
+  deployments(
+    """Environments to list deployments for"""
+    environments: [String!]
+
+    """Ordering options for deployments returned from the connection."""
+    orderBy: DeploymentOrder = {field: CREATED_AT, direction: ASC}
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): DeploymentConnection
+
+  """
+  The linear commit history starting from (and including) this commit, in the same order as `git log`.
+  """
+  history(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    If non-null, filters history to only show commits touching files under this path.
+    """
+    path: String
+
+    """
+    If non-null, filters history to only show commits with matching authorship.
+    """
+    author: CommitAuthor
+
+    """Allows specifying a beginning time or date for fetching commits."""
+    since: GitTimestamp
+
+    """Allows specifying an ending time or date for fetching commits."""
+    until: GitTimestamp
+  ): CommitHistoryConnection!
+  id: ID!
+
+  """The Git commit message"""
+  message: String!
+
+  """The Git commit message body"""
+  messageBody: String!
+
+  """The commit message body rendered to HTML."""
+  messageBodyHTML: HTML!
+
+  """The Git commit message headline"""
+  messageHeadline: String!
+
+  """The commit message headline rendered to HTML."""
+  messageHeadlineHTML: HTML!
+
+  """The Git object ID"""
+  oid: GitObjectID!
+
+  """The parents of a commit."""
+  parents(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): CommitConnection!
+
+  """The datetime when this commit was pushed."""
+  pushedDate: DateTime
+
+  """The Repository this commit belongs to"""
+  repository: Repository!
+
+  """The HTTP path for this commit"""
+  resourcePath: URI!
+
+  """Commit signing information, if present."""
+  signature: GitSignature
+
+  """Status information for this commit"""
+  status: Status
+
+  """
+  Returns a URL to download a tarball archive for a repository.
+  Note: For private repositories, these links are temporary and expire after five minutes.
+  """
+  tarballUrl: URI!
+
+  """Commit's root Tree"""
+  tree: Tree!
+
+  """The HTTP path for the tree of this commit"""
+  treeResourcePath: URI!
+
+  """The HTTP URL for the tree of this commit"""
+  treeUrl: URI!
+
+  """The HTTP URL for this commit"""
+  url: URI!
+
+  """
+  Check if the viewer is able to change their subscription status for the repository.
+  """
+  viewerCanSubscribe: Boolean!
+
+  """
+  Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
+  """
+  viewerSubscription: SubscriptionState
+
+  """
+  Returns a URL to download a zipball archive for a repository.
+  Note: For private repositories, these links are temporary and expire after five minutes.
+  """
+  zipballUrl: URI!
+}
+
+"""Specifies an author for filtering Git commits."""
+input CommitAuthor {
+  """
+  ID of a User to filter by. If non-null, only commits authored by this user
+  will be returned. This field takes precedence over emails.
+  """
+  id: ID
+
+  """
+  Email addresses to filter by. Commits authored by any of the specified email addresses will be returned.
+  """
+  emails: [String!]
+}
+
+"""Represents a comment on a given Commit."""
+type CommitComment implements Node & Comment & Deletable & Updatable & UpdatableComment & Reactable & RepositoryNode {
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the subject of the comment."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """Identifies the comment body."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """The body rendered to text."""
+  bodyText: String!
+
+  """
+  Identifies the commit associated with the comment, if the commit exists.
+  """
+  commit: Commit
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The actor who edited the comment."""
+  editor: Actor
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """Returns whether or not a comment has been minimized."""
+  isMinimized: Boolean!
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """Returns why the comment was minimized."""
+  minimizedReason: String
+
+  """Identifies the file path associated with the comment."""
+  path: String
+
+  """Identifies the line position associated with the comment."""
+  position: Int
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """A list of reactions grouped by content left on the subject."""
+  reactionGroups: [ReactionGroup!]
+
+  """A list of Reactions left on the Issue."""
+  reactions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Allows filtering Reactions by emoji."""
+    content: ReactionContent
+
+    """Allows specifying the order in which reactions are returned."""
+    orderBy: ReactionOrder
+  ): ReactionConnection!
+
+  """The repository associated with this node."""
+  repository: Repository!
+
+  """The HTTP path permalink for this commit comment."""
+  resourcePath: URI!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL permalink for this commit comment."""
+  url: URI!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Check if the current viewer can delete this object."""
+  viewerCanDelete: Boolean!
+
+  """Check if the current viewer can minimize this object."""
+  viewerCanMinimize: Boolean!
+
+  """Can user react to this subject"""
+  viewerCanReact: Boolean!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+}
+
+"""The connection type for CommitComment."""
+type CommitCommentConnection {
+  """A list of edges."""
+  edges: [CommitCommentEdge]
+
+  """A list of nodes."""
+  nodes: [CommitComment]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type CommitCommentEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: CommitComment
+}
+
+"""A thread of comments on a commit."""
+type CommitCommentThread implements Node & RepositoryNode {
+  """The comments that exist in this thread."""
+  comments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): CommitCommentConnection!
+
+  """The commit the comments were made on."""
+  commit: Commit
+  id: ID!
+
+  """The file the comments were made on."""
+  path: String
+
+  """The position in the diff for the commit that the comment was made on."""
+  position: Int
+
+  """The repository associated with this node."""
+  repository: Repository!
+}
+
+"""The connection type for Commit."""
+type CommitConnection {
+  """A list of edges."""
+  edges: [CommitEdge]
+
+  """A list of nodes."""
+  nodes: [Commit]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Ordering options for commit contribution connections."""
+input CommitContributionOrder {
+  """The field by which to order commit contributions."""
+  field: CommitContributionOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which commit contribution connections can be ordered."""
+enum CommitContributionOrderField {
+  """Order commit contributions by when they were made."""
+  OCCURRED_AT
+
+  """Order commit contributions by how many commits they represent."""
+  COMMIT_COUNT
+}
+
+"""This aggregates commits made by a user within one repository."""
+type CommitContributionsByRepository {
+  """The commit contributions, each representing a day."""
+  contributions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    Ordering options for commit contributions returned from the connection.
+    """
+    orderBy: CommitContributionOrder = {field: OCCURRED_AT, direction: DESC}
+  ): CreatedCommitContributionConnection!
+
+  """The repository in which the commits were made."""
+  repository: Repository!
+
+  """
+  The HTTP path for the user's commits to the repository in this time range.
+  """
+  resourcePath: URI!
+
+  """
+  The HTTP URL for the user's commits to the repository in this time range.
+  """
+  url: URI!
+}
+
+"""An edge in a connection."""
+type CommitEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Commit
+}
+
+"""The connection type for Commit."""
+type CommitHistoryConnection {
+  """A list of edges."""
+  edges: [CommitEdge]
+
+  """A list of nodes."""
+  nodes: [Commit]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""A content attachment"""
+type ContentAttachment {
+  """
+  The body text of the content attachment. This parameter supports markdown.
+  """
+  body: String!
+
+  """The content reference that the content attachment is attached to."""
+  contentReference: ContentReference!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int!
+  id: ID!
+
+  """The title of the content attachment."""
+  title: String!
+}
+
+"""A content reference"""
+type ContentReference {
+  """Identifies the primary key from the database."""
+  databaseId: Int!
+  id: ID!
+
+  """The reference of the content reference."""
+  reference: String!
+}
+
+"""
+Represents a contribution a user made on GitHub, such as opening an issue.
+"""
+interface Contribution {
+  """
+  Whether this contribution is associated with a record you do not have access to. For
+  example, your own 'first issue' contribution may have been made on a repository you can no
+  longer access.
+  
+  """
+  isRestricted: Boolean!
+
+  """When this contribution was made."""
+  occurredAt: DateTime!
+
+  """The HTTP path for this contribution."""
+  resourcePath: URI!
+
+  """The HTTP URL for this contribution."""
+  url: URI!
+
+  """
+  The user who made this contribution.
+  
+  """
+  user: User!
+}
+
+"""A calendar of contributions made on GitHub by a user."""
+type ContributionCalendar {
+  """
+  A list of hex color codes used in this calendar. The darker the color, the more contributions it represents.
+  """
+  colors: [String!]!
+
+  """
+  Determine if the color set was chosen because it's currently Halloween.
+  """
+  isHalloween: Boolean!
+
+  """A list of the months of contributions in this calendar."""
+  months: [ContributionCalendarMonth!]!
+
+  """The count of total contributions in the calendar."""
+  totalContributions: Int!
+
+  """A list of the weeks of contributions in this calendar."""
+  weeks: [ContributionCalendarWeek!]!
+}
+
+"""Represents a single day of contributions on GitHub by a user."""
+type ContributionCalendarDay {
+  """
+  The hex color code that represents how many contributions were made on this day compared to others in the calendar.
+  """
+  color: String!
+
+  """How many contributions were made by the user on this day."""
+  contributionCount: Int!
+
+  """The day this square represents."""
+  date: Date!
+
+  """
+  A number representing which day of the week this square represents, e.g., 1 is Monday.
+  """
+  weekday: Int!
+}
+
+"""A month of contributions in a user's contribution graph."""
+type ContributionCalendarMonth {
+  """The date of the first day of this month."""
+  firstDay: Date!
+
+  """The name of the month."""
+  name: String!
+
+  """How many weeks started in this month."""
+  totalWeeks: Int!
+
+  """The year the month occurred in."""
+  year: Int!
+}
+
+"""A week of contributions in a user's contribution graph."""
+type ContributionCalendarWeek {
+  """The days of contributions in this week."""
+  contributionDays: [ContributionCalendarDay!]!
+
+  """The date of the earliest square in this week."""
+  firstDay: Date!
+}
+
+"""Ordering options for contribution connections."""
+input ContributionOrder {
+  """
+  The field by which to order contributions.
+  
+  **Upcoming Change on 2019-10-01 UTC**
+  **Description:** `field` will be removed. Only one order field is supported.
+  **Reason:** `field` will be removed.
+  
+  """
+  field: ContributionOrderField
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which contribution connections can be ordered."""
+enum ContributionOrderField {
+  """Order contributions by when they were made."""
+  OCCURRED_AT
+}
+
+"""
+A contributions collection aggregates contributions such as opened issues and commits created by a user.
+"""
+type ContributionsCollection {
+  """Commit contributions made by the user, grouped by repository."""
+  commitContributionsByRepository(
+    """How many repositories should be included."""
+    maxRepositories: Int = 25
+  ): [CommitContributionsByRepository!]!
+
+  """A calendar of this user's contributions on GitHub."""
+  contributionCalendar: ContributionCalendar!
+
+  """
+  The years the user has been making contributions with the most recent year first.
+  """
+  contributionYears: [Int!]!
+
+  """
+  Determine if this collection's time span ends in the current month.
+  
+  """
+  doesEndInCurrentMonth: Boolean!
+
+  """
+  The date of the first restricted contribution the user made in this time
+  period. Can only be non-null when the user has enabled private contribution counts.
+  """
+  earliestRestrictedContributionDate: Date
+
+  """The ending date and time of this collection."""
+  endedAt: DateTime!
+
+  """
+  The first issue the user opened on GitHub. This will be null if that issue was
+  opened outside the collection's time range and ignoreTimeRange is false. If
+  the issue is not visible but the user has opted to show private contributions,
+  a RestrictedContribution will be returned.
+  """
+  firstIssueContribution: CreatedIssueOrRestrictedContribution
+
+  """
+  The first pull request the user opened on GitHub. This will be null if that
+  pull request was opened outside the collection's time range and
+  ignoreTimeRange is not true. If the pull request is not visible but the user
+  has opted to show private contributions, a RestrictedContribution will be returned.
+  """
+  firstPullRequestContribution: CreatedPullRequestOrRestrictedContribution
+
+  """
+  The first repository the user created on GitHub. This will be null if that
+  first repository was created outside the collection's time range and
+  ignoreTimeRange is false. If the repository is not visible, then a
+  RestrictedContribution is returned.
+  """
+  firstRepositoryContribution: CreatedRepositoryOrRestrictedContribution
+
+  """
+  Does the user have any more activity in the timeline that occurred prior to the collection's time range?
+  """
+  hasActivityInThePast: Boolean!
+
+  """Determine if there are any contributions in this collection."""
+  hasAnyContributions: Boolean!
+
+  """
+  Determine if the user made any contributions in this time frame whose details
+  are not visible because they were made in a private repository. Can only be
+  true if the user enabled private contribution counts.
+  """
+  hasAnyRestrictedContributions: Boolean!
+
+  """Whether or not the collector's time span is all within the same day."""
+  isSingleDay: Boolean!
+
+  """A list of issues the user opened."""
+  issueContributions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Should the user's first issue ever be excluded from the result."""
+    excludeFirst: Boolean = false
+
+    """Should the user's most commented issue be excluded from the result."""
+    excludePopular: Boolean = false
+
+    """Ordering options for contributions returned from the connection."""
+    orderBy: ContributionOrder = {field: OCCURRED_AT, direction: DESC}
+  ): CreatedIssueContributionConnection!
+
+  """Issue contributions made by the user, grouped by repository."""
+  issueContributionsByRepository(
+    """How many repositories should be included."""
+    maxRepositories: Int = 25
+
+    """Should the user's first issue ever be excluded from the result."""
+    excludeFirst: Boolean = false
+
+    """Should the user's most commented issue be excluded from the result."""
+    excludePopular: Boolean = false
+  ): [IssueContributionsByRepository!]!
+
+  """
+  When the user signed up for GitHub. This will be null if that sign up date
+  falls outside the collection's time range and ignoreTimeRange is false.
+  """
+  joinedGitHubContribution: JoinedGitHubContribution
+
+  """
+  The date of the most recent restricted contribution the user made in this time
+  period. Can only be non-null when the user has enabled private contribution counts.
+  """
+  latestRestrictedContributionDate: Date
+
+  """
+  When this collection's time range does not include any activity from the user, use this
+  to get a different collection from an earlier time range that does have activity.
+  
+  """
+  mostRecentCollectionWithActivity: ContributionsCollection
+
+  """
+  Returns a different contributions collection from an earlier time range than this one
+  that does not have any contributions.
+  
+  """
+  mostRecentCollectionWithoutActivity: ContributionsCollection
+
+  """
+  The issue the user opened on GitHub that received the most comments in the specified
+  time frame.
+  
+  """
+  popularIssueContribution: CreatedIssueContribution
+
+  """
+  The pull request the user opened on GitHub that received the most comments in the
+  specified time frame.
+  
+  """
+  popularPullRequestContribution: CreatedPullRequestContribution
+
+  """Pull request contributions made by the user."""
+  pullRequestContributions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Should the user's first pull request ever be excluded from the result."""
+    excludeFirst: Boolean = false
+
+    """
+    Should the user's most commented pull request be excluded from the result.
+    """
+    excludePopular: Boolean = false
+
+    """Ordering options for contributions returned from the connection."""
+    orderBy: ContributionOrder = {field: OCCURRED_AT, direction: DESC}
+  ): CreatedPullRequestContributionConnection!
+
+  """Pull request contributions made by the user, grouped by repository."""
+  pullRequestContributionsByRepository(
+    """How many repositories should be included."""
+    maxRepositories: Int = 25
+
+    """Should the user's first pull request ever be excluded from the result."""
+    excludeFirst: Boolean = false
+
+    """
+    Should the user's most commented pull request be excluded from the result.
+    """
+    excludePopular: Boolean = false
+  ): [PullRequestContributionsByRepository!]!
+
+  """Pull request review contributions made by the user."""
+  pullRequestReviewContributions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for contributions returned from the connection."""
+    orderBy: ContributionOrder = {field: OCCURRED_AT, direction: DESC}
+  ): CreatedPullRequestReviewContributionConnection!
+
+  """
+  Pull request review contributions made by the user, grouped by repository.
+  """
+  pullRequestReviewContributionsByRepository(
+    """How many repositories should be included."""
+    maxRepositories: Int = 25
+  ): [PullRequestReviewContributionsByRepository!]!
+
+  """
+  A list of repositories owned by the user that the user created in this time range.
+  """
+  repositoryContributions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Should the user's first repository ever be excluded from the result."""
+    excludeFirst: Boolean = false
+
+    """Ordering options for contributions returned from the connection."""
+    orderBy: ContributionOrder = {field: OCCURRED_AT, direction: DESC}
+  ): CreatedRepositoryContributionConnection!
+
+  """
+  A count of contributions made by the user that the viewer cannot access. Only
+  non-zero when the user has chosen to share their private contribution counts.
+  """
+  restrictedContributionsCount: Int!
+
+  """The beginning date and time of this collection."""
+  startedAt: DateTime!
+
+  """How many commits were made by the user in this time span."""
+  totalCommitContributions: Int!
+
+  """How many issues the user opened."""
+  totalIssueContributions(
+    """Should the user's first issue ever be excluded from this count."""
+    excludeFirst: Boolean = false
+
+    """Should the user's most commented issue be excluded from this count."""
+    excludePopular: Boolean = false
+  ): Int!
+
+  """How many pull requests the user opened."""
+  totalPullRequestContributions(
+    """Should the user's first pull request ever be excluded from this count."""
+    excludeFirst: Boolean = false
+
+    """
+    Should the user's most commented pull request be excluded from this count.
+    """
+    excludePopular: Boolean = false
+  ): Int!
+
+  """How many pull request reviews the user left."""
+  totalPullRequestReviewContributions: Int!
+
+  """How many different repositories the user committed to."""
+  totalRepositoriesWithContributedCommits: Int!
+
+  """How many different repositories the user opened issues in."""
+  totalRepositoriesWithContributedIssues(
+    """Should the user's first issue ever be excluded from this count."""
+    excludeFirst: Boolean = false
+
+    """Should the user's most commented issue be excluded from this count."""
+    excludePopular: Boolean = false
+  ): Int!
+
+  """How many different repositories the user left pull request reviews in."""
+  totalRepositoriesWithContributedPullRequestReviews: Int!
+
+  """How many different repositories the user opened pull requests in."""
+  totalRepositoriesWithContributedPullRequests(
+    """Should the user's first pull request ever be excluded from this count."""
+    excludeFirst: Boolean = false
+
+    """
+    Should the user's most commented pull request be excluded from this count.
+    """
+    excludePopular: Boolean = false
+  ): Int!
+
+  """How many repositories the user created."""
+  totalRepositoryContributions(
+    """Should the user's first repository ever be excluded from this count."""
+    excludeFirst: Boolean = false
+  ): Int!
+
+  """The user who made the contributions in this collection."""
+  user: User!
+}
+
+"""
+Represents a 'converted_note_to_issue' event on a given issue or pull request.
+"""
+type ConvertedNoteToIssueEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+}
+
+"""Autogenerated input type of ConvertProjectCardNoteToIssue"""
+input ConvertProjectCardNoteToIssueInput {
+  """The ProjectCard ID to convert."""
+  projectCardId: ID!
+
+  """The ID of the repository to create the issue in."""
+  repositoryId: ID!
+
+  """
+  The title of the newly created issue. Defaults to the card's note text.
+  """
+  title: String
+
+  """The body of the newly created issue."""
+  body: String
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of ConvertProjectCardNoteToIssue"""
+type ConvertProjectCardNoteToIssuePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated ProjectCard."""
+  projectCard: ProjectCard
+}
+
+"""Autogenerated input type of CreateBranchProtectionRule"""
+input CreateBranchProtectionRuleInput {
+  """
+  The global relay id of the repository in which a new branch protection rule should be created in.
+  """
+  repositoryId: ID!
+
+  """The glob-like pattern used to determine matching branches."""
+  pattern: String!
+
+  """Are approving reviews required to update matching branches."""
+  requiresApprovingReviews: Boolean
+
+  """Number of approving reviews required to update matching branches."""
+  requiredApprovingReviewCount: Int
+
+  """Are commits required to be signed."""
+  requiresCommitSignatures: Boolean
+
+  """Can admins overwrite branch protection."""
+  isAdminEnforced: Boolean
+
+  """Are status checks required to update matching branches."""
+  requiresStatusChecks: Boolean
+
+  """Are branches required to be up to date before merging."""
+  requiresStrictStatusChecks: Boolean
+
+  """Are reviews from code owners required to update matching branches."""
+  requiresCodeOwnerReviews: Boolean
+
+  """
+  Will new commits pushed to matching branches dismiss pull request review approvals.
+  """
+  dismissesStaleReviews: Boolean
+
+  """Is dismissal of pull request reviews restricted."""
+  restrictsReviewDismissals: Boolean
+
+  """
+  A list of User or Team IDs allowed to dismiss reviews on pull requests targeting matching branches.
+  """
+  reviewDismissalActorIds: [ID!]
+
+  """Is pushing to matching branches restricted."""
+  restrictsPushes: Boolean
+
+  """A list of User, Team or App IDs allowed to push to matching branches."""
+  pushActorIds: [ID!]
+
+  """
+  List of required status check contexts that must pass for commits to be accepted to matching branches.
+  """
+  requiredStatusCheckContexts: [String!]
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CreateBranchProtectionRule"""
+type CreateBranchProtectionRulePayload {
+  """The newly created BranchProtectionRule."""
+  branchProtectionRule: BranchProtectionRule
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of CreateContentAttachment"""
+input CreateContentAttachmentInput {
+  """The node ID of the content_reference."""
+  contentReferenceId: ID!
+
+  """The title of the content attachment."""
+  title: String!
+
+  """The body of the content attachment, which may contain markdown."""
+  body: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Represents the contribution a user made by committing to a repository."""
+type CreatedCommitContribution implements Contribution {
+  """How many commits were made on this day to this repository by the user."""
+  commitCount: Int!
+
+  """
+  Whether this contribution is associated with a record you do not have access to. For
+  example, your own 'first issue' contribution may have been made on a repository you can no
+  longer access.
+  
+  """
+  isRestricted: Boolean!
+
+  """When this contribution was made."""
+  occurredAt: DateTime!
+
+  """The repository the user made a commit in."""
+  repository: Repository!
+
+  """The HTTP path for this contribution."""
+  resourcePath: URI!
+
+  """The HTTP URL for this contribution."""
+  url: URI!
+
+  """
+  The user who made this contribution.
+  
+  """
+  user: User!
+}
+
+"""The connection type for CreatedCommitContribution."""
+type CreatedCommitContributionConnection {
+  """A list of edges."""
+  edges: [CreatedCommitContributionEdge]
+
+  """A list of nodes."""
+  nodes: [CreatedCommitContribution]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """
+  Identifies the total count of commits across days and repositories in the connection.
+  
+  """
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type CreatedCommitContributionEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: CreatedCommitContribution
+}
+
+"""Represents the contribution a user made on GitHub by opening an issue."""
+type CreatedIssueContribution implements Contribution {
+  """
+  Whether this contribution is associated with a record you do not have access to. For
+  example, your own 'first issue' contribution may have been made on a repository you can no
+  longer access.
+  
+  """
+  isRestricted: Boolean!
+
+  """The issue that was opened."""
+  issue: Issue!
+
+  """When this contribution was made."""
+  occurredAt: DateTime!
+
+  """The HTTP path for this contribution."""
+  resourcePath: URI!
+
+  """The HTTP URL for this contribution."""
+  url: URI!
+
+  """
+  The user who made this contribution.
+  
+  """
+  user: User!
+}
+
+"""The connection type for CreatedIssueContribution."""
+type CreatedIssueContributionConnection {
+  """A list of edges."""
+  edges: [CreatedIssueContributionEdge]
+
+  """A list of nodes."""
+  nodes: [CreatedIssueContribution]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type CreatedIssueContributionEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: CreatedIssueContribution
+}
+
+"""
+Represents either a issue the viewer can access or a restricted contribution.
+"""
+union CreatedIssueOrRestrictedContribution = CreatedIssueContribution | RestrictedContribution
+
+"""
+Represents the contribution a user made on GitHub by opening a pull request.
+"""
+type CreatedPullRequestContribution implements Contribution {
+  """
+  Whether this contribution is associated with a record you do not have access to. For
+  example, your own 'first issue' contribution may have been made on a repository you can no
+  longer access.
+  
+  """
+  isRestricted: Boolean!
+
+  """When this contribution was made."""
+  occurredAt: DateTime!
+
+  """The pull request that was opened."""
+  pullRequest: PullRequest!
+
+  """The HTTP path for this contribution."""
+  resourcePath: URI!
+
+  """The HTTP URL for this contribution."""
+  url: URI!
+
+  """
+  The user who made this contribution.
+  
+  """
+  user: User!
+}
+
+"""The connection type for CreatedPullRequestContribution."""
+type CreatedPullRequestContributionConnection {
+  """A list of edges."""
+  edges: [CreatedPullRequestContributionEdge]
+
+  """A list of nodes."""
+  nodes: [CreatedPullRequestContribution]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type CreatedPullRequestContributionEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: CreatedPullRequestContribution
+}
+
+"""
+Represents either a pull request the viewer can access or a restricted contribution.
+"""
+union CreatedPullRequestOrRestrictedContribution = CreatedPullRequestContribution | RestrictedContribution
+
+"""
+Represents the contribution a user made by leaving a review on a pull request.
+"""
+type CreatedPullRequestReviewContribution implements Contribution {
+  """
+  Whether this contribution is associated with a record you do not have access to. For
+  example, your own 'first issue' contribution may have been made on a repository you can no
+  longer access.
+  
+  """
+  isRestricted: Boolean!
+
+  """When this contribution was made."""
+  occurredAt: DateTime!
+
+  """The pull request the user reviewed."""
+  pullRequest: PullRequest!
+
+  """The review the user left on the pull request."""
+  pullRequestReview: PullRequestReview!
+
+  """The repository containing the pull request that the user reviewed."""
+  repository: Repository!
+
+  """The HTTP path for this contribution."""
+  resourcePath: URI!
+
+  """The HTTP URL for this contribution."""
+  url: URI!
+
+  """
+  The user who made this contribution.
+  
+  """
+  user: User!
+}
+
+"""The connection type for CreatedPullRequestReviewContribution."""
+type CreatedPullRequestReviewContributionConnection {
+  """A list of edges."""
+  edges: [CreatedPullRequestReviewContributionEdge]
+
+  """A list of nodes."""
+  nodes: [CreatedPullRequestReviewContribution]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type CreatedPullRequestReviewContributionEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: CreatedPullRequestReviewContribution
+}
+
+"""
+Represents the contribution a user made on GitHub by creating a repository.
+"""
+type CreatedRepositoryContribution implements Contribution {
+  """
+  Whether this contribution is associated with a record you do not have access to. For
+  example, your own 'first issue' contribution may have been made on a repository you can no
+  longer access.
+  
+  """
+  isRestricted: Boolean!
+
+  """When this contribution was made."""
+  occurredAt: DateTime!
+
+  """The repository that was created."""
+  repository: Repository!
+
+  """The HTTP path for this contribution."""
+  resourcePath: URI!
+
+  """The HTTP URL for this contribution."""
+  url: URI!
+
+  """
+  The user who made this contribution.
+  
+  """
+  user: User!
+}
+
+"""The connection type for CreatedRepositoryContribution."""
+type CreatedRepositoryContributionConnection {
+  """A list of edges."""
+  edges: [CreatedRepositoryContributionEdge]
+
+  """A list of nodes."""
+  nodes: [CreatedRepositoryContribution]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type CreatedRepositoryContributionEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: CreatedRepositoryContribution
+}
+
+"""
+Represents either a repository the viewer can access or a restricted contribution.
+"""
+union CreatedRepositoryOrRestrictedContribution = CreatedRepositoryContribution | RestrictedContribution
+
+"""Autogenerated input type of CreateEnterpriseOrganization"""
+input CreateEnterpriseOrganizationInput {
+  """The ID of the enterprise owning the new organization."""
+  enterpriseId: ID!
+
+  """The login of the new organization."""
+  login: String!
+
+  """The profile name of the new organization."""
+  profileName: String!
+
+  """The email used for sending billing receipts."""
+  billingEmail: String!
+
+  """The logins for the administrators of the new organization."""
+  adminLogins: [String!]!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CreateEnterpriseOrganization"""
+type CreateEnterpriseOrganizationPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The enterprise that owns the created organization."""
+  enterprise: Enterprise
+
+  """The organization that was created."""
+  organization: Organization
+}
+
+"""Autogenerated input type of CreateIssue"""
+input CreateIssueInput {
+  """The Node ID of the repository."""
+  repositoryId: ID!
+
+  """The title for the issue."""
+  title: String!
+
+  """The body for the issue description."""
+  body: String
+
+  """The Node ID for the user assignee for this issue."""
+  assigneeIds: [ID!]
+
+  """The Node ID of the milestone for this issue."""
+  milestoneId: ID
+
+  """An array of Node IDs of labels for this issue."""
+  labelIds: [ID!]
+
+  """An array of Node IDs for projects associated with this issue."""
+  projectIds: [ID!]
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CreateIssue"""
+type CreateIssuePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The new issue."""
+  issue: Issue
+}
+
+"""Autogenerated input type of CreateProject"""
+input CreateProjectInput {
+  """The owner ID to create the project under."""
+  ownerId: ID!
+
+  """The name of project."""
+  name: String!
+
+  """The description of project."""
+  body: String
+
+  """The name of the GitHub-provided template."""
+  template: ProjectTemplate
+
+  """
+  A list of repository IDs to create as linked repositories for the project
+  """
+  repositoryIds: [ID!]
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CreateProject"""
+type CreateProjectPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The new project."""
+  project: Project
+}
+
+"""Autogenerated input type of CreatePullRequest"""
+input CreatePullRequestInput {
+  """The Node ID of the repository."""
+  repositoryId: ID!
+
+  """
+  The name of the branch you want your changes pulled into. This should be an existing branch
+  on the current repository. You cannot update the base branch on a pull request to point
+  to another repository.
+  
+  """
+  baseRefName: String!
+
+  """
+  The name of the branch where your changes are implemented. For cross-repository pull requests
+  in the same network, namespace `head_ref_name` with a user like this: `username:branch`.
+  
+  """
+  headRefName: String!
+
+  """The title of the pull request."""
+  title: String!
+
+  """The contents of the pull request."""
+  body: String
+
+  """Indicates whether maintainers can modify the pull request."""
+  maintainerCanModify: Boolean = true
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CreatePullRequest"""
+type CreatePullRequestPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The new pull request."""
+  pullRequest: PullRequest
+}
+
+"""Autogenerated input type of CreateRef"""
+input CreateRefInput {
+  """The Node ID of the Repository to create the Ref in."""
+  repositoryId: ID!
+
+  """
+  The fully qualified name of the new Ref (ie: `refs/heads/my_new_branch`).
+  """
+  name: String!
+
+  """The GitObjectID that the new Ref shall target. Must point to a commit."""
+  oid: GitObjectID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CreateRef"""
+type CreateRefPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The newly created ref."""
+  ref: Ref
+}
+
+"""Autogenerated input type of CreateRepository"""
+input CreateRepositoryInput {
+  """The name of the new repository."""
+  name: String!
+
+  """The ID of the owner for the new repository."""
+  ownerId: ID
+
+  """A short description of the new repository."""
+  description: String
+
+  """Indicates the repository's visibility level."""
+  visibility: RepositoryVisibility!
+
+  """
+  Whether this repository should be marked as a template such that anyone who
+  can access it can create new repositories with the same files and directory structure.
+  """
+  template: Boolean = false
+
+  """The URL for a web page about this repository."""
+  homepageUrl: URI
+
+  """Indicates if the repository should have the wiki feature enabled."""
+  hasWikiEnabled: Boolean = false
+
+  """Indicates if the repository should have the issues feature enabled."""
+  hasIssuesEnabled: Boolean = true
+
+  """
+  When an organization is specified as the owner, this ID identifies the team
+  that should be granted access to the new repository.
+  """
+  teamId: ID
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CreateRepository"""
+type CreateRepositoryPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The new repository."""
+  repository: Repository
+}
+
+"""Autogenerated input type of CreateTeamDiscussionComment"""
+input CreateTeamDiscussionCommentInput {
+  """The ID of the discussion to which the comment belongs."""
+  discussionId: ID!
+
+  """The content of the comment."""
+  body: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CreateTeamDiscussionComment"""
+type CreateTeamDiscussionCommentPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The new comment."""
+  teamDiscussionComment: TeamDiscussionComment
+}
+
+"""Autogenerated input type of CreateTeamDiscussion"""
+input CreateTeamDiscussionInput {
+  """The ID of the team to which the discussion belongs."""
+  teamId: ID!
+
+  """The title of the discussion."""
+  title: String!
+
+  """The content of the discussion."""
+  body: String!
+
+  """
+  If true, restricts the visiblity of this discussion to team members and
+  organization admins. If false or not specified, allows any organization member
+  to view this discussion.
+  """
+  private: Boolean
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of CreateTeamDiscussion"""
+type CreateTeamDiscussionPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The new discussion."""
+  teamDiscussion: TeamDiscussion
+}
+
+"""Represents a mention made by one issue or pull request to another."""
+type CrossReferencedEvent implements Node & UniformResourceLocatable {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Reference originated in a different repository."""
+  isCrossRepository: Boolean!
+
+  """Identifies when the reference was made."""
+  referencedAt: DateTime!
+
+  """The HTTP path for this pull request."""
+  resourcePath: URI!
+
+  """Issue or pull request that made the reference."""
+  source: ReferencedSubject!
+
+  """Issue or pull request to which the reference was made."""
+  target: ReferencedSubject!
+
+  """The HTTP URL for this pull request."""
+  url: URI!
+
+  """Checks if the target will be closed when the source is merged."""
+  willCloseTarget: Boolean!
+}
+
+"""An ISO-8601 encoded date string."""
+scalar Date
+
+"""An ISO-8601 encoded UTC date string."""
+scalar DateTime
+
+"""Autogenerated input type of DeclineTopicSuggestion"""
+input DeclineTopicSuggestionInput {
+  """The Node ID of the repository."""
+  repositoryId: ID!
+
+  """The name of the suggested topic."""
+  name: String!
+
+  """The reason why the suggested topic is declined."""
+  reason: TopicSuggestionDeclineReason!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeclineTopicSuggestion"""
+type DeclineTopicSuggestionPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The declined topic."""
+  topic: Topic
+}
+
+"""The possible default permissions for repositories."""
+enum DefaultRepositoryPermissionField {
+  """No access"""
+  NONE
+
+  """Can read repos by default"""
+  READ
+
+  """Can read and write repos by default"""
+  WRITE
+
+  """Can read, write, and administrate repos by default"""
+  ADMIN
+}
+
+"""Entities that can be deleted."""
+interface Deletable {
+  """Check if the current viewer can delete this object."""
+  viewerCanDelete: Boolean!
+}
+
+"""Autogenerated input type of DeleteBranchProtectionRule"""
+input DeleteBranchProtectionRuleInput {
+  """The global relay id of the branch protection rule to be deleted."""
+  branchProtectionRuleId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeleteBranchProtectionRule"""
+type DeleteBranchProtectionRulePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of DeleteIssueComment"""
+input DeleteIssueCommentInput {
+  """The ID of the comment to delete."""
+  id: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeleteIssueComment"""
+type DeleteIssueCommentPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of DeleteIssue"""
+input DeleteIssueInput {
+  """The ID of the issue to delete."""
+  issueId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeleteIssue"""
+type DeleteIssuePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The repository the issue belonged to"""
+  repository: Repository
+}
+
+"""Autogenerated input type of DeletePackageVersion"""
+input DeletePackageVersionInput {
+  """The ID of the package version to be deleted."""
+  packageVersionId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of DeleteProjectCard"""
+input DeleteProjectCardInput {
+  """The id of the card to delete."""
+  cardId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeleteProjectCard"""
+type DeleteProjectCardPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The column the deleted card was in."""
+  column: ProjectColumn
+
+  """The deleted card ID."""
+  deletedCardId: ID
+}
+
+"""Autogenerated input type of DeleteProjectColumn"""
+input DeleteProjectColumnInput {
+  """The id of the column to delete."""
+  columnId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeleteProjectColumn"""
+type DeleteProjectColumnPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The deleted column ID."""
+  deletedColumnId: ID
+
+  """The project the deleted column was in."""
+  project: Project
+}
+
+"""Autogenerated input type of DeleteProject"""
+input DeleteProjectInput {
+  """The Project ID to update."""
+  projectId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeleteProject"""
+type DeleteProjectPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The repository or organization the project was removed from."""
+  owner: ProjectOwner
+}
+
+"""Autogenerated input type of DeletePullRequestReviewComment"""
+input DeletePullRequestReviewCommentInput {
+  """The ID of the comment to delete."""
+  id: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeletePullRequestReviewComment"""
+type DeletePullRequestReviewCommentPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The pull request review the deleted comment belonged to."""
+  pullRequestReview: PullRequestReview
+}
+
+"""Autogenerated input type of DeletePullRequestReview"""
+input DeletePullRequestReviewInput {
+  """The Node ID of the pull request review to delete."""
+  pullRequestReviewId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeletePullRequestReview"""
+type DeletePullRequestReviewPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The deleted pull request review."""
+  pullRequestReview: PullRequestReview
+}
+
+"""Autogenerated input type of DeleteRef"""
+input DeleteRefInput {
+  """The Node ID of the Ref to be deleted."""
+  refId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeleteRef"""
+type DeleteRefPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of DeleteTeamDiscussionComment"""
+input DeleteTeamDiscussionCommentInput {
+  """The ID of the comment to delete."""
+  id: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeleteTeamDiscussionComment"""
+type DeleteTeamDiscussionCommentPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of DeleteTeamDiscussion"""
+input DeleteTeamDiscussionInput {
+  """The discussion ID to delete."""
+  id: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DeleteTeamDiscussion"""
+type DeleteTeamDiscussionPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Represents a 'demilestoned' event on a given issue or pull request."""
+type DemilestonedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """
+  Identifies the milestone title associated with the 'demilestoned' event.
+  """
+  milestoneTitle: String!
+
+  """Object referenced by event."""
+  subject: MilestoneItem!
+}
+
+"""Represents a 'deployed' event on a given pull request."""
+type DeployedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The deployment associated with the 'deployed' event."""
+  deployment: Deployment!
+  id: ID!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+
+  """The ref associated with the 'deployed' event."""
+  ref: Ref
+}
+
+"""A repository deploy key."""
+type DeployKey implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """The deploy key."""
+  key: String!
+
+  """Whether or not the deploy key is read only."""
+  readOnly: Boolean!
+
+  """The deploy key title."""
+  title: String!
+
+  """Whether or not the deploy key has been verified."""
+  verified: Boolean!
+}
+
+"""The connection type for DeployKey."""
+type DeployKeyConnection {
+  """A list of edges."""
+  edges: [DeployKeyEdge]
+
+  """A list of nodes."""
+  nodes: [DeployKey]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type DeployKeyEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: DeployKey
+}
+
+"""Represents triggered deployment instance."""
+type Deployment implements Node {
+  """Identifies the commit sha of the deployment."""
+  commit: Commit
+
+  """
+  Identifies the oid of the deployment commit, even if the commit has been deleted.
+  """
+  commitOid: String!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the actor who triggered the deployment."""
+  creator: Actor
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The deployment description."""
+  description: String
+
+  """The environment to which this deployment was made."""
+  environment: String
+  id: ID!
+
+  """The latest status of this deployment."""
+  latestStatus: DeploymentStatus
+
+  """Extra information that a deployment system might need."""
+  payload: String
+
+  """
+  Identifies the Ref of the deployment, if the deployment was created by ref.
+  """
+  ref: Ref
+
+  """Identifies the repository associated with the deployment."""
+  repository: Repository!
+
+  """The current state of the deployment."""
+  state: DeploymentState
+
+  """A list of statuses associated with the deployment."""
+  statuses(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): DeploymentStatusConnection
+
+  """The deployment task."""
+  task: String
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+}
+
+"""The connection type for Deployment."""
+type DeploymentConnection {
+  """A list of edges."""
+  edges: [DeploymentEdge]
+
+  """A list of nodes."""
+  nodes: [Deployment]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type DeploymentEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Deployment
+}
+
+"""
+Represents a 'deployment_environment_changed' event on a given pull request.
+"""
+type DeploymentEnvironmentChangedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The deployment status that updated the deployment environment."""
+  deploymentStatus: DeploymentStatus!
+  id: ID!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+}
+
+"""Ordering options for deployment connections"""
+input DeploymentOrder {
+  """The field to order deployments by."""
+  field: DeploymentOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which deployment connections can be ordered."""
+enum DeploymentOrderField {
+  """Order collection by creation time"""
+  CREATED_AT
+}
+
+"""The possible states in which a deployment can be."""
+enum DeploymentState {
+  """The pending deployment was not updated after 30 minutes."""
+  ABANDONED
+
+  """The deployment is currently active."""
+  ACTIVE
+
+  """An inactive transient deployment."""
+  DESTROYED
+
+  """The deployment experienced an error."""
+  ERROR
+
+  """The deployment has failed."""
+  FAILURE
+
+  """The deployment is inactive."""
+  INACTIVE
+
+  """The deployment is pending."""
+  PENDING
+
+  """The deployment has queued"""
+  QUEUED
+
+  """The deployment is in progress."""
+  IN_PROGRESS
+}
+
+"""Describes the status of a given deployment attempt."""
+type DeploymentStatus implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the actor who triggered the deployment."""
+  creator: Actor
+
+  """Identifies the deployment associated with status."""
+  deployment: Deployment!
+
+  """Identifies the description of the deployment."""
+  description: String
+
+  """Identifies the environment URL of the deployment."""
+  environmentUrl: URI
+  id: ID!
+
+  """Identifies the log URL of the deployment."""
+  logUrl: URI
+
+  """Identifies the current state of the deployment."""
+  state: DeploymentStatusState!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+}
+
+"""The connection type for DeploymentStatus."""
+type DeploymentStatusConnection {
+  """A list of edges."""
+  edges: [DeploymentStatusEdge]
+
+  """A list of nodes."""
+  nodes: [DeploymentStatus]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type DeploymentStatusEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: DeploymentStatus
+}
+
+"""The possible states for a deployment status."""
+enum DeploymentStatusState {
+  """The deployment is pending."""
+  PENDING
+
+  """The deployment was successful."""
+  SUCCESS
+
+  """The deployment has failed."""
+  FAILURE
+
+  """The deployment is inactive."""
+  INACTIVE
+
+  """The deployment experienced an error."""
+  ERROR
+
+  """The deployment is queued"""
+  QUEUED
+
+  """The deployment is in progress."""
+  IN_PROGRESS
+}
+
+"""Autogenerated input type of DismissPullRequestReview"""
+input DismissPullRequestReviewInput {
+  """The Node ID of the pull request review to modify."""
+  pullRequestReviewId: ID!
+
+  """The contents of the pull request review dismissal message."""
+  message: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of DismissPullRequestReview"""
+type DismissPullRequestReviewPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The dismissed pull request review."""
+  pullRequestReview: PullRequestReview
+}
+
+"""Specifies a review comment to be left with a Pull Request Review."""
+input DraftPullRequestReviewComment {
+  """Path to the file being commented on."""
+  path: String!
+
+  """Position in the file to leave a comment on."""
+  position: Int!
+
+  """Body of the comment to leave."""
+  body: String!
+}
+
+"""
+An account to manage multiple organizations with consolidated policy and billing.
+"""
+type Enterprise implements Node {
+  """A URL pointing to the enterprise's public avatar."""
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int
+  ): URI!
+
+  """Enterprise billing information visible to enterprise billing managers."""
+  billingInfo: EnterpriseBillingInfo
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The description of the enterprise."""
+  description: String
+
+  """The description of the enterprise as HTML."""
+  descriptionHTML: HTML!
+  id: ID!
+
+  """The location of the enterprise."""
+  location: String
+
+  """A list of users who are members of this enterprise."""
+  members(
+    """Only return members within the organizations with these logins"""
+    organizationLogins: [String!]
+
+    """The search string to look for."""
+    query: String
+
+    """Ordering options for members returned from the connection."""
+    orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC}
+
+    """The role of the user in the enterprise organization or server."""
+    role: EnterpriseUserAccountMembershipRole
+
+    """Only return members within the selected GitHub Enterprise deployment"""
+    deployment: EnterpriseUserDeployment
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterpriseMemberConnection!
+
+  """The name of the enterprise."""
+  name: String!
+
+  """A list of organizations that belong to this enterprise."""
+  organizations(
+    """The search string to look for."""
+    query: String
+
+    """Ordering options for organizations returned from the connection."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): OrganizationConnection!
+
+  """Enterprise information only visible to enterprise owners."""
+  ownerInfo: EnterpriseOwnerInfo
+
+  """The HTTP path for this enterprise."""
+  resourcePath: URI!
+
+  """The HTTP URL for this enterprise."""
+  url: URI!
+
+  """A list of user accounts on this enterprise."""
+  userAccounts(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterpriseUserAccountConnection!
+
+  """Is the current viewer an admin of this enterprise?"""
+  viewerIsAdmin: Boolean!
+
+  """The URL of the enterprise website."""
+  websiteUrl: URI
+}
+
+"""The connection type for User."""
+type EnterpriseAdministratorConnection {
+  """A list of edges."""
+  edges: [EnterpriseAdministratorEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""A User who is an administrator of an enterprise."""
+type EnterpriseAdministratorEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: User
+
+  """The role of the administrator."""
+  role: EnterpriseAdministratorRole!
+}
+
+"""
+An invitation for a user to become an owner or billing manager of an enterprise.
+"""
+type EnterpriseAdministratorInvitation implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The email of the person who was invited to the enterprise."""
+  email: String
+
+  """The enterprise the invitation is for."""
+  enterprise: Enterprise!
+  id: ID!
+
+  """The user who was invited to the enterprise."""
+  invitee: User
+
+  """The user who created the invitation."""
+  inviter: User
+
+  """
+  The invitee's pending role in the enterprise (owner or billing_manager).
+  """
+  role: EnterpriseAdministratorRole!
+}
+
+"""The connection type for EnterpriseAdministratorInvitation."""
+type EnterpriseAdministratorInvitationConnection {
+  """A list of edges."""
+  edges: [EnterpriseAdministratorInvitationEdge]
+
+  """A list of nodes."""
+  nodes: [EnterpriseAdministratorInvitation]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type EnterpriseAdministratorInvitationEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: EnterpriseAdministratorInvitation
+}
+
+"""Ordering options for enterprise administrator invitation connections"""
+input EnterpriseAdministratorInvitationOrder {
+  """The field to order enterprise administrator invitations by."""
+  field: EnterpriseAdministratorInvitationOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""
+Properties by which enterprise administrator invitation connections can be ordered.
+"""
+enum EnterpriseAdministratorInvitationOrderField {
+  """Order enterprise administrator member invitations by creation time"""
+  CREATED_AT
+}
+
+"""The possible administrator roles in an enterprise account."""
+enum EnterpriseAdministratorRole {
+  """Represents an owner of the enterprise account."""
+  OWNER
+
+  """Represents a billing manager of the enterprise account."""
+  BILLING_MANAGER
+}
+
+"""Metadata for an audit entry containing enterprise account information."""
+interface EnterpriseAuditEntryData {
+  """The HTTP path for this enterprise."""
+  enterpriseResourcePath: URI
+
+  """The slug of the enterprise."""
+  enterpriseSlug: String
+
+  """The HTTP URL for this enterprise."""
+  enterpriseUrl: URI
+}
+
+"""
+Enterprise billing information visible to enterprise billing managers and owners.
+"""
+type EnterpriseBillingInfo {
+  """The number of licenseable users/emails across the enterprise."""
+  allLicensableUsersCount: Int!
+
+  """
+  The number of data packs used by all organizations owned by the enterprise.
+  """
+  assetPacks: Int!
+
+  """
+  The number of available seats across all owned organizations based on the unique number of billable users.
+  """
+  availableSeats: Int! @deprecated(reason: "`availableSeats` will be replaced with `totalAvailableLicenses` to provide more clarity on the value being returned Use EnterpriseBillingInfo.totalAvailableLicenses instead. Removal on 2020-01-01 UTC.")
+
+  """
+  The bandwidth quota in GB for all organizations owned by the enterprise.
+  """
+  bandwidthQuota: Float!
+
+  """
+  The bandwidth usage in GB for all organizations owned by the enterprise.
+  """
+  bandwidthUsage: Float!
+
+  """The bandwidth usage as a percentage of the bandwidth quota."""
+  bandwidthUsagePercentage: Int!
+
+  """The total seats across all organizations owned by the enterprise."""
+  seats: Int! @deprecated(reason: "`seats` will be replaced with `totalLicenses` to provide more clarity on the value being returned Use EnterpriseBillingInfo.totalLicenses instead. Removal on 2020-01-01 UTC.")
+
+  """The storage quota in GB for all organizations owned by the enterprise."""
+  storageQuota: Float!
+
+  """The storage usage in GB for all organizations owned by the enterprise."""
+  storageUsage: Float!
+
+  """The storage usage as a percentage of the storage quota."""
+  storageUsagePercentage: Int!
+
+  """
+  The number of available licenses across all owned organizations based on the unique number of billable users.
+  """
+  totalAvailableLicenses: Int!
+
+  """The total number of licenses allocated."""
+  totalLicenses: Int!
+}
+
+"""
+The possible values for the enterprise default repository permission setting.
+"""
+enum EnterpriseDefaultRepositoryPermissionSettingValue {
+  """
+  Organizations in the enterprise choose default repository permissions for their members.
+  """
+  NO_POLICY
+
+  """
+  Organization members will be able to clone, pull, push, and add new collaborators to all organization repositories.
+  """
+  ADMIN
+
+  """
+  Organization members will be able to clone, pull, and push all organization repositories.
+  """
+  WRITE
+
+  """
+  Organization members will be able to clone and pull all organization repositories.
+  """
+  READ
+
+  """
+  Organization members will only be able to clone and pull public repositories.
+  """
+  NONE
+}
+
+"""An edge in a connection."""
+type EnterpriseEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Enterprise
+}
+
+"""The possible values for an enabled/disabled enterprise setting."""
+enum EnterpriseEnabledDisabledSettingValue {
+  """The setting is enabled for organizations in the enterprise."""
+  ENABLED
+
+  """The setting is disabled for organizations in the enterprise."""
+  DISABLED
+
+  """There is no policy set for organizations in the enterprise."""
+  NO_POLICY
+}
+
+"""The possible values for an enabled/no policy enterprise setting."""
+enum EnterpriseEnabledSettingValue {
+  """The setting is enabled for organizations in the enterprise."""
+  ENABLED
+
+  """There is no policy set for organizations in the enterprise."""
+  NO_POLICY
+}
+
+"""
+An identity provider configured to provision identities for an enterprise.
+"""
+type EnterpriseIdentityProvider implements Node {
+  """
+  The digest algorithm used to sign SAML requests for the identity provider.
+  """
+  digestMethod: SamlDigestAlgorithm
+
+  """The enterprise this identity provider belongs to."""
+  enterprise: Enterprise
+
+  """ExternalIdentities provisioned by this identity provider."""
+  externalIdentities(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ExternalIdentityConnection!
+  id: ID!
+
+  """
+  The x509 certificate used by the identity provider to sign assertions and responses.
+  """
+  idpCertificate: X509Certificate
+
+  """The Issuer Entity ID for the SAML identity provider."""
+  issuer: String
+
+  """
+  Recovery codes that can be used by admins to access the enterprise if the identity provider is unavailable.
+  """
+  recoveryCodes: [String!]
+
+  """
+  The signature algorithm used to sign SAML requests for the identity provider.
+  """
+  signatureMethod: SamlSignatureAlgorithm
+
+  """The URL endpoint for the identity provider's SAML SSO."""
+  ssoUrl: URI
+}
+
+"""An object that is a member of an enterprise."""
+union EnterpriseMember = User | EnterpriseUserAccount
+
+"""The connection type for EnterpriseMember."""
+type EnterpriseMemberConnection {
+  """A list of edges."""
+  edges: [EnterpriseMemberEdge]
+
+  """A list of nodes."""
+  nodes: [EnterpriseMember]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""
+A User who is a member of an enterprise through one or more organizations.
+"""
+type EnterpriseMemberEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """Whether the user does not have a license for the enterprise."""
+  isUnlicensed: Boolean!
+
+  """The item at the end of the edge."""
+  node: EnterpriseMember
+}
+
+"""Ordering options for enterprise member connections."""
+input EnterpriseMemberOrder {
+  """The field to order enterprise members by."""
+  field: EnterpriseMemberOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which enterprise member connections can be ordered."""
+enum EnterpriseMemberOrderField {
+  """Order enterprise members by login"""
+  LOGIN
+
+  """Order enterprise members by creation time"""
+  CREATED_AT
+}
+
+"""
+The possible values for the enterprise members can create repositories setting.
+"""
+enum EnterpriseMembersCanCreateRepositoriesSettingValue {
+  """
+  Organization administrators choose whether to allow members to create repositories.
+  """
+  NO_POLICY
+
+  """Members will be able to create public and private repositories."""
+  ALL
+
+  """Members will be able to create only public repositories."""
+  PUBLIC
+
+  """Members will be able to create only private repositories."""
+  PRIVATE
+
+  """Members will not be able to create public or private repositories."""
+  DISABLED
+}
+
+"""The possible values for the members can make purchases setting."""
+enum EnterpriseMembersCanMakePurchasesSettingValue {
+  """The setting is enabled for organizations in the enterprise."""
+  ENABLED
+
+  """The setting is disabled for organizations in the enterprise."""
+  DISABLED
+}
+
+"""
+The possible values we have for filtering Platform::Objects::User#enterprises.
+"""
+enum EnterpriseMembershipType {
+  """
+  Returns all enterprises in which the user is a member, admin, or billing manager.
+  """
+  ALL
+
+  """Returns all enterprises in which the user is an admin."""
+  ADMIN
+
+  """Returns all enterprises in which the user is a billing manager."""
+  BILLING_MANAGER
+
+  """
+  Returns all enterprises in which the user is a member of an org that is owned by the enterprise.
+  """
+  ORG_MEMBERSHIP
+}
+
+"""Ordering options for enterprises."""
+input EnterpriseOrder {
+  """The field to order enterprises by."""
+  field: EnterpriseOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which enterprise connections can be ordered."""
+enum EnterpriseOrderField {
+  """Order enterprises by name"""
+  NAME
+}
+
+"""The connection type for Organization."""
+type EnterpriseOrganizationMembershipConnection {
+  """A list of edges."""
+  edges: [EnterpriseOrganizationMembershipEdge]
+
+  """A list of nodes."""
+  nodes: [Organization]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An enterprise organization that a user is a member of."""
+type EnterpriseOrganizationMembershipEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Organization
+
+  """The role of the user in the enterprise membership."""
+  role: EnterpriseUserAccountMembershipRole!
+}
+
+"""The connection type for User."""
+type EnterpriseOutsideCollaboratorConnection {
+  """A list of edges."""
+  edges: [EnterpriseOutsideCollaboratorEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""
+A User who is an outside collaborator of an enterprise through one or more organizations.
+"""
+type EnterpriseOutsideCollaboratorEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """
+  Whether the outside collaborator does not have a license for the enterprise.
+  """
+  isUnlicensed: Boolean!
+
+  """The item at the end of the edge."""
+  node: User
+
+  """The enterprise organization repositories this user is a member of."""
+  repositories(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for repositories."""
+    orderBy: RepositoryOrder = {field: NAME, direction: ASC}
+  ): EnterpriseRepositoryInfoConnection!
+}
+
+"""Enterprise information only visible to enterprise owners."""
+type EnterpriseOwnerInfo {
+  """
+  A list of enterprise organizations configured with the provided action execution capabilities setting value.
+  """
+  actionExecutionCapabilitySettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """A list of all of the administrators for this enterprise."""
+  admins(
+    """The search string to look for."""
+    query: String
+
+    """The role to filter by."""
+    role: EnterpriseAdministratorRole
+
+    """Ordering options for administrators returned from the connection."""
+    orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC}
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterpriseAdministratorConnection!
+
+  """
+  A list of users in the enterprise who currently have two-factor authentication disabled.
+  """
+  affiliatedUsersWithTwoFactorDisabled(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+
+  """
+  Whether or not affiliated users with two-factor authentication disabled exist in the enterprise.
+  """
+  affiliatedUsersWithTwoFactorDisabledExist: Boolean!
+
+  """
+  The setting value for whether private repository forking is enabled for repositories in organizations in this enterprise.
+  """
+  allowPrivateRepositoryForkingSetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided private repository forking setting value.
+  """
+  allowPrivateRepositoryForkingSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  The setting value for base repository permissions for organizations in this enterprise.
+  """
+  defaultRepositoryPermissionSetting: EnterpriseDefaultRepositoryPermissionSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided default repository permission.
+  """
+  defaultRepositoryPermissionSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The permission to find organizations for."""
+    value: DefaultRepositoryPermissionField!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """Enterprise Server installations owned by the enterprise."""
+  enterpriseServerInstallations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    Whether or not to only return installations discovered via GitHub Connect.
+    """
+    connectedOnly: Boolean = false
+
+    """Ordering options for Enterprise Server installations returned."""
+    orderBy: EnterpriseServerInstallationOrder = {field: HOST_NAME, direction: ASC}
+  ): EnterpriseServerInstallationConnection!
+
+  """
+  Whether or not the default repository permission is currently being updated.
+  """
+  isUpdatingDefaultRepositoryPermission: Boolean!
+
+  """
+  Whether the two-factor authentication requirement is currently being enforced.
+  """
+  isUpdatingTwoFactorRequirement: Boolean!
+
+  """
+  The setting value for whether organization members with admin permissions on a
+  repository can change repository visibility.
+  """
+  membersCanChangeRepositoryVisibilitySetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided can change repository visibility setting value.
+  """
+  membersCanChangeRepositoryVisibilitySettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  The setting value for whether members of organizations in the enterprise can create internal repositories.
+  """
+  membersCanCreateInternalRepositoriesSetting: Boolean
+
+  """
+  The setting value for whether members of organizations in the enterprise can create private repositories.
+  """
+  membersCanCreatePrivateRepositoriesSetting: Boolean
+
+  """
+  The setting value for whether members of organizations in the enterprise can create public repositories.
+  """
+  membersCanCreatePublicRepositoriesSetting: Boolean
+
+  """
+  The setting value for whether members of organizations in the enterprise can create repositories.
+  """
+  membersCanCreateRepositoriesSetting: EnterpriseMembersCanCreateRepositoriesSettingValue
+
+  """
+  A list of enterprise organizations configured with the provided repository creation setting value.
+  """
+  membersCanCreateRepositoriesSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting to find organizations for."""
+    value: OrganizationMembersCanCreateRepositoriesSettingValue!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  The setting value for whether members with admin permissions for repositories can delete issues.
+  """
+  membersCanDeleteIssuesSetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided members can delete issues setting value.
+  """
+  membersCanDeleteIssuesSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  The setting value for whether members with admin permissions for repositories can delete or transfer repositories.
+  """
+  membersCanDeleteRepositoriesSetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided members can delete repositories setting value.
+  """
+  membersCanDeleteRepositoriesSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  The setting value for whether members of organizations in the enterprise can invite outside collaborators.
+  """
+  membersCanInviteCollaboratorsSetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided members can invite collaborators setting value.
+  """
+  membersCanInviteCollaboratorsSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  Indicates whether members of this enterprise's organizations can purchase additional services for those organizations.
+  """
+  membersCanMakePurchasesSetting: EnterpriseMembersCanMakePurchasesSettingValue!
+
+  """
+  The setting value for whether members with admin permissions for repositories can update protected branches.
+  """
+  membersCanUpdateProtectedBranchesSetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided members can update protected branches setting value.
+  """
+  membersCanUpdateProtectedBranchesSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """The setting value for whether members can view dependency insights."""
+  membersCanViewDependencyInsightsSetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided members can view dependency insights setting value.
+  """
+  membersCanViewDependencyInsightsSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  The setting value for whether organization projects are enabled for organizations in this enterprise.
+  """
+  organizationProjectsSetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided organization projects setting value.
+  """
+  organizationProjectsSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  A list of outside collaborators across the repositories in the enterprise.
+  """
+  outsideCollaborators(
+    """The login of one specific outside collaborator."""
+    login: String
+
+    """The search string to look for."""
+    query: String
+
+    """
+    Ordering options for outside collaborators returned from the connection.
+    """
+    orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC}
+
+    """
+    Only return outside collaborators on repositories with this visibility.
+    """
+    visibility: RepositoryVisibility
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterpriseOutsideCollaboratorConnection!
+
+  """A list of pending administrator invitations for the enterprise."""
+  pendingAdminInvitations(
+    """The search string to look for."""
+    query: String
+
+    """
+    Ordering options for pending enterprise administrator invitations returned from the connection.
+    """
+    orderBy: EnterpriseAdministratorInvitationOrder = {field: CREATED_AT, direction: DESC}
+
+    """The role to filter by."""
+    role: EnterpriseAdministratorRole
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterpriseAdministratorInvitationConnection!
+
+  """
+  A list of pending collaborators across the repositories in the enterprise.
+  """
+  pendingCollaborators(
+    """The search string to look for."""
+    query: String
+
+    """
+    Ordering options for pending repository collaborator invitations returned from the connection.
+    """
+    orderBy: RepositoryInvitationOrder = {field: INVITEE_LOGIN, direction: ASC}
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterprisePendingCollaboratorConnection!
+
+  """
+  A list of pending member invitations for organizations in the enterprise.
+  """
+  pendingMemberInvitations(
+    """The search string to look for."""
+    query: String
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterprisePendingMemberInvitationConnection!
+
+  """
+  The setting value for whether repository projects are enabled in this enterprise.
+  """
+  repositoryProjectsSetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided repository projects setting value.
+  """
+  repositoryProjectsSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """The SAML Identity Provider for the enterprise."""
+  samlIdentityProvider: EnterpriseIdentityProvider
+
+  """
+  A list of enterprise organizations configured with the SAML single sign-on setting value.
+  """
+  samlIdentityProviderSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: IdentityProviderConfigurationState!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  The setting value for whether team discussions are enabled for organizations in this enterprise.
+  """
+  teamDiscussionsSetting: EnterpriseEnabledDisabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the provided team discussions setting value.
+  """
+  teamDiscussionsSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+
+  """
+  The setting value for whether the enterprise requires two-factor authentication for its organizations and users.
+  """
+  twoFactorRequiredSetting: EnterpriseEnabledSettingValue!
+
+  """
+  A list of enterprise organizations configured with the two-factor authentication setting value.
+  """
+  twoFactorRequiredSettingOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The setting value to find organizations for."""
+    value: Boolean!
+
+    """Ordering options for organizations with this setting."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+  ): OrganizationConnection!
+}
+
+"""The connection type for User."""
+type EnterprisePendingCollaboratorConnection {
+  """A list of edges."""
+  edges: [EnterprisePendingCollaboratorEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""
+A user with an invitation to be a collaborator on a repository owned by an organization in an enterprise.
+"""
+type EnterprisePendingCollaboratorEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """
+  Whether the invited collaborator does not have a license for the enterprise.
+  """
+  isUnlicensed: Boolean!
+
+  """The item at the end of the edge."""
+  node: User
+
+  """The enterprise organization repositories this user is a member of."""
+  repositories(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for repositories."""
+    orderBy: RepositoryOrder = {field: NAME, direction: ASC}
+  ): EnterpriseRepositoryInfoConnection!
+}
+
+"""The connection type for OrganizationInvitation."""
+type EnterprisePendingMemberInvitationConnection {
+  """A list of edges."""
+  edges: [EnterprisePendingMemberInvitationEdge]
+
+  """A list of nodes."""
+  nodes: [OrganizationInvitation]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+
+  """Identifies the total count of unique users in the connection."""
+  totalUniqueUserCount: Int!
+}
+
+"""An invitation to be a member in an enterprise organization."""
+type EnterprisePendingMemberInvitationEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """Whether the invitation has a license for the enterprise."""
+  isUnlicensed: Boolean!
+
+  """The item at the end of the edge."""
+  node: OrganizationInvitation
+}
+
+"""A subset of repository information queryable from an enterprise."""
+type EnterpriseRepositoryInfo implements Node {
+  id: ID!
+
+  """Identifies if the repository is private."""
+  isPrivate: Boolean!
+
+  """The repository's name."""
+  name: String!
+
+  """The repository's name with owner."""
+  nameWithOwner: String!
+}
+
+"""The connection type for EnterpriseRepositoryInfo."""
+type EnterpriseRepositoryInfoConnection {
+  """A list of edges."""
+  edges: [EnterpriseRepositoryInfoEdge]
+
+  """A list of nodes."""
+  nodes: [EnterpriseRepositoryInfo]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type EnterpriseRepositoryInfoEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: EnterpriseRepositoryInfo
+}
+
+"""An Enterprise Server installation."""
+type EnterpriseServerInstallation implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The customer name to which the Enterprise Server installation belongs."""
+  customerName: String!
+
+  """The host name of the Enterprise Server installation."""
+  hostName: String!
+  id: ID!
+
+  """
+  Whether or not the installation is connected to an Enterprise Server installation via GitHub Connect.
+  """
+  isConnected: Boolean!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """User accounts on this Enterprise Server installation."""
+  userAccounts(
+    """
+    Ordering options for Enterprise Server user accounts returned from the connection.
+    """
+    orderBy: EnterpriseServerUserAccountOrder = {field: LOGIN, direction: ASC}
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterpriseServerUserAccountConnection!
+
+  """User accounts uploads for the Enterprise Server installation."""
+  userAccountsUploads(
+    """
+    Ordering options for Enterprise Server user accounts uploads returned from the connection.
+    """
+    orderBy: EnterpriseServerUserAccountsUploadOrder = {field: CREATED_AT, direction: DESC}
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterpriseServerUserAccountsUploadConnection!
+}
+
+"""The connection type for EnterpriseServerInstallation."""
+type EnterpriseServerInstallationConnection {
+  """A list of edges."""
+  edges: [EnterpriseServerInstallationEdge]
+
+  """A list of nodes."""
+  nodes: [EnterpriseServerInstallation]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type EnterpriseServerInstallationEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: EnterpriseServerInstallation
+}
+
+"""Ordering options for Enterprise Server installation connections."""
+input EnterpriseServerInstallationOrder {
+  """The field to order Enterprise Server installations by."""
+  field: EnterpriseServerInstallationOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""
+Properties by which Enterprise Server installation connections can be ordered.
+"""
+enum EnterpriseServerInstallationOrderField {
+  """Order Enterprise Server installations by host name"""
+  HOST_NAME
+
+  """Order Enterprise Server installations by customer name"""
+  CUSTOMER_NAME
+
+  """Order Enterprise Server installations by creation time"""
+  CREATED_AT
+}
+
+"""A user account on an Enterprise Server installation."""
+type EnterpriseServerUserAccount implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """User emails belonging to this user account."""
+  emails(
+    """
+    Ordering options for Enterprise Server user account emails returned from the connection.
+    """
+    orderBy: EnterpriseServerUserAccountEmailOrder = {field: EMAIL, direction: ASC}
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterpriseServerUserAccountEmailConnection!
+
+  """The Enterprise Server installation on which this user account exists."""
+  enterpriseServerInstallation: EnterpriseServerInstallation!
+  id: ID!
+
+  """
+  Whether the user account is a site administrator on the Enterprise Server installation.
+  """
+  isSiteAdmin: Boolean!
+
+  """The login of the user account on the Enterprise Server installation."""
+  login: String!
+
+  """
+  The profile name of the user account on the Enterprise Server installation.
+  """
+  profileName: String
+
+  """
+  The date and time when the user account was created on the Enterprise Server installation.
+  """
+  remoteCreatedAt: DateTime!
+
+  """The ID of the user account on the Enterprise Server installation."""
+  remoteUserId: Int!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+}
+
+"""The connection type for EnterpriseServerUserAccount."""
+type EnterpriseServerUserAccountConnection {
+  """A list of edges."""
+  edges: [EnterpriseServerUserAccountEdge]
+
+  """A list of nodes."""
+  nodes: [EnterpriseServerUserAccount]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type EnterpriseServerUserAccountEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: EnterpriseServerUserAccount
+}
+
+"""
+An email belonging to a user account on an Enterprise Server installation.
+"""
+type EnterpriseServerUserAccountEmail implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The email address."""
+  email: String!
+  id: ID!
+
+  """
+  Indicates whether this is the primary email of the associated user account.
+  """
+  isPrimary: Boolean!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The user account to which the email belongs."""
+  userAccount: EnterpriseServerUserAccount!
+}
+
+"""The connection type for EnterpriseServerUserAccountEmail."""
+type EnterpriseServerUserAccountEmailConnection {
+  """A list of edges."""
+  edges: [EnterpriseServerUserAccountEmailEdge]
+
+  """A list of nodes."""
+  nodes: [EnterpriseServerUserAccountEmail]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type EnterpriseServerUserAccountEmailEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: EnterpriseServerUserAccountEmail
+}
+
+"""Ordering options for Enterprise Server user account email connections."""
+input EnterpriseServerUserAccountEmailOrder {
+  """The field to order emails by."""
+  field: EnterpriseServerUserAccountEmailOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""
+Properties by which Enterprise Server user account email connections can be ordered.
+"""
+enum EnterpriseServerUserAccountEmailOrderField {
+  """Order emails by email"""
+  EMAIL
+}
+
+"""Ordering options for Enterprise Server user account connections."""
+input EnterpriseServerUserAccountOrder {
+  """The field to order user accounts by."""
+  field: EnterpriseServerUserAccountOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""
+Properties by which Enterprise Server user account connections can be ordered.
+"""
+enum EnterpriseServerUserAccountOrderField {
+  """Order user accounts by login"""
+  LOGIN
+
+  """
+  Order user accounts by creation time on the Enterprise Server installation
+  """
+  REMOTE_CREATED_AT
+}
+
+"""A user accounts upload from an Enterprise Server installation."""
+type EnterpriseServerUserAccountsUpload implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The enterprise to which this upload belongs."""
+  enterprise: Enterprise!
+
+  """
+  The Enterprise Server installation for which this upload was generated.
+  """
+  enterpriseServerInstallation: EnterpriseServerInstallation!
+  id: ID!
+
+  """The name of the file uploaded."""
+  name: String!
+
+  """The synchronization state of the upload"""
+  syncState: EnterpriseServerUserAccountsUploadSyncState!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+}
+
+"""The connection type for EnterpriseServerUserAccountsUpload."""
+type EnterpriseServerUserAccountsUploadConnection {
+  """A list of edges."""
+  edges: [EnterpriseServerUserAccountsUploadEdge]
+
+  """A list of nodes."""
+  nodes: [EnterpriseServerUserAccountsUpload]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type EnterpriseServerUserAccountsUploadEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: EnterpriseServerUserAccountsUpload
+}
+
+"""
+Ordering options for Enterprise Server user accounts upload connections.
+"""
+input EnterpriseServerUserAccountsUploadOrder {
+  """The field to order user accounts uploads by."""
+  field: EnterpriseServerUserAccountsUploadOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""
+Properties by which Enterprise Server user accounts upload connections can be ordered.
+"""
+enum EnterpriseServerUserAccountsUploadOrderField {
+  """Order user accounts uploads by creation time"""
+  CREATED_AT
+}
+
+"""Synchronization state of the Enterprise Server user accounts upload"""
+enum EnterpriseServerUserAccountsUploadSyncState {
+  """The synchronization of the upload is pending."""
+  PENDING
+
+  """The synchronization of the upload succeeded."""
+  SUCCESS
+
+  """The synchronization of the upload failed."""
+  FAILURE
+}
+
+"""
+An account for a user who is an admin of an enterprise or a member of an enterprise through one or more organizations.
+"""
+type EnterpriseUserAccount implements Node & Actor {
+  """A URL pointing to the enterprise user account's public avatar."""
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int
+  ): URI!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The enterprise in which this user account exists."""
+  enterprise: Enterprise!
+  id: ID!
+
+  """
+  An identifier for the enterprise user account, a login or email address
+  """
+  login: String!
+
+  """The name of the enterprise user account"""
+  name: String
+
+  """A list of enterprise organizations this user is a member of."""
+  organizations(
+    """The search string to look for."""
+    query: String
+
+    """Ordering options for organizations returned from the connection."""
+    orderBy: OrganizationOrder = {field: LOGIN, direction: ASC}
+
+    """The role of the user in the enterprise organization."""
+    role: EnterpriseUserAccountMembershipRole
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): EnterpriseOrganizationMembershipConnection!
+
+  """The HTTP path for this actor."""
+  resourcePath: URI!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this actor."""
+  url: URI!
+
+  """The user within the enterprise."""
+  user: User
+}
+
+"""The connection type for EnterpriseUserAccount."""
+type EnterpriseUserAccountConnection {
+  """A list of edges."""
+  edges: [EnterpriseUserAccountEdge]
+
+  """A list of nodes."""
+  nodes: [EnterpriseUserAccount]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type EnterpriseUserAccountEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: EnterpriseUserAccount
+}
+
+"""The possible roles for enterprise membership."""
+enum EnterpriseUserAccountMembershipRole {
+  """The user is a member of the enterprise membership."""
+  MEMBER
+
+  """The user is an owner of the enterprise membership."""
+  OWNER
+}
+
+"""The possible GitHub Enterprise deployments where this user can exist."""
+enum EnterpriseUserDeployment {
+  """The user is part of a GitHub Enterprise Cloud deployment."""
+  CLOUD
+
+  """The user is part of a GitHub Enterprise Server deployment."""
+  SERVER
+}
+
+"""An external identity provisioned by SAML SSO or SCIM."""
+type ExternalIdentity implements Node {
+  """The GUID for this identity"""
+  guid: String!
+  id: ID!
+
+  """Organization invitation for this SCIM-provisioned external identity"""
+  organizationInvitation: OrganizationInvitation
+
+  """SAML Identity attributes"""
+  samlIdentity: ExternalIdentitySamlAttributes
+
+  """SCIM Identity attributes"""
+  scimIdentity: ExternalIdentityScimAttributes
+
+  """
+  User linked to this external identity. Will be NULL if this identity has not been claimed by an organization member.
+  """
+  user: User
+}
+
+"""The connection type for ExternalIdentity."""
+type ExternalIdentityConnection {
+  """A list of edges."""
+  edges: [ExternalIdentityEdge]
+
+  """A list of nodes."""
+  nodes: [ExternalIdentity]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type ExternalIdentityEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: ExternalIdentity
+}
+
+"""SAML attributes for the External Identity"""
+type ExternalIdentitySamlAttributes {
+  """The NameID of the SAML identity"""
+  nameId: String
+}
+
+"""SCIM attributes for the External Identity"""
+type ExternalIdentityScimAttributes {
+  """The userName of the SCIM identity"""
+  username: String
+}
+
+"""The connection type for User."""
+type FollowerConnection {
+  """A list of edges."""
+  edges: [UserEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""The connection type for User."""
+type FollowingConnection {
+  """A list of edges."""
+  edges: [UserEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Autogenerated input type of FollowUser"""
+input FollowUserInput {
+  """ID of the user to follow."""
+  userId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of FollowUser"""
+type FollowUserPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The user that was followed."""
+  user: User
+}
+
+"""A generic hovercard context with a message and icon"""
+type GenericHovercardContext implements HovercardContext {
+  """A string describing this context"""
+  message: String!
+
+  """An octicon to accompany this context"""
+  octicon: String!
+}
+
+"""A Gist."""
+type Gist implements Node & Starrable & UniformResourceLocatable {
+  """A list of comments associated with the gist"""
+  comments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): GistCommentConnection!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The gist description."""
+  description: String
+
+  """The files in this gist."""
+  files(
+    """The maximum number of files to return."""
+    limit: Int = 10
+
+    """The oid of the files to return"""
+    oid: GitObjectID
+  ): [GistFile]
+
+  """A list of forks associated with the gist"""
+  forks(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for gists returned from the connection"""
+    orderBy: GistOrder
+  ): GistConnection!
+  id: ID!
+
+  """Identifies if the gist is a fork."""
+  isFork: Boolean!
+
+  """Whether the gist is public or not."""
+  isPublic: Boolean!
+
+  """The gist name."""
+  name: String!
+
+  """The gist owner."""
+  owner: RepositoryOwner
+
+  """Identifies when the gist was last pushed to."""
+  pushedAt: DateTime
+
+  """The HTML path to this resource."""
+  resourcePath: URI!
+
+  """A list of users who have starred this starrable."""
+  stargazers(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Order for connection"""
+    orderBy: StarOrder
+  ): StargazerConnection!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this Gist."""
+  url: URI!
+
+  """
+  Returns a boolean indicating whether the viewing user has starred this starrable.
+  """
+  viewerHasStarred: Boolean!
+}
+
+"""Represents a comment on an Gist."""
+type GistComment implements Node & Comment & Deletable & Updatable & UpdatableComment {
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the gist."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """Identifies the comment body."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """The body rendered to text."""
+  bodyText: String!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The actor who edited the comment."""
+  editor: Actor
+
+  """The associated gist."""
+  gist: Gist!
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """Returns whether or not a comment has been minimized."""
+  isMinimized: Boolean!
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """Returns why the comment was minimized."""
+  minimizedReason: String
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Check if the current viewer can delete this object."""
+  viewerCanDelete: Boolean!
+
+  """Check if the current viewer can minimize this object."""
+  viewerCanMinimize: Boolean!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+}
+
+"""The connection type for GistComment."""
+type GistCommentConnection {
+  """A list of edges."""
+  edges: [GistCommentEdge]
+
+  """A list of nodes."""
+  nodes: [GistComment]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type GistCommentEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: GistComment
+}
+
+"""The connection type for Gist."""
+type GistConnection {
+  """A list of edges."""
+  edges: [GistEdge]
+
+  """A list of nodes."""
+  nodes: [Gist]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type GistEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Gist
+}
+
+"""A file in a gist."""
+type GistFile {
+  """
+  The file name encoded to remove characters that are invalid in URL paths.
+  """
+  encodedName: String
+
+  """The gist file encoding."""
+  encoding: String
+
+  """The file extension from the file name."""
+  extension: String
+
+  """Indicates if this file is an image."""
+  isImage: Boolean!
+
+  """Whether the file's contents were truncated."""
+  isTruncated: Boolean!
+
+  """The programming language this file is written in."""
+  language: Language
+
+  """The gist file name."""
+  name: String
+
+  """The gist file size in bytes."""
+  size: Int
+
+  """UTF8 text data or null if the file is binary"""
+  text(
+    """Optionally truncate the returned file to this length."""
+    truncate: Int
+  ): String
+}
+
+"""Ordering options for gist connections"""
+input GistOrder {
+  """The field to order repositories by."""
+  field: GistOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which gist connections can be ordered."""
+enum GistOrderField {
+  """Order gists by creation time"""
+  CREATED_AT
+
+  """Order gists by update time"""
+  UPDATED_AT
+
+  """Order gists by push time"""
+  PUSHED_AT
+}
+
+"""The privacy of a Gist"""
+enum GistPrivacy {
+  """Public"""
+  PUBLIC
+
+  """Secret"""
+  SECRET
+
+  """Gists that are public and secret"""
+  ALL
+}
+
+"""Represents an actor in a Git commit (ie. an author or committer)."""
+type GitActor {
+  """A URL pointing to the author's public avatar."""
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int
+  ): URI!
+
+  """The timestamp of the Git action (authoring or committing)."""
+  date: GitTimestamp
+
+  """The email in the Git commit."""
+  email: String
+
+  """The name in the Git commit."""
+  name: String
+
+  """
+  The GitHub user corresponding to the email field. Null if no such user exists.
+  """
+  user: User
+}
+
+"""Represents information about the GitHub instance."""
+type GitHubMetadata {
+  """Returns a String that's a SHA of `github-services`"""
+  gitHubServicesSha: GitObjectID!
+
+  """IP addresses that users connect to for git operations"""
+  gitIpAddresses: [String!]
+
+  """IP addresses that service hooks are sent from"""
+  hookIpAddresses: [String!]
+
+  """IP addresses that the importer connects from"""
+  importerIpAddresses: [String!]
+
+  """Whether or not users are verified"""
+  isPasswordAuthenticationVerifiable: Boolean!
+
+  """IP addresses for GitHub Pages' A records"""
+  pagesIpAddresses: [String!]
+}
+
+"""Represents a Git object."""
+interface GitObject {
+  """An abbreviated version of the Git object ID"""
+  abbreviatedOid: String!
+
+  """The HTTP path for this Git object"""
+  commitResourcePath: URI!
+
+  """The HTTP URL for this Git object"""
+  commitUrl: URI!
+  id: ID!
+
+  """The Git object ID"""
+  oid: GitObjectID!
+
+  """The Repository the Git object belongs to"""
+  repository: Repository!
+}
+
+"""A Git object ID."""
+scalar GitObjectID
+
+"""Information about a signature (GPG or S/MIME) on a Commit or Tag."""
+interface GitSignature {
+  """Email used to sign this object."""
+  email: String!
+
+  """True if the signature is valid and verified by GitHub."""
+  isValid: Boolean!
+
+  """
+  Payload for GPG signing object. Raw ODB object without the signature header.
+  """
+  payload: String!
+
+  """ASCII-armored signature header from object."""
+  signature: String!
+
+  """GitHub user corresponding to the email signing this commit."""
+  signer: User
+
+  """
+  The state of this signature. `VALID` if signature is valid and verified by
+  GitHub, otherwise represents reason why signature is considered invalid.
+  """
+  state: GitSignatureState!
+
+  """True if the signature was made with GitHub's signing key."""
+  wasSignedByGitHub: Boolean!
+}
+
+"""The state of a Git signature."""
+enum GitSignatureState {
+  """Valid signature and verified by GitHub"""
+  VALID
+
+  """Invalid signature"""
+  INVALID
+
+  """Malformed signature"""
+  MALFORMED_SIG
+
+  """Key used for signing not known to GitHub"""
+  UNKNOWN_KEY
+
+  """Invalid email used for signing"""
+  BAD_EMAIL
+
+  """Email used for signing unverified on GitHub"""
+  UNVERIFIED_EMAIL
+
+  """Email used for signing not known to GitHub"""
+  NO_USER
+
+  """Unknown signature type"""
+  UNKNOWN_SIG_TYPE
+
+  """Unsigned"""
+  UNSIGNED
+
+  """
+  Internal error - the GPG verification service is unavailable at the moment
+  """
+  GPGVERIFY_UNAVAILABLE
+
+  """Internal error - the GPG verification service misbehaved"""
+  GPGVERIFY_ERROR
+
+  """The usage flags for the key that signed this don't allow signing"""
+  NOT_SIGNING_KEY
+
+  """Signing key expired"""
+  EXPIRED_KEY
+
+  """Valid signature, pending certificate revocation checking"""
+  OCSP_PENDING
+
+  """Valid siganture, though certificate revocation check failed"""
+  OCSP_ERROR
+
+  """The signing certificate or its chain could not be verified"""
+  BAD_CERT
+
+  """One or more certificates in chain has been revoked"""
+  OCSP_REVOKED
+}
+
+"""Git SSH string"""
+scalar GitSSHRemote
+
+"""
+An ISO-8601 encoded date string. Unlike the DateTime type, GitTimestamp is not converted in UTC.
+"""
+scalar GitTimestamp
+
+"""Represents a GPG signature on a Commit or Tag."""
+type GpgSignature implements GitSignature {
+  """Email used to sign this object."""
+  email: String!
+
+  """True if the signature is valid and verified by GitHub."""
+  isValid: Boolean!
+
+  """Hex-encoded ID of the key that signed this object."""
+  keyId: String
+
+  """
+  Payload for GPG signing object. Raw ODB object without the signature header.
+  """
+  payload: String!
+
+  """ASCII-armored signature header from object."""
+  signature: String!
+
+  """GitHub user corresponding to the email signing this commit."""
+  signer: User
+
+  """
+  The state of this signature. `VALID` if signature is valid and verified by
+  GitHub, otherwise represents reason why signature is considered invalid.
+  """
+  state: GitSignatureState!
+
+  """True if the signature was made with GitHub's signing key."""
+  wasSignedByGitHub: Boolean!
+}
+
+"""Represents a 'head_ref_deleted' event on a given pull request."""
+type HeadRefDeletedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the Ref associated with the `head_ref_deleted` event."""
+  headRef: Ref
+
+  """
+  Identifies the name of the Ref associated with the `head_ref_deleted` event.
+  """
+  headRefName: String!
+  id: ID!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+}
+
+"""Represents a 'head_ref_force_pushed' event on a given pull request."""
+type HeadRefForcePushedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the after commit SHA for the 'head_ref_force_pushed' event."""
+  afterCommit: Commit
+
+  """
+  Identifies the before commit SHA for the 'head_ref_force_pushed' event.
+  """
+  beforeCommit: Commit
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+
+  """
+  Identifies the fully qualified ref name for the 'head_ref_force_pushed' event.
+  """
+  ref: Ref
+}
+
+"""Represents a 'head_ref_restored' event on a given pull request."""
+type HeadRefRestoredEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+}
+
+"""Detail needed to display a hovercard for a user"""
+type Hovercard {
+  """Each of the contexts for this hovercard"""
+  contexts: [HovercardContext!]!
+}
+
+"""An individual line of a hovercard"""
+interface HovercardContext {
+  """A string describing this context"""
+  message: String!
+
+  """An octicon to accompany this context"""
+  octicon: String!
+}
+
+"""A string containing HTML code."""
+scalar HTML
+
+"""
+The possible states in which authentication can be configured with an identity provider.
+"""
+enum IdentityProviderConfigurationState {
+  """Authentication with an identity provider is configured and enforced."""
+  ENFORCED
+
+  """
+  Authentication with an identity provider is configured but not enforced.
+  """
+  CONFIGURED
+
+  """Authentication with an identity provider is not configured."""
+  UNCONFIGURED
+}
+
+"""Autogenerated input type of ImportProject"""
+input ImportProjectInput {
+  """The name of the Organization or User to create the Project under."""
+  ownerName: String!
+
+  """The name of Project."""
+  name: String!
+
+  """The description of Project."""
+  body: String
+
+  """Whether the Project is public or not."""
+  public: Boolean = false
+
+  """A list of columns containing issues and pull requests."""
+  columnImports: [ProjectColumnImport!]!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of InviteEnterpriseAdmin"""
+input InviteEnterpriseAdminInput {
+  """The ID of the enterprise to which you want to invite an administrator."""
+  enterpriseId: ID!
+
+  """The login of a user to invite as an administrator."""
+  invitee: String
+
+  """The email of the person to invite as an administrator."""
+  email: String
+
+  """The role of the administrator."""
+  role: EnterpriseAdministratorRole
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of InviteEnterpriseAdmin"""
+type InviteEnterpriseAdminPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The created enterprise administrator invitation."""
+  invitation: EnterpriseAdministratorInvitation
+}
+
+"""
+An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project.
+"""
+type Issue implements Node & Assignable & Closable & Comment & Updatable & UpdatableComment & Labelable & Lockable & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable {
+  """Reason that the conversation was locked."""
+  activeLockReason: LockReason
+
+  """A list of Users assigned to this object."""
+  assignees(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the subject of the comment."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """Identifies the body of the issue."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """Identifies the body of the issue rendered to text."""
+  bodyText: String!
+
+  """
+  `true` if the object is closed (definition of closed may depend on type)
+  """
+  closed: Boolean!
+
+  """Identifies the date and time when the object was closed."""
+  closedAt: DateTime
+
+  """A list of comments associated with the Issue."""
+  comments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): IssueCommentConnection!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The actor who edited the comment."""
+  editor: Actor
+
+  """The hovercard information for this issue"""
+  hovercard(
+    """Whether or not to include notification contexts"""
+    includeNotificationContexts: Boolean = true
+  ): Hovercard!
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """A list of labels associated with the object."""
+  labels(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): LabelConnection
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """`true` if the object is locked"""
+  locked: Boolean!
+
+  """Identifies the milestone associated with the issue."""
+  milestone: Milestone
+
+  """Identifies the issue number."""
+  number: Int!
+
+  """A list of Users that are participating in the Issue conversation."""
+  participants(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+
+  """List of project cards associated with this issue."""
+  projectCards(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """A list of archived states to filter the cards by"""
+    archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED]
+  ): ProjectCardConnection!
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """A list of reactions grouped by content left on the subject."""
+  reactionGroups: [ReactionGroup!]
+
+  """A list of Reactions left on the Issue."""
+  reactions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Allows filtering Reactions by emoji."""
+    content: ReactionContent
+
+    """Allows specifying the order in which reactions are returned."""
+    orderBy: ReactionOrder
+  ): ReactionConnection!
+
+  """The repository associated with this node."""
+  repository: Repository!
+
+  """The HTTP path for this issue"""
+  resourcePath: URI!
+
+  """Identifies the state of the issue."""
+  state: IssueState!
+
+  """A list of events, comments, commits, etc. associated with the issue."""
+  timeline(
+    """Allows filtering timeline events by a `since` timestamp."""
+    since: DateTime
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): IssueTimelineConnection! @deprecated(reason: "`timeline` will be removed Use Issue.timelineItems instead. Removal on 2019-10-01 UTC.")
+
+  """A list of events, comments, commits, etc. associated with the issue."""
+  timelineItems(
+    """Filter timeline items by a `since` timestamp."""
+    since: DateTime
+
+    """Skips the first _n_ elements in the list."""
+    skip: Int
+
+    """Filter timeline items by type."""
+    itemTypes: [IssueTimelineItemsItemType!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): IssueTimelineItemsConnection!
+
+  """Identifies the issue title."""
+  title: String!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this issue"""
+  url: URI!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Can user react to this subject"""
+  viewerCanReact: Boolean!
+
+  """
+  Check if the viewer is able to change their subscription status for the repository.
+  """
+  viewerCanSubscribe: Boolean!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+
+  """
+  Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
+  """
+  viewerSubscription: SubscriptionState
+}
+
+"""Represents a comment on an Issue."""
+type IssueComment implements Node & Comment & Deletable & Updatable & UpdatableComment & Reactable & RepositoryNode {
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the subject of the comment."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """The body as Markdown."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """The body rendered to text."""
+  bodyText: String!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The actor who edited the comment."""
+  editor: Actor
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """Returns whether or not a comment has been minimized."""
+  isMinimized: Boolean!
+
+  """Identifies the issue associated with the comment."""
+  issue: Issue!
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """Returns why the comment was minimized."""
+  minimizedReason: String
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """
+  Returns the pull request associated with the comment, if this comment was made on a
+  pull request.
+  
+  """
+  pullRequest: PullRequest
+
+  """A list of reactions grouped by content left on the subject."""
+  reactionGroups: [ReactionGroup!]
+
+  """A list of Reactions left on the Issue."""
+  reactions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Allows filtering Reactions by emoji."""
+    content: ReactionContent
+
+    """Allows specifying the order in which reactions are returned."""
+    orderBy: ReactionOrder
+  ): ReactionConnection!
+
+  """The repository associated with this node."""
+  repository: Repository!
+
+  """The HTTP path for this issue comment"""
+  resourcePath: URI!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this issue comment"""
+  url: URI!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Check if the current viewer can delete this object."""
+  viewerCanDelete: Boolean!
+
+  """Check if the current viewer can minimize this object."""
+  viewerCanMinimize: Boolean!
+
+  """Can user react to this subject"""
+  viewerCanReact: Boolean!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+}
+
+"""The connection type for IssueComment."""
+type IssueCommentConnection {
+  """A list of edges."""
+  edges: [IssueCommentEdge]
+
+  """A list of nodes."""
+  nodes: [IssueComment]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type IssueCommentEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: IssueComment
+}
+
+"""The connection type for Issue."""
+type IssueConnection {
+  """A list of edges."""
+  edges: [IssueEdge]
+
+  """A list of nodes."""
+  nodes: [Issue]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""This aggregates issues opened by a user within one repository."""
+type IssueContributionsByRepository {
+  """The issue contributions."""
+  contributions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for contributions returned from the connection."""
+    orderBy: ContributionOrder = {field: OCCURRED_AT, direction: DESC}
+  ): CreatedIssueContributionConnection!
+
+  """The repository in which the issues were opened."""
+  repository: Repository!
+}
+
+"""An edge in a connection."""
+type IssueEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Issue
+}
+
+"""Ways in which to filter lists of issues."""
+input IssueFilters {
+  """
+  List issues assigned to given name. Pass in `null` for issues with no assigned
+  user, and `*` for issues assigned to any user.
+  """
+  assignee: String
+
+  """List issues created by given name."""
+  createdBy: String
+
+  """List issues where the list of label names exist on the issue."""
+  labels: [String!]
+
+  """List issues where the given name is mentioned in the issue."""
+  mentioned: String
+
+  """
+  List issues by given milestone argument. If an string representation of an
+  integer is passed, it should refer to a milestone by its number field. Pass in
+  `null` for issues with no milestone, and `*` for issues that are assigned to any milestone.
+  """
+  milestone: String
+
+  """List issues that have been updated at or after the given date."""
+  since: DateTime
+
+  """List issues filtered by the list of states given."""
+  states: [IssueState!]
+
+  """List issues subscribed to by viewer."""
+  viewerSubscribed: Boolean = false
+}
+
+"""Ways in which lists of issues can be ordered upon return."""
+input IssueOrder {
+  """The field in which to order issues by."""
+  field: IssueOrderField!
+
+  """The direction in which to order issues by the specified field."""
+  direction: OrderDirection!
+}
+
+"""Properties by which issue connections can be ordered."""
+enum IssueOrderField {
+  """Order issues by creation time"""
+  CREATED_AT
+
+  """Order issues by update time"""
+  UPDATED_AT
+
+  """Order issues by comment count"""
+  COMMENTS
+}
+
+"""Used for return value of Repository.issueOrPullRequest."""
+union IssueOrPullRequest = Issue | PullRequest
+
+"""An edge in a connection."""
+type IssueOrPullRequestEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: IssueOrPullRequest
+}
+
+"""The possible PubSub channels for an issue."""
+enum IssuePubSubTopic {
+  """The channel ID for observing issue updates."""
+  UPDATED
+
+  """The channel ID for marking an issue as read."""
+  MARKASREAD
+
+  """The channel ID for updating items on the issue timeline."""
+  TIMELINE
+
+  """The channel ID for observing issue state updates."""
+  STATE
+}
+
+"""The possible states of an issue."""
+enum IssueState {
+  """An issue that is still open"""
+  OPEN
+
+  """An issue that has been closed"""
+  CLOSED
+}
+
+"""The connection type for IssueTimelineItem."""
+type IssueTimelineConnection {
+  """A list of edges."""
+  edges: [IssueTimelineItemEdge]
+
+  """A list of nodes."""
+  nodes: [IssueTimelineItem]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An item in an issue timeline"""
+union IssueTimelineItem = Commit | IssueComment | CrossReferencedEvent | ClosedEvent | ReopenedEvent | SubscribedEvent | UnsubscribedEvent | ReferencedEvent | AssignedEvent | UnassignedEvent | LabeledEvent | UnlabeledEvent | UserBlockedEvent | MilestonedEvent | DemilestonedEvent | RenamedTitleEvent | LockedEvent | UnlockedEvent | TransferredEvent
+
+"""An edge in a connection."""
+type IssueTimelineItemEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: IssueTimelineItem
+}
+
+"""An item in an issue timeline"""
+union IssueTimelineItems = IssueComment | CrossReferencedEvent | AddedToProjectEvent | AssignedEvent | ClosedEvent | CommentDeletedEvent | ConvertedNoteToIssueEvent | DemilestonedEvent | LabeledEvent | LockedEvent | MarkedAsDuplicateEvent | MentionedEvent | MilestonedEvent | MovedColumnsInProjectEvent | PinnedEvent | ReferencedEvent | RemovedFromProjectEvent | RenamedTitleEvent | ReopenedEvent | SubscribedEvent | TransferredEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UserBlockedEvent | UnpinnedEvent | UnsubscribedEvent
+
+"""The connection type for IssueTimelineItems."""
+type IssueTimelineItemsConnection {
+  """A list of edges."""
+  edges: [IssueTimelineItemsEdge]
+
+  """
+  Identifies the count of items after applying `before` and `after` filters.
+  """
+  filteredCount: Int!
+
+  """A list of nodes."""
+  nodes: [IssueTimelineItems]
+
+  """
+  Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing.
+  """
+  pageCount: Int!
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+
+  """Identifies the date and time when the timeline was last updated."""
+  updatedAt: DateTime!
+}
+
+"""An edge in a connection."""
+type IssueTimelineItemsEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: IssueTimelineItems
+}
+
+"""The possible item types found in a timeline."""
+enum IssueTimelineItemsItemType {
+  """Represents a comment on an Issue."""
+  ISSUE_COMMENT
+
+  """Represents a mention made by one issue or pull request to another."""
+  CROSS_REFERENCED_EVENT
+
+  """
+  Represents a 'added_to_project' event on a given issue or pull request.
+  """
+  ADDED_TO_PROJECT_EVENT
+
+  """Represents an 'assigned' event on any assignable object."""
+  ASSIGNED_EVENT
+
+  """Represents a 'closed' event on any `Closable`."""
+  CLOSED_EVENT
+
+  """Represents a 'comment_deleted' event on a given issue or pull request."""
+  COMMENT_DELETED_EVENT
+
+  """
+  Represents a 'converted_note_to_issue' event on a given issue or pull request.
+  """
+  CONVERTED_NOTE_TO_ISSUE_EVENT
+
+  """Represents a 'demilestoned' event on a given issue or pull request."""
+  DEMILESTONED_EVENT
+
+  """Represents a 'labeled' event on a given issue or pull request."""
+  LABELED_EVENT
+
+  """Represents a 'locked' event on a given issue or pull request."""
+  LOCKED_EVENT
+
+  """
+  Represents a 'marked_as_duplicate' event on a given issue or pull request.
+  """
+  MARKED_AS_DUPLICATE_EVENT
+
+  """Represents a 'mentioned' event on a given issue or pull request."""
+  MENTIONED_EVENT
+
+  """Represents a 'milestoned' event on a given issue or pull request."""
+  MILESTONED_EVENT
+
+  """
+  Represents a 'moved_columns_in_project' event on a given issue or pull request.
+  """
+  MOVED_COLUMNS_IN_PROJECT_EVENT
+
+  """Represents a 'pinned' event on a given issue or pull request."""
+  PINNED_EVENT
+
+  """Represents a 'referenced' event on a given `ReferencedSubject`."""
+  REFERENCED_EVENT
+
+  """
+  Represents a 'removed_from_project' event on a given issue or pull request.
+  """
+  REMOVED_FROM_PROJECT_EVENT
+
+  """Represents a 'renamed' event on a given issue or pull request"""
+  RENAMED_TITLE_EVENT
+
+  """Represents a 'reopened' event on any `Closable`."""
+  REOPENED_EVENT
+
+  """Represents a 'subscribed' event on a given `Subscribable`."""
+  SUBSCRIBED_EVENT
+
+  """Represents a 'transferred' event on a given issue or pull request."""
+  TRANSFERRED_EVENT
+
+  """Represents an 'unassigned' event on any assignable object."""
+  UNASSIGNED_EVENT
+
+  """Represents an 'unlabeled' event on a given issue or pull request."""
+  UNLABELED_EVENT
+
+  """Represents an 'unlocked' event on a given issue or pull request."""
+  UNLOCKED_EVENT
+
+  """Represents a 'user_blocked' event on a given user."""
+  USER_BLOCKED_EVENT
+
+  """Represents an 'unpinned' event on a given issue or pull request."""
+  UNPINNED_EVENT
+
+  """Represents an 'unsubscribed' event on a given `Subscribable`."""
+  UNSUBSCRIBED_EVENT
+}
+
+"""Represents a user signing up for a GitHub account."""
+type JoinedGitHubContribution implements Contribution {
+  """
+  Whether this contribution is associated with a record you do not have access to. For
+  example, your own 'first issue' contribution may have been made on a repository you can no
+  longer access.
+  
+  """
+  isRestricted: Boolean!
+
+  """When this contribution was made."""
+  occurredAt: DateTime!
+
+  """The HTTP path for this contribution."""
+  resourcePath: URI!
+
+  """The HTTP URL for this contribution."""
+  url: URI!
+
+  """
+  The user who made this contribution.
+  
+  """
+  user: User!
+}
+
+"""A label for categorizing Issues or Milestones with a given Repository."""
+type Label implements Node {
+  """Identifies the label color."""
+  color: String!
+
+  """Identifies the date and time when the label was created."""
+  createdAt: DateTime
+
+  """A brief description of this label."""
+  description: String
+  id: ID!
+
+  """Indicates whether or not this is a default label."""
+  isDefault: Boolean!
+
+  """A list of issues associated with this label."""
+  issues(
+    """Ordering options for issues returned from the connection."""
+    orderBy: IssueOrder
+
+    """A list of label names to filter the pull requests by."""
+    labels: [String!]
+
+    """A list of states to filter the issues by."""
+    states: [IssueState!]
+
+    """Filtering options for issues returned from the connection."""
+    filterBy: IssueFilters
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): IssueConnection!
+
+  """Identifies the label name."""
+  name: String!
+
+  """A list of pull requests associated with this label."""
+  pullRequests(
+    """A list of states to filter the pull requests by."""
+    states: [PullRequestState!]
+
+    """A list of label names to filter the pull requests by."""
+    labels: [String!]
+
+    """The head ref name to filter the pull requests by."""
+    headRefName: String
+
+    """The base ref name to filter the pull requests by."""
+    baseRefName: String
+
+    """Ordering options for pull requests returned from the connection."""
+    orderBy: IssueOrder
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestConnection!
+
+  """The repository associated with this label."""
+  repository: Repository!
+
+  """The HTTP path for this label."""
+  resourcePath: URI!
+
+  """Identifies the date and time when the label was last updated."""
+  updatedAt: DateTime
+
+  """The HTTP URL for this label."""
+  url: URI!
+}
+
+"""An object that can have labels assigned to it."""
+interface Labelable {
+  """A list of labels associated with the object."""
+  labels(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): LabelConnection
+}
+
+"""The connection type for Label."""
+type LabelConnection {
+  """A list of edges."""
+  edges: [LabelEdge]
+
+  """A list of nodes."""
+  nodes: [Label]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents a 'labeled' event on a given issue or pull request."""
+type LabeledEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Identifies the label associated with the 'labeled' event."""
+  label: Label!
+
+  """Identifies the `Labelable` associated with the event."""
+  labelable: Labelable!
+}
+
+"""An edge in a connection."""
+type LabelEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Label
+}
+
+"""Represents a given language found in repositories."""
+type Language implements Node {
+  """The color defined for the current language."""
+  color: String
+  id: ID!
+
+  """The name of the current language."""
+  name: String!
+}
+
+"""A list of languages associated with the parent."""
+type LanguageConnection {
+  """A list of edges."""
+  edges: [LanguageEdge]
+
+  """A list of nodes."""
+  nodes: [Language]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+
+  """The total size in bytes of files written in that language."""
+  totalSize: Int!
+}
+
+"""Represents the language of a repository."""
+type LanguageEdge {
+  cursor: String!
+  node: Language!
+
+  """The number of bytes of code written in the language."""
+  size: Int!
+}
+
+"""Ordering options for language connections."""
+input LanguageOrder {
+  """The field to order languages by."""
+  field: LanguageOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which language connections can be ordered."""
+enum LanguageOrderField {
+  """Order languages by the size of all files containing the language"""
+  SIZE
+}
+
+"""A repository's open source license"""
+type License implements Node {
+  """The full text of the license"""
+  body: String!
+
+  """The conditions set by the license"""
+  conditions: [LicenseRule]!
+
+  """A human-readable description of the license"""
+  description: String
+
+  """Whether the license should be featured"""
+  featured: Boolean!
+
+  """Whether the license should be displayed in license pickers"""
+  hidden: Boolean!
+  id: ID!
+
+  """Instructions on how to implement the license"""
+  implementation: String
+
+  """The lowercased SPDX ID of the license"""
+  key: String!
+
+  """The limitations set by the license"""
+  limitations: [LicenseRule]!
+
+  """The license full name specified by <https://spdx.org/licenses>"""
+  name: String!
+
+  """Customary short name if applicable (e.g, GPLv3)"""
+  nickname: String
+
+  """The permissions set by the license"""
+  permissions: [LicenseRule]!
+
+  """
+  Whether the license is a pseudo-license placeholder (e.g., other, no-license)
+  """
+  pseudoLicense: Boolean!
+
+  """Short identifier specified by <https://spdx.org/licenses>"""
+  spdxId: String
+
+  """URL to the license on <https://choosealicense.com>"""
+  url: URI
+}
+
+"""Describes a License's conditions, permissions, and limitations"""
+type LicenseRule {
+  """A description of the rule"""
+  description: String!
+
+  """The machine-readable rule key"""
+  key: String!
+
+  """The human-readable rule label"""
+  label: String!
+}
+
+"""Autogenerated input type of LinkRepositoryToProject"""
+input LinkRepositoryToProjectInput {
+  """The ID of the Project to link to a Repository"""
+  projectId: ID!
+
+  """The ID of the Repository to link to a Project."""
+  repositoryId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of LinkRepositoryToProject"""
+type LinkRepositoryToProjectPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The linked Project."""
+  project: Project
+
+  """The linked Repository."""
+  repository: Repository
+}
+
+"""An object that can be locked."""
+interface Lockable {
+  """Reason that the conversation was locked."""
+  activeLockReason: LockReason
+
+  """`true` if the object is locked"""
+  locked: Boolean!
+}
+
+"""Represents a 'locked' event on a given issue or pull request."""
+type LockedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Reason that the conversation was locked (optional)."""
+  lockReason: LockReason
+
+  """Object that was locked."""
+  lockable: Lockable!
+}
+
+"""Autogenerated input type of LockLockable"""
+input LockLockableInput {
+  """ID of the issue or pull request to be locked."""
+  lockableId: ID!
+
+  """A reason for why the issue or pull request will be locked."""
+  lockReason: LockReason
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of LockLockable"""
+type LockLockablePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The item that was locked."""
+  lockedRecord: Lockable
+}
+
+"""The possible reasons that an issue or pull request was locked."""
+enum LockReason {
+  """
+  The issue or pull request was locked because the conversation was off-topic.
+  """
+  OFF_TOPIC
+
+  """
+  The issue or pull request was locked because the conversation was too heated.
+  """
+  TOO_HEATED
+
+  """
+  The issue or pull request was locked because the conversation was resolved.
+  """
+  RESOLVED
+
+  """
+  The issue or pull request was locked because the conversation was spam.
+  """
+  SPAM
+}
+
+"""A placeholder user for attribution of imported data on GitHub."""
+type Mannequin implements Node & Actor & UniformResourceLocatable {
+  """A URL pointing to the GitHub App's public avatar."""
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int
+  ): URI!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The mannequin's email on the source instance."""
+  email: String
+  id: ID!
+
+  """The username of the actor."""
+  login: String!
+
+  """The HTML path to this resource."""
+  resourcePath: URI!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The URL to this resource."""
+  url: URI!
+}
+
+"""
+Represents a 'marked_as_duplicate' event on a given issue or pull request.
+"""
+type MarkedAsDuplicateEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+}
+
+"""A public description of a Marketplace category."""
+type MarketplaceCategory implements Node {
+  """The category's description."""
+  description: String
+
+  """
+  The technical description of how apps listed in this category work with GitHub.
+  """
+  howItWorks: String
+  id: ID!
+
+  """The category's name."""
+  name: String!
+
+  """How many Marketplace listings have this as their primary category."""
+  primaryListingCount: Int!
+
+  """The HTTP path for this Marketplace category."""
+  resourcePath: URI!
+
+  """How many Marketplace listings have this as their secondary category."""
+  secondaryListingCount: Int!
+
+  """The short name of the category used in its URL."""
+  slug: String!
+
+  """The HTTP URL for this Marketplace category."""
+  url: URI!
+}
+
+"""A listing in the GitHub integration marketplace."""
+type MarketplaceListing implements Node {
+  """The GitHub App this listing represents."""
+  app: App
+
+  """URL to the listing owner's company site."""
+  companyUrl: URI
+
+  """
+  The HTTP path for configuring access to the listing's integration or OAuth app
+  """
+  configurationResourcePath: URI!
+
+  """
+  The HTTP URL for configuring access to the listing's integration or OAuth app
+  """
+  configurationUrl: URI!
+
+  """URL to the listing's documentation."""
+  documentationUrl: URI
+
+  """The listing's detailed description."""
+  extendedDescription: String
+
+  """The listing's detailed description rendered to HTML."""
+  extendedDescriptionHTML: HTML!
+
+  """The listing's introductory description."""
+  fullDescription: String!
+
+  """The listing's introductory description rendered to HTML."""
+  fullDescriptionHTML: HTML!
+
+  """
+  Whether this listing has been submitted for review from GitHub for approval to be displayed in the Marketplace.
+  """
+  hasApprovalBeenRequested: Boolean! @deprecated(reason: "`hasApprovalBeenRequested` will be removed. Use `isVerificationPendingFromDraft` instead. Removal on 2019-10-01 UTC.")
+
+  """Does this listing have any plans with a free trial?"""
+  hasPublishedFreeTrialPlans: Boolean!
+
+  """Does this listing have a terms of service link?"""
+  hasTermsOfService: Boolean!
+
+  """A technical description of how this app works with GitHub."""
+  howItWorks: String
+
+  """The listing's technical description rendered to HTML."""
+  howItWorksHTML: HTML!
+  id: ID!
+
+  """URL to install the product to the viewer's account or organization."""
+  installationUrl: URI
+
+  """Whether this listing's app has been installed for the current viewer"""
+  installedForViewer: Boolean!
+
+  """Whether this listing has been approved for display in the Marketplace."""
+  isApproved: Boolean! @deprecated(reason: "`isApproved` will be removed. Use `isPublic` instead. Removal on 2019-10-01 UTC.")
+
+  """Whether this listing has been removed from the Marketplace."""
+  isArchived: Boolean!
+
+  """Whether this listing has been removed from the Marketplace."""
+  isDelisted: Boolean! @deprecated(reason: "`isDelisted` will be removed. Use `isArchived` instead. Removal on 2019-10-01 UTC.")
+
+  """
+  Whether this listing is still an editable draft that has not been submitted
+  for review and is not publicly visible in the Marketplace.
+  """
+  isDraft: Boolean!
+
+  """
+  Whether the product this listing represents is available as part of a paid plan.
+  """
+  isPaid: Boolean!
+
+  """Whether this listing has been approved for display in the Marketplace."""
+  isPublic: Boolean!
+
+  """
+  Whether this listing has been rejected by GitHub for display in the Marketplace.
+  """
+  isRejected: Boolean!
+
+  """
+  Whether this listing has been approved for unverified display in the Marketplace.
+  """
+  isUnverified: Boolean!
+
+  """
+  Whether this draft listing has been submitted for review for approval to be unverified in the Marketplace.
+  """
+  isUnverifiedPending: Boolean!
+
+  """
+  Whether this draft listing has been submitted for review from GitHub for approval to be verified in the Marketplace.
+  """
+  isVerificationPendingFromDraft: Boolean!
+
+  """
+  Whether this unverified listing has been submitted for review from GitHub for approval to be verified in the Marketplace.
+  """
+  isVerificationPendingFromUnverified: Boolean!
+
+  """
+  Whether this listing has been approved for verified display in the Marketplace.
+  """
+  isVerified: Boolean!
+
+  """The hex color code, without the leading '#', for the logo background."""
+  logoBackgroundColor: String!
+
+  """URL for the listing's logo image."""
+  logoUrl(
+    """The size in pixels of the resulting square image."""
+    size: Int = 400
+  ): URI
+
+  """The listing's full name."""
+  name: String!
+
+  """
+  The listing's very short description without a trailing period or ampersands.
+  """
+  normalizedShortDescription: String!
+
+  """URL to the listing's detailed pricing."""
+  pricingUrl: URI
+
+  """The category that best describes the listing."""
+  primaryCategory: MarketplaceCategory!
+
+  """
+  URL to the listing's privacy policy, may return an empty string for listings that do not require a privacy policy URL.
+  """
+  privacyPolicyUrl: URI!
+
+  """The HTTP path for the Marketplace listing."""
+  resourcePath: URI!
+
+  """The URLs for the listing's screenshots."""
+  screenshotUrls: [String]!
+
+  """An alternate category that describes the listing."""
+  secondaryCategory: MarketplaceCategory
+
+  """The listing's very short description."""
+  shortDescription: String!
+
+  """The short name of the listing used in its URL."""
+  slug: String!
+
+  """URL to the listing's status page."""
+  statusUrl: URI
+
+  """An email address for support for this listing's app."""
+  supportEmail: String
+
+  """
+  Either a URL or an email address for support for this listing's app, may
+  return an empty string for listings that do not require a support URL.
+  """
+  supportUrl: URI!
+
+  """URL to the listing's terms of service."""
+  termsOfServiceUrl: URI
+
+  """The HTTP URL for the Marketplace listing."""
+  url: URI!
+
+  """Can the current viewer add plans for this Marketplace listing."""
+  viewerCanAddPlans: Boolean!
+
+  """Can the current viewer approve this Marketplace listing."""
+  viewerCanApprove: Boolean!
+
+  """Can the current viewer delist this Marketplace listing."""
+  viewerCanDelist: Boolean!
+
+  """Can the current viewer edit this Marketplace listing."""
+  viewerCanEdit: Boolean!
+
+  """
+  Can the current viewer edit the primary and secondary category of this
+  Marketplace listing.
+  
+  """
+  viewerCanEditCategories: Boolean!
+
+  """Can the current viewer edit the plans for this Marketplace listing."""
+  viewerCanEditPlans: Boolean!
+
+  """
+  Can the current viewer return this Marketplace listing to draft state
+  so it becomes editable again.
+  
+  """
+  viewerCanRedraft: Boolean!
+
+  """
+  Can the current viewer reject this Marketplace listing by returning it to
+  an editable draft state or rejecting it entirely.
+  
+  """
+  viewerCanReject: Boolean!
+
+  """
+  Can the current viewer request this listing be reviewed for display in
+  the Marketplace as verified.
+  
+  """
+  viewerCanRequestApproval: Boolean!
+
+  """
+  Indicates whether the current user has an active subscription to this Marketplace listing.
+  
+  """
+  viewerHasPurchased: Boolean!
+
+  """
+  Indicates if the current user has purchased a subscription to this Marketplace listing
+  for all of the organizations the user owns.
+  
+  """
+  viewerHasPurchasedForAllOrganizations: Boolean!
+
+  """
+  Does the current viewer role allow them to administer this Marketplace listing.
+  
+  """
+  viewerIsListingAdmin: Boolean!
+}
+
+"""Look up Marketplace Listings"""
+type MarketplaceListingConnection {
+  """A list of edges."""
+  edges: [MarketplaceListingEdge]
+
+  """A list of nodes."""
+  nodes: [MarketplaceListing]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type MarketplaceListingEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: MarketplaceListing
+}
+
+"""Audit log entry for a members_can_delete_repos.clear event."""
+type MembersCanDeleteReposClearAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The HTTP path for this enterprise."""
+  enterpriseResourcePath: URI
+
+  """The slug of the enterprise."""
+  enterpriseSlug: String
+
+  """The HTTP URL for this enterprise."""
+  enterpriseUrl: URI
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a members_can_delete_repos.disable event."""
+type MembersCanDeleteReposDisableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The HTTP path for this enterprise."""
+  enterpriseResourcePath: URI
+
+  """The slug of the enterprise."""
+  enterpriseSlug: String
+
+  """The HTTP URL for this enterprise."""
+  enterpriseUrl: URI
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a members_can_delete_repos.enable event."""
+type MembersCanDeleteReposEnableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The HTTP path for this enterprise."""
+  enterpriseResourcePath: URI
+
+  """The slug of the enterprise."""
+  enterpriseSlug: String
+
+  """The HTTP URL for this enterprise."""
+  enterpriseUrl: URI
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Entities that have members who can set status messages."""
+interface MemberStatusable {
+  """
+  Get the status messages members of this entity have set that are either public or visible only to the organization.
+  """
+  memberStatuses(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for user statuses returned from the connection."""
+    orderBy: UserStatusOrder = {field: UPDATED_AT, direction: DESC}
+  ): UserStatusConnection!
+}
+
+"""Represents a 'mentioned' event on a given issue or pull request."""
+type MentionedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+}
+
+"""Whether or not a PullRequest can be merged."""
+enum MergeableState {
+  """The pull request can be merged."""
+  MERGEABLE
+
+  """The pull request cannot be merged due to merge conflicts."""
+  CONFLICTING
+
+  """The mergeability of the pull request is still being calculated."""
+  UNKNOWN
+}
+
+"""Autogenerated input type of MergeBranch"""
+input MergeBranchInput {
+  """
+  The Node ID of the Repository containing the base branch that will be modified.
+  """
+  repositoryId: ID!
+
+  """
+  The name of the base branch that the provided head will be merged into.
+  """
+  base: String!
+
+  """
+  The head to merge into the base branch. This can be a branch name or a commit GitObjectID.
+  """
+  head: String!
+
+  """
+  Message to use for the merge commit. If omitted, a default will be used.
+  """
+  commitMessage: String
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of MergeBranch"""
+type MergeBranchPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The resulting merge Commit."""
+  mergeCommit: Commit
+}
+
+"""Represents a 'merged' event on a given pull request."""
+type MergedEvent implements Node & UniformResourceLocatable {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the commit associated with the `merge` event."""
+  commit: Commit
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Identifies the Ref associated with the `merge` event."""
+  mergeRef: Ref
+
+  """Identifies the name of the Ref associated with the `merge` event."""
+  mergeRefName: String!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+
+  """The HTTP path for this merged event."""
+  resourcePath: URI!
+
+  """The HTTP URL for this merged event."""
+  url: URI!
+}
+
+"""Autogenerated input type of MergePullRequest"""
+input MergePullRequestInput {
+  """ID of the pull request to be merged."""
+  pullRequestId: ID!
+
+  """
+  Commit headline to use for the merge commit; if omitted, a default message will be used.
+  """
+  commitHeadline: String
+
+  """
+  Commit body to use for the merge commit; if omitted, a default message will be used
+  """
+  commitBody: String
+
+  """
+  OID that the pull request head ref must match to allow merge; if omitted, no check is performed.
+  """
+  expectedHeadOid: GitObjectID
+
+  """The merge method to use. If omitted, defaults to 'MERGE'"""
+  mergeMethod: PullRequestMergeMethod = MERGE
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of MergePullRequest"""
+type MergePullRequestPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The pull request that was merged."""
+  pullRequest: PullRequest
+}
+
+"""Represents a Milestone object on a given repository."""
+type Milestone implements Node & Closable & UniformResourceLocatable {
+  """
+  `true` if the object is closed (definition of closed may depend on type)
+  """
+  closed: Boolean!
+
+  """Identifies the date and time when the object was closed."""
+  closedAt: DateTime
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the actor who created the milestone."""
+  creator: Actor
+
+  """Identifies the description of the milestone."""
+  description: String
+
+  """Identifies the due date of the milestone."""
+  dueOn: DateTime
+  id: ID!
+
+  """Just for debugging on review-lab"""
+  issuePrioritiesDebug: String!
+
+  """A list of issues associated with the milestone."""
+  issues(
+    """Ordering options for issues returned from the connection."""
+    orderBy: IssueOrder
+
+    """A list of label names to filter the pull requests by."""
+    labels: [String!]
+
+    """A list of states to filter the issues by."""
+    states: [IssueState!]
+
+    """Filtering options for issues returned from the connection."""
+    filterBy: IssueFilters
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): IssueConnection!
+
+  """Identifies the number of the milestone."""
+  number: Int!
+
+  """A list of pull requests associated with the milestone."""
+  pullRequests(
+    """A list of states to filter the pull requests by."""
+    states: [PullRequestState!]
+
+    """A list of label names to filter the pull requests by."""
+    labels: [String!]
+
+    """The head ref name to filter the pull requests by."""
+    headRefName: String
+
+    """The base ref name to filter the pull requests by."""
+    baseRefName: String
+
+    """Ordering options for pull requests returned from the connection."""
+    orderBy: IssueOrder
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestConnection!
+
+  """The repository associated with this milestone."""
+  repository: Repository!
+
+  """The HTTP path for this milestone"""
+  resourcePath: URI!
+
+  """Identifies the state of the milestone."""
+  state: MilestoneState!
+
+  """Identifies the title of the milestone."""
+  title: String!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this milestone"""
+  url: URI!
+}
+
+"""The connection type for Milestone."""
+type MilestoneConnection {
+  """A list of edges."""
+  edges: [MilestoneEdge]
+
+  """A list of nodes."""
+  nodes: [Milestone]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents a 'milestoned' event on a given issue or pull request."""
+type MilestonedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Identifies the milestone title associated with the 'milestoned' event."""
+  milestoneTitle: String!
+
+  """Object referenced by event."""
+  subject: MilestoneItem!
+}
+
+"""An edge in a connection."""
+type MilestoneEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Milestone
+}
+
+"""Types that can be inside a Milestone."""
+union MilestoneItem = Issue | PullRequest
+
+"""Ordering options for milestone connections."""
+input MilestoneOrder {
+  """The field to order milestones by."""
+  field: MilestoneOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which milestone connections can be ordered."""
+enum MilestoneOrderField {
+  """Order milestones by when they are due."""
+  DUE_DATE
+
+  """Order milestones by when they were created."""
+  CREATED_AT
+
+  """Order milestones by when they were last updated."""
+  UPDATED_AT
+
+  """Order milestones by their number."""
+  NUMBER
+}
+
+"""The possible states of a milestone."""
+enum MilestoneState {
+  """A milestone that is still open."""
+  OPEN
+
+  """A milestone that has been closed."""
+  CLOSED
+}
+
+"""Autogenerated input type of MinimizeComment"""
+input MinimizeCommentInput {
+  """The Node ID of the subject to modify."""
+  subjectId: ID!
+
+  """The classification of comment"""
+  classifier: ReportedContentClassifiers!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Represents a 'moved_columns_in_project' event on a given issue or pull request.
+"""
+type MovedColumnsInProjectEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+}
+
+"""Autogenerated input type of MoveProjectCard"""
+input MoveProjectCardInput {
+  """The id of the card to move."""
+  cardId: ID!
+
+  """The id of the column to move it into."""
+  columnId: ID!
+
+  """
+  Place the new card after the card with this id. Pass null to place it at the top.
+  """
+  afterCardId: ID
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of MoveProjectCard"""
+type MoveProjectCardPayload {
+  """The new edge of the moved card."""
+  cardEdge: ProjectCardEdge
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of MoveProjectColumn"""
+input MoveProjectColumnInput {
+  """The id of the column to move."""
+  columnId: ID!
+
+  """
+  Place the new column after the column with this id. Pass null to place it at the front.
+  """
+  afterColumnId: ID
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of MoveProjectColumn"""
+type MoveProjectColumnPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The new edge of the moved column."""
+  columnEdge: ProjectColumnEdge
+}
+
+"""The root query for implementing GraphQL mutations."""
+type Mutation {
+  """
+  Accepts a pending invitation for a user to become an administrator of an enterprise.
+  """
+  acceptEnterpriseAdministratorInvitation(input: AcceptEnterpriseAdministratorInvitationInput!): AcceptEnterpriseAdministratorInvitationPayload
+
+  """Applies a suggested topic to the repository."""
+  acceptTopicSuggestion(input: AcceptTopicSuggestionInput!): AcceptTopicSuggestionPayload
+
+  """Adds assignees to an assignable object."""
+  addAssigneesToAssignable(input: AddAssigneesToAssignableInput!): AddAssigneesToAssignablePayload
+
+  """Adds a comment to an Issue or Pull Request."""
+  addComment(input: AddCommentInput!): AddCommentPayload
+
+  """Adds labels to a labelable object."""
+  addLabelsToLabelable(input: AddLabelsToLabelableInput!): AddLabelsToLabelablePayload
+
+  """
+  Adds a card to a ProjectColumn. Either `contentId` or `note` must be provided but **not** both.
+  """
+  addProjectCard(input: AddProjectCardInput!): AddProjectCardPayload
+
+  """Adds a column to a Project."""
+  addProjectColumn(input: AddProjectColumnInput!): AddProjectColumnPayload
+
+  """Adds a review to a Pull Request."""
+  addPullRequestReview(input: AddPullRequestReviewInput!): AddPullRequestReviewPayload
+
+  """Adds a comment to a review."""
+  addPullRequestReviewComment(input: AddPullRequestReviewCommentInput!): AddPullRequestReviewCommentPayload
+
+  """Adds a reaction to a subject."""
+  addReaction(input: AddReactionInput!): AddReactionPayload
+
+  """Adds a star to a Starrable."""
+  addStar(input: AddStarInput!): AddStarPayload
+
+  """
+  Cancels a pending invitation for an administrator to join an enterprise.
+  """
+  cancelEnterpriseAdminInvitation(input: CancelEnterpriseAdminInvitationInput!): CancelEnterpriseAdminInvitationPayload
+
+  """Update your status on GitHub."""
+  changeUserStatus(input: ChangeUserStatusInput!): ChangeUserStatusPayload
+
+  """Clears all labels from a labelable object."""
+  clearLabelsFromLabelable(input: ClearLabelsFromLabelableInput!): ClearLabelsFromLabelablePayload
+
+  """
+  Creates a new project by cloning configuration from an existing project.
+  """
+  cloneProject(input: CloneProjectInput!): CloneProjectPayload
+
+  """
+  Create a new repository with the same files and directory structure as a template repository.
+  """
+  cloneTemplateRepository(input: CloneTemplateRepositoryInput!): CloneTemplateRepositoryPayload
+
+  """Close an issue."""
+  closeIssue(input: CloseIssueInput!): CloseIssuePayload
+
+  """Close a pull request."""
+  closePullRequest(input: ClosePullRequestInput!): ClosePullRequestPayload
+
+  """
+  Convert a project note card to one associated with a newly created issue.
+  """
+  convertProjectCardNoteToIssue(input: ConvertProjectCardNoteToIssueInput!): ConvertProjectCardNoteToIssuePayload
+
+  """Create a new branch protection rule"""
+  createBranchProtectionRule(input: CreateBranchProtectionRuleInput!): CreateBranchProtectionRulePayload
+
+  """Creates an organization as part of an enterprise account."""
+  createEnterpriseOrganization(input: CreateEnterpriseOrganizationInput!): CreateEnterpriseOrganizationPayload
+
+  """Creates a new issue."""
+  createIssue(input: CreateIssueInput!): CreateIssuePayload
+
+  """Creates a new project."""
+  createProject(input: CreateProjectInput!): CreateProjectPayload
+
+  """Create a new pull request"""
+  createPullRequest(input: CreatePullRequestInput!): CreatePullRequestPayload
+
+  """Create a new Git Ref."""
+  createRef(input: CreateRefInput!): CreateRefPayload
+
+  """Create a new repository."""
+  createRepository(input: CreateRepositoryInput!): CreateRepositoryPayload
+
+  """Creates a new team discussion."""
+  createTeamDiscussion(input: CreateTeamDiscussionInput!): CreateTeamDiscussionPayload
+
+  """Creates a new team discussion comment."""
+  createTeamDiscussionComment(input: CreateTeamDiscussionCommentInput!): CreateTeamDiscussionCommentPayload
+
+  """Rejects a suggested topic for the repository."""
+  declineTopicSuggestion(input: DeclineTopicSuggestionInput!): DeclineTopicSuggestionPayload
+
+  """Delete a branch protection rule"""
+  deleteBranchProtectionRule(input: DeleteBranchProtectionRuleInput!): DeleteBranchProtectionRulePayload
+
+  """Deletes an Issue object."""
+  deleteIssue(input: DeleteIssueInput!): DeleteIssuePayload
+
+  """Deletes an IssueComment object."""
+  deleteIssueComment(input: DeleteIssueCommentInput!): DeleteIssueCommentPayload
+
+  """Deletes a project."""
+  deleteProject(input: DeleteProjectInput!): DeleteProjectPayload
+
+  """Deletes a project card."""
+  deleteProjectCard(input: DeleteProjectCardInput!): DeleteProjectCardPayload
+
+  """Deletes a project column."""
+  deleteProjectColumn(input: DeleteProjectColumnInput!): DeleteProjectColumnPayload
+
+  """Deletes a pull request review."""
+  deletePullRequestReview(input: DeletePullRequestReviewInput!): DeletePullRequestReviewPayload
+
+  """Deletes a pull request review comment."""
+  deletePullRequestReviewComment(input: DeletePullRequestReviewCommentInput!): DeletePullRequestReviewCommentPayload
+
+  """Delete a Git Ref."""
+  deleteRef(input: DeleteRefInput!): DeleteRefPayload
+
+  """Deletes a team discussion."""
+  deleteTeamDiscussion(input: DeleteTeamDiscussionInput!): DeleteTeamDiscussionPayload
+
+  """Deletes a team discussion comment."""
+  deleteTeamDiscussionComment(input: DeleteTeamDiscussionCommentInput!): DeleteTeamDiscussionCommentPayload
+
+  """Dismisses an approved or rejected pull request review."""
+  dismissPullRequestReview(input: DismissPullRequestReviewInput!): DismissPullRequestReviewPayload
+
+  """Follow a user."""
+  followUser(input: FollowUserInput!): FollowUserPayload
+
+  """Invite someone to become an administrator of the enterprise."""
+  inviteEnterpriseAdmin(input: InviteEnterpriseAdminInput!): InviteEnterpriseAdminPayload
+
+  """Creates a repository link for a project."""
+  linkRepositoryToProject(input: LinkRepositoryToProjectInput!): LinkRepositoryToProjectPayload
+
+  """Lock a lockable object"""
+  lockLockable(input: LockLockableInput!): LockLockablePayload
+
+  """Merge a head into a branch."""
+  mergeBranch(input: MergeBranchInput!): MergeBranchPayload
+
+  """Merge a pull request."""
+  mergePullRequest(input: MergePullRequestInput!): MergePullRequestPayload
+
+  """Moves a project card to another place."""
+  moveProjectCard(input: MoveProjectCardInput!): MoveProjectCardPayload
+
+  """Moves a project column to another place."""
+  moveProjectColumn(input: MoveProjectColumnInput!): MoveProjectColumnPayload
+
+  """Regenerates the identity provider recovery codes for an enterprise"""
+  regenerateEnterpriseIdentityProviderRecoveryCodes(input: RegenerateEnterpriseIdentityProviderRecoveryCodesInput!): RegenerateEnterpriseIdentityProviderRecoveryCodesPayload
+
+  """Removes assignees from an assignable object."""
+  removeAssigneesFromAssignable(input: RemoveAssigneesFromAssignableInput!): RemoveAssigneesFromAssignablePayload
+
+  """Removes an administrator from the enterprise."""
+  removeEnterpriseAdmin(input: RemoveEnterpriseAdminInput!): RemoveEnterpriseAdminPayload
+
+  """Removes an organization from the enterprise"""
+  removeEnterpriseOrganization(input: RemoveEnterpriseOrganizationInput!): RemoveEnterpriseOrganizationPayload
+
+  """Removes labels from a Labelable object."""
+  removeLabelsFromLabelable(input: RemoveLabelsFromLabelableInput!): RemoveLabelsFromLabelablePayload
+
+  """Removes outside collaborator from all repositories in an organization."""
+  removeOutsideCollaborator(input: RemoveOutsideCollaboratorInput!): RemoveOutsideCollaboratorPayload
+
+  """Removes a reaction from a subject."""
+  removeReaction(input: RemoveReactionInput!): RemoveReactionPayload
+
+  """Removes a star from a Starrable."""
+  removeStar(input: RemoveStarInput!): RemoveStarPayload
+
+  """Reopen a issue."""
+  reopenIssue(input: ReopenIssueInput!): ReopenIssuePayload
+
+  """Reopen a pull request."""
+  reopenPullRequest(input: ReopenPullRequestInput!): ReopenPullRequestPayload
+
+  """Set review requests on a pull request."""
+  requestReviews(input: RequestReviewsInput!): RequestReviewsPayload
+
+  """Marks a review thread as resolved."""
+  resolveReviewThread(input: ResolveReviewThreadInput!): ResolveReviewThreadPayload
+
+  """Submits a pending pull request review."""
+  submitPullRequestReview(input: SubmitPullRequestReviewInput!): SubmitPullRequestReviewPayload
+
+  """Transfer an issue to a different repository"""
+  transferIssue(input: TransferIssueInput!): TransferIssuePayload
+
+  """Unfollow a user."""
+  unfollowUser(input: UnfollowUserInput!): UnfollowUserPayload
+
+  """Deletes a repository link from a project."""
+  unlinkRepositoryFromProject(input: UnlinkRepositoryFromProjectInput!): UnlinkRepositoryFromProjectPayload
+
+  """Unlock a lockable object"""
+  unlockLockable(input: UnlockLockableInput!): UnlockLockablePayload
+
+  """Unmark an issue as a duplicate of another issue."""
+  unmarkIssueAsDuplicate(input: UnmarkIssueAsDuplicateInput!): UnmarkIssueAsDuplicatePayload
+
+  """Marks a review thread as unresolved."""
+  unresolveReviewThread(input: UnresolveReviewThreadInput!): UnresolveReviewThreadPayload
+
+  """Create a new branch protection rule"""
+  updateBranchProtectionRule(input: UpdateBranchProtectionRuleInput!): UpdateBranchProtectionRulePayload
+
+  """Sets the action execution capability setting for an enterprise."""
+  updateEnterpriseActionExecutionCapabilitySetting(input: UpdateEnterpriseActionExecutionCapabilitySettingInput!): UpdateEnterpriseActionExecutionCapabilitySettingPayload
+
+  """Updates the role of an enterprise administrator."""
+  updateEnterpriseAdministratorRole(input: UpdateEnterpriseAdministratorRoleInput!): UpdateEnterpriseAdministratorRolePayload
+
+  """Sets whether private repository forks are enabled for an enterprise."""
+  updateEnterpriseAllowPrivateRepositoryForkingSetting(input: UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput!): UpdateEnterpriseAllowPrivateRepositoryForkingSettingPayload
+
+  """
+  Sets the default repository permission for organizations in an enterprise.
+  """
+  updateEnterpriseDefaultRepositoryPermissionSetting(input: UpdateEnterpriseDefaultRepositoryPermissionSettingInput!): UpdateEnterpriseDefaultRepositoryPermissionSettingPayload
+
+  """
+  Sets whether organization members with admin permissions on a repository can change repository visibility.
+  """
+  updateEnterpriseMembersCanChangeRepositoryVisibilitySetting(input: UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput!): UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingPayload
+
+  """Sets the members can create repositories setting for an enterprise."""
+  updateEnterpriseMembersCanCreateRepositoriesSetting(input: UpdateEnterpriseMembersCanCreateRepositoriesSettingInput!): UpdateEnterpriseMembersCanCreateRepositoriesSettingPayload
+
+  """Sets the members can delete issues setting for an enterprise."""
+  updateEnterpriseMembersCanDeleteIssuesSetting(input: UpdateEnterpriseMembersCanDeleteIssuesSettingInput!): UpdateEnterpriseMembersCanDeleteIssuesSettingPayload
+
+  """Sets the members can delete repositories setting for an enterprise."""
+  updateEnterpriseMembersCanDeleteRepositoriesSetting(input: UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput!): UpdateEnterpriseMembersCanDeleteRepositoriesSettingPayload
+
+  """
+  Sets whether members can invite collaborators are enabled for an enterprise.
+  """
+  updateEnterpriseMembersCanInviteCollaboratorsSetting(input: UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput!): UpdateEnterpriseMembersCanInviteCollaboratorsSettingPayload
+
+  """Sets whether or not an organization admin can make purchases."""
+  updateEnterpriseMembersCanMakePurchasesSetting(input: UpdateEnterpriseMembersCanMakePurchasesSettingInput!): UpdateEnterpriseMembersCanMakePurchasesSettingPayload
+
+  """
+  Sets the members can update protected branches setting for an enterprise.
+  """
+  updateEnterpriseMembersCanUpdateProtectedBranchesSetting(input: UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput!): UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingPayload
+
+  """Sets the members can view dependency insights for an enterprise."""
+  updateEnterpriseMembersCanViewDependencyInsightsSetting(input: UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput!): UpdateEnterpriseMembersCanViewDependencyInsightsSettingPayload
+
+  """Sets whether organization projects are enabled for an enterprise."""
+  updateEnterpriseOrganizationProjectsSetting(input: UpdateEnterpriseOrganizationProjectsSettingInput!): UpdateEnterpriseOrganizationProjectsSettingPayload
+
+  """Updates an enterprise's profile."""
+  updateEnterpriseProfile(input: UpdateEnterpriseProfileInput!): UpdateEnterpriseProfilePayload
+
+  """Sets whether repository projects are enabled for a enterprise."""
+  updateEnterpriseRepositoryProjectsSetting(input: UpdateEnterpriseRepositoryProjectsSettingInput!): UpdateEnterpriseRepositoryProjectsSettingPayload
+
+  """Sets whether team discussions are enabled for an enterprise."""
+  updateEnterpriseTeamDiscussionsSetting(input: UpdateEnterpriseTeamDiscussionsSettingInput!): UpdateEnterpriseTeamDiscussionsSettingPayload
+
+  """
+  Sets whether two factor authentication is required for all users in an enterprise.
+  """
+  updateEnterpriseTwoFactorAuthenticationRequiredSetting(input: UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput!): UpdateEnterpriseTwoFactorAuthenticationRequiredSettingPayload
+
+  """Updates an Issue."""
+  updateIssue(input: UpdateIssueInput!): UpdateIssuePayload
+
+  """Updates an IssueComment object."""
+  updateIssueComment(input: UpdateIssueCommentInput!): UpdateIssueCommentPayload
+
+  """Updates an existing project."""
+  updateProject(input: UpdateProjectInput!): UpdateProjectPayload
+
+  """Updates an existing project card."""
+  updateProjectCard(input: UpdateProjectCardInput!): UpdateProjectCardPayload
+
+  """Updates an existing project column."""
+  updateProjectColumn(input: UpdateProjectColumnInput!): UpdateProjectColumnPayload
+
+  """Update a pull request"""
+  updatePullRequest(input: UpdatePullRequestInput!): UpdatePullRequestPayload
+
+  """Updates the body of a pull request review."""
+  updatePullRequestReview(input: UpdatePullRequestReviewInput!): UpdatePullRequestReviewPayload
+
+  """Updates a pull request review comment."""
+  updatePullRequestReviewComment(input: UpdatePullRequestReviewCommentInput!): UpdatePullRequestReviewCommentPayload
+
+  """Update a Git Ref."""
+  updateRef(input: UpdateRefInput!): UpdateRefPayload
+
+  """Update information about a repository."""
+  updateRepository(input: UpdateRepositoryInput!): UpdateRepositoryPayload
+
+  """Updates the state for subscribable subjects."""
+  updateSubscription(input: UpdateSubscriptionInput!): UpdateSubscriptionPayload
+
+  """Updates a team discussion."""
+  updateTeamDiscussion(input: UpdateTeamDiscussionInput!): UpdateTeamDiscussionPayload
+
+  """Updates a discussion comment."""
+  updateTeamDiscussionComment(input: UpdateTeamDiscussionCommentInput!): UpdateTeamDiscussionCommentPayload
+
+  """Replaces the repository's topics with the given topics."""
+  updateTopics(input: UpdateTopicsInput!): UpdateTopicsPayload
+}
+
+"""An object with an ID."""
+interface Node {
+  """ID of the object."""
+  id: ID!
+}
+
+"""Metadata for an audit entry with action oauth_application.*"""
+interface OauthApplicationAuditEntryData {
+  """The name of the OAuth Application."""
+  oauthApplicationName: String
+
+  """The HTTP path for the OAuth Application"""
+  oauthApplicationResourcePath: URI
+
+  """The HTTP URL for the OAuth Application"""
+  oauthApplicationUrl: URI
+}
+
+"""Audit log entry for a oauth_application.create event."""
+type OauthApplicationCreateAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The application URL of the OAuth Application."""
+  applicationUrl: URI
+
+  """The callback URL of the OAuth Application."""
+  callbackUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The name of the OAuth Application."""
+  oauthApplicationName: String
+
+  """The HTTP path for the OAuth Application"""
+  oauthApplicationResourcePath: URI
+
+  """The HTTP URL for the OAuth Application"""
+  oauthApplicationUrl: URI
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The rate limit of the OAuth Application."""
+  rateLimit: Int
+
+  """The state of the OAuth Application."""
+  state: OauthApplicationCreateAuditEntryState
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The state of an OAuth Application when it was created."""
+enum OauthApplicationCreateAuditEntryState {
+  """The OAuth Application was active and allowed to have OAuth Accesses."""
+  ACTIVE
+
+  """
+  The OAuth Application was suspended from generating OAuth Accesses due to abuse or security concerns.
+  """
+  SUSPENDED
+
+  """The OAuth Application was in the process of being deleted."""
+  PENDING_DELETION
+}
+
+"""The state of an OAuth Application when its tokens were revoked."""
+enum OauthApplicationRevokeTokensAuditEntryState {
+  """The OAuth Application was active and allowed to have OAuth Accesses."""
+  ACTIVE
+
+  """
+  The OAuth Application was suspended from generating OAuth Accesses due to abuse or security concerns.
+  """
+  SUSPENDED
+
+  """The OAuth Application was in the process of being deleted."""
+  PENDING_DELETION
+}
+
+"""The corresponding operation type for the action"""
+enum OperationType {
+  """An existing resource was accessed"""
+  ACCESS
+
+  """A resource performed an authentication event"""
+  AUTHENTICATION
+
+  """A new resource was created"""
+  CREATE
+
+  """An existing resource was modified"""
+  MODIFY
+
+  """An existing resource was removed"""
+  REMOVE
+
+  """An existing resource was restored"""
+  RESTORE
+
+  """An existing resource was transferred between multiple resources"""
+  TRANSFER
+}
+
+"""
+Possible directions in which to order a list of items when provided an `orderBy` argument.
+"""
+enum OrderDirection {
+  """Specifies an ascending order for a given `orderBy` argument."""
+  ASC
+
+  """Specifies a descending order for a given `orderBy` argument."""
+  DESC
+}
+
+"""Audit log entry for a org.add_billing_manager"""
+type OrgAddBillingManagerAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """
+  The email address used to invite a billing manager for the organization.
+  """
+  invitationEmail: String
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.add_member"""
+type OrgAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The permission level of the member added to the organization."""
+  permission: OrgAddMemberAuditEntryPermission
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The permissions available to members on an Organization."""
+enum OrgAddMemberAuditEntryPermission {
+  """Can read and clone repositories."""
+  READ
+
+  """Can read, clone, push, and add collaborators to repositories."""
+  ADMIN
+}
+
+"""
+An account on GitHub, with one or more owners, that has repositories, members and teams.
+"""
+type Organization implements Node & Actor & RegistryPackageOwner & RegistryPackageSearch & ProjectOwner & RepositoryOwner & UniformResourceLocatable & MemberStatusable & ProfileOwner & Sponsorable {
+  """
+  Determine if this repository owner has any items that can be pinned to their profile.
+  """
+  anyPinnableItems(
+    """Filter to only a particular kind of pinnable item."""
+    type: PinnableItemType
+  ): Boolean!
+
+  """Audit log entries of the organization"""
+  auditLog(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The query string to filter audit entries"""
+    query: String
+
+    """Ordering options for the returned audit log entries."""
+    orderBy: AuditLogOrder = {field: CREATED_AT, direction: DESC}
+  ): OrganizationAuditEntryConnection!
+
+  """A URL pointing to the organization's public avatar."""
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int
+  ): URI!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The organization's public profile description."""
+  description: String
+
+  """The organization's public profile description rendered to HTML."""
+  descriptionHTML: String
+
+  """The organization's public email."""
+  email: String
+  id: ID!
+
+  """Whether the organization has verified its profile email and website."""
+  isVerified: Boolean!
+
+  """
+  Showcases a selection of repositories and gists that the profile owner has
+  either curated or that have been selected automatically based on popularity.
+  """
+  itemShowcase: ProfileItemShowcase!
+
+  """The organization's public profile location."""
+  location: String
+
+  """The organization's login name."""
+  login: String!
+
+  """
+  Get the status messages members of this entity have set that are either public or visible only to the organization.
+  """
+  memberStatuses(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for user statuses returned from the connection."""
+    orderBy: UserStatusOrder = {field: UPDATED_AT, direction: DESC}
+  ): UserStatusConnection!
+
+  """A list of users who are members of this organization."""
+  membersWithRole(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): OrganizationMemberConnection!
+
+  """The organization's public profile name."""
+  name: String
+
+  """The HTTP path creating a new team"""
+  newTeamResourcePath: URI!
+
+  """The HTTP URL creating a new team"""
+  newTeamUrl: URI!
+
+  """The billing email for the organization."""
+  organizationBillingEmail: String
+
+  """A list of users who have been invited to join this organization."""
+  pendingMembers(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+
+  """
+  A list of repositories and gists this profile owner can pin to their profile.
+  """
+  pinnableItems(
+    """Filter the types of pinnable items that are returned."""
+    types: [PinnableItemType!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PinnableItemConnection!
+
+  """
+  A list of repositories and gists this profile owner has pinned to their profile
+  """
+  pinnedItems(
+    """Filter the types of pinned items that are returned."""
+    types: [PinnableItemType!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PinnableItemConnection!
+
+  """
+  Returns how many more items this profile owner can pin to their profile.
+  """
+  pinnedItemsRemaining: Int!
+
+  """A list of repositories this user has pinned to their profile"""
+  pinnedRepositories(
+    """If non-null, filters repositories according to privacy"""
+    privacy: RepositoryPrivacy
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder
+
+    """
+    Array of viewer's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    current viewer owns.
+    """
+    affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    Array of owner's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    organization or user being viewed owns.
+    """
+    ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    If non-null, filters repositories according to whether they have been locked
+    """
+    isLocked: Boolean
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RepositoryConnection! @deprecated(reason: "pinnedRepositories will be removed Use ProfileOwner.pinnedItems instead. Removal on 2019-10-01 UTC.")
+
+  """Find project by number."""
+  project(
+    """The project number to find."""
+    number: Int!
+  ): Project
+
+  """A list of projects under the owner."""
+  projects(
+    """Ordering options for projects returned from the connection"""
+    orderBy: ProjectOrder
+
+    """Query to search projects by, currently only searching by name."""
+    search: String
+
+    """A list of states to filter the projects by."""
+    states: [ProjectState!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ProjectConnection!
+
+  """The HTTP path listing organization's projects"""
+  projectsResourcePath: URI!
+
+  """The HTTP URL listing organization's projects"""
+  projectsUrl: URI!
+
+  """A list of registry packages under the owner."""
+  registryPackages(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Find registry package by name."""
+    name: String
+
+    """Find registry packages by their names."""
+    names: [String]
+
+    """Find registry packages in a repository."""
+    repositoryId: ID
+
+    """Filter registry package by type."""
+    packageType: RegistryPackageType
+
+    """Filter registry package by type (string)."""
+    registryPackageType: String
+
+    """Filter registry package by whether it is publicly visible"""
+    publicOnly: Boolean = false
+  ): RegistryPackageConnection!
+
+  """A list of registry packages for a particular search query."""
+  registryPackagesForQuery(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Find registry package by search query."""
+    query: String
+
+    """Filter registry package by type."""
+    packageType: RegistryPackageType
+  ): RegistryPackageConnection!
+
+  """A list of repositories that the user owns."""
+  repositories(
+    """If non-null, filters repositories according to privacy"""
+    privacy: RepositoryPrivacy
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder
+
+    """
+    Array of viewer's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    current viewer owns.
+    """
+    affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    Array of owner's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    organization or user being viewed owns.
+    """
+    ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    If non-null, filters repositories according to whether they have been locked
+    """
+    isLocked: Boolean
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    If non-null, filters repositories according to whether they are forks of another repository
+    """
+    isFork: Boolean
+  ): RepositoryConnection!
+
+  """Find Repository."""
+  repository(
+    """Name of Repository to find."""
+    name: String!
+  ): Repository
+
+  """
+  When true the organization requires all members, billing managers, and outside
+  collaborators to enable two-factor authentication.
+  """
+  requiresTwoFactorAuthentication: Boolean
+
+  """The HTTP path for this organization."""
+  resourcePath: URI!
+
+  """The Organization's SAML identity providers"""
+  samlIdentityProvider: OrganizationIdentityProvider
+
+  """This object's sponsorships as the maintainer."""
+  sponsorshipsAsMaintainer(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Whether or not to include private sponsorships in the result set"""
+    includePrivate: Boolean = false
+
+    """
+    Ordering options for sponsorships returned from this connection. If left
+    blank, the sponsorships will be ordered based on relevancy to the viewer.
+    """
+    orderBy: SponsorshipOrder
+  ): SponsorshipConnection!
+
+  """This object's sponsorships as the sponsor."""
+  sponsorshipsAsSponsor(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    Ordering options for sponsorships returned from this connection. If left
+    blank, the sponsorships will be ordered based on relevancy to the viewer.
+    """
+    orderBy: SponsorshipOrder
+  ): SponsorshipConnection!
+
+  """Find an organization's team by its slug."""
+  team(
+    """The name or slug of the team to find."""
+    slug: String!
+  ): Team
+
+  """A list of teams in this organization."""
+  teams(
+    """If non-null, filters teams according to privacy"""
+    privacy: TeamPrivacy
+
+    """
+    If non-null, filters teams according to whether the viewer is an admin or member on team
+    """
+    role: TeamRole
+
+    """If non-null, filters teams with query on team name and team slug"""
+    query: String
+
+    """User logins to filter by"""
+    userLogins: [String!]
+
+    """Ordering options for teams returned from the connection"""
+    orderBy: TeamOrder
+
+    """
+    If true, filters teams that are mapped to an LDAP Group (Enterprise only)
+    """
+    ldapMapped: Boolean
+
+    """If true, restrict to only root teams"""
+    rootTeamsOnly: Boolean = false
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): TeamConnection!
+
+  """The HTTP path listing organization's teams"""
+  teamsResourcePath: URI!
+
+  """The HTTP URL listing organization's teams"""
+  teamsUrl: URI!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this organization."""
+  url: URI!
+
+  """Organization is adminable by the viewer."""
+  viewerCanAdminister: Boolean!
+
+  """Can the viewer pin repositories and gists to the profile?"""
+  viewerCanChangePinnedItems: Boolean!
+
+  """Can the current viewer create new projects on this owner."""
+  viewerCanCreateProjects: Boolean!
+
+  """Viewer can create repositories on this organization"""
+  viewerCanCreateRepositories: Boolean!
+
+  """Viewer can create teams on this organization."""
+  viewerCanCreateTeams: Boolean!
+
+  """Viewer is an active member of this organization."""
+  viewerIsAMember: Boolean!
+
+  """The organization's public profile URL."""
+  websiteUrl: URI
+}
+
+"""An audit entry in an organization audit log."""
+union OrganizationAuditEntry = MembersCanDeleteReposClearAuditEntry | MembersCanDeleteReposDisableAuditEntry | MembersCanDeleteReposEnableAuditEntry | OauthApplicationCreateAuditEntry | OrgAddBillingManagerAuditEntry | OrgAddMemberAuditEntry | OrgBlockUserAuditEntry | OrgConfigDisableCollaboratorsOnlyAuditEntry | OrgConfigEnableCollaboratorsOnlyAuditEntry | OrgCreateAuditEntry | OrgDisableOauthAppRestrictionsAuditEntry | OrgDisableSamlAuditEntry | OrgDisableTwoFactorRequirementAuditEntry | OrgEnableOauthAppRestrictionsAuditEntry | OrgEnableSamlAuditEntry | OrgEnableTwoFactorRequirementAuditEntry | OrgInviteMemberAuditEntry | OrgInviteToBusinessAuditEntry | OrgOauthAppAccessApprovedAuditEntry | OrgOauthAppAccessDeniedAuditEntry | OrgOauthAppAccessRequestedAuditEntry | OrgRemoveBillingManagerAuditEntry | OrgRemoveMemberAuditEntry | OrgRemoveOutsideCollaboratorAuditEntry | OrgRestoreMemberAuditEntry | OrgUnblockUserAuditEntry | OrgUpdateDefaultRepositoryPermissionAuditEntry | OrgUpdateMemberAuditEntry | OrgUpdateMemberRepositoryCreationPermissionAuditEntry | OrgUpdateMemberRepositoryInvitationPermissionAuditEntry | PrivateRepositoryForkingDisableAuditEntry | PrivateRepositoryForkingEnableAuditEntry | RepoAccessAuditEntry | RepoAddMemberAuditEntry | RepoAddTopicAuditEntry | RepoArchivedAuditEntry | RepoChangeMergeSettingAuditEntry | RepoConfigDisableAnonymousGitAccessAuditEntry | RepoConfigDisableCollaboratorsOnlyAuditEntry | RepoConfigDisableContributorsOnlyAuditEntry | RepoConfigDisableSockpuppetDisallowedAuditEntry | RepoConfigEnableAnonymousGitAccessAuditEntry | RepoConfigEnableCollaboratorsOnlyAuditEntry | RepoConfigEnableContributorsOnlyAuditEntry | RepoConfigEnableSockpuppetDisallowedAuditEntry | RepoConfigLockAnonymousGitAccessAuditEntry | RepoConfigUnlockAnonymousGitAccessAuditEntry | RepoCreateAuditEntry | RepoDestroyAuditEntry | RepoRemoveMemberAuditEntry | RepoRemoveTopicAuditEntry | RepositoryVisibilityChangeDisableAuditEntry | RepositoryVisibilityChangeEnableAuditEntry | TeamAddMemberAuditEntry | TeamAddRepositoryAuditEntry | TeamChangeParentTeamAuditEntry | TeamRemoveMemberAuditEntry | TeamRemoveRepositoryAuditEntry
+
+"""The connection type for OrganizationAuditEntry."""
+type OrganizationAuditEntryConnection {
+  """A list of edges."""
+  edges: [OrganizationAuditEntryEdge]
+
+  """A list of nodes."""
+  nodes: [OrganizationAuditEntry]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Metadata for an audit entry with action org.*"""
+interface OrganizationAuditEntryData {
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+}
+
+"""An edge in a connection."""
+type OrganizationAuditEntryEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: OrganizationAuditEntry
+}
+
+"""The connection type for Organization."""
+type OrganizationConnection {
+  """A list of edges."""
+  edges: [OrganizationEdge]
+
+  """A list of nodes."""
+  nodes: [Organization]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type OrganizationEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Organization
+}
+
+"""
+An Identity Provider configured to provision SAML and SCIM identities for Organizations
+"""
+type OrganizationIdentityProvider implements Node {
+  """
+  The digest algorithm used to sign SAML requests for the Identity Provider.
+  """
+  digestMethod: URI
+
+  """External Identities provisioned by this Identity Provider"""
+  externalIdentities(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ExternalIdentityConnection!
+  id: ID!
+
+  """
+  The x509 certificate used by the Identity Provder to sign assertions and responses.
+  """
+  idpCertificate: X509Certificate
+
+  """The Issuer Entity ID for the SAML Identity Provider"""
+  issuer: String
+
+  """Organization this Identity Provider belongs to"""
+  organization: Organization
+
+  """
+  The signature algorithm used to sign SAML requests for the Identity Provider.
+  """
+  signatureMethod: URI
+
+  """The URL endpoint for the Identity Provider's SAML SSO."""
+  ssoUrl: URI
+}
+
+"""An Invitation for a user to an organization."""
+type OrganizationInvitation implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The email address of the user invited to the organization."""
+  email: String
+  id: ID!
+
+  """The type of invitation that was sent (e.g. email, user)."""
+  invitationType: OrganizationInvitationType!
+
+  """The user who was invited to the organization."""
+  invitee: User
+
+  """The user who created the invitation."""
+  inviter: User!
+
+  """The organization the invite is for"""
+  organization: Organization!
+
+  """The user's pending role in the organization (e.g. member, owner)."""
+  role: OrganizationInvitationRole!
+}
+
+"""The connection type for OrganizationInvitation."""
+type OrganizationInvitationConnection {
+  """A list of edges."""
+  edges: [OrganizationInvitationEdge]
+
+  """A list of nodes."""
+  nodes: [OrganizationInvitation]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type OrganizationInvitationEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: OrganizationInvitation
+}
+
+"""The possible organization invitation roles."""
+enum OrganizationInvitationRole {
+  """The user is invited to be a direct member of the organization."""
+  DIRECT_MEMBER
+
+  """The user is invited to be an admin of the organization."""
+  ADMIN
+
+  """The user is invited to be a billing manager of the organization."""
+  BILLING_MANAGER
+
+  """The user's previous role will be reinstated."""
+  REINSTATE
+}
+
+"""The possible organization invitation types."""
+enum OrganizationInvitationType {
+  """The invitation was to an existing user."""
+  USER
+
+  """The invitation was to an email address."""
+  EMAIL
+}
+
+"""The connection type for User."""
+type OrganizationMemberConnection {
+  """A list of edges."""
+  edges: [OrganizationMemberEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents a user within an organization."""
+type OrganizationMemberEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """
+  Whether the organization member has two factor enabled or not. Returns null if information is not available to viewer.
+  """
+  hasTwoFactorEnabled: Boolean
+
+  """The item at the end of the edge."""
+  node: User
+
+  """The role this user has in the organization."""
+  role: OrganizationMemberRole
+}
+
+"""The possible roles within an organization for its members."""
+enum OrganizationMemberRole {
+  """The user is a member of the organization."""
+  MEMBER
+
+  """The user is an administrator of the organization."""
+  ADMIN
+}
+
+"""
+The possible values for the members can create repositories setting on an organization.
+"""
+enum OrganizationMembersCanCreateRepositoriesSettingValue {
+  """Members will be able to create public and private repositories."""
+  ALL
+
+  """Members will be able to create only private repositories."""
+  PRIVATE
+
+  """Members will not be able to create public or private repositories."""
+  DISABLED
+}
+
+"""Ordering options for organization connections."""
+input OrganizationOrder {
+  """The field to order organizations by."""
+  field: OrganizationOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which organization connections can be ordered."""
+enum OrganizationOrderField {
+  """Order organizations by creation time"""
+  CREATED_AT
+
+  """Order organizations by login"""
+  LOGIN
+}
+
+"""An organization list hovercard context"""
+type OrganizationsHovercardContext implements HovercardContext {
+  """A string describing this context"""
+  message: String!
+
+  """An octicon to accompany this context"""
+  octicon: String!
+
+  """Organizations this user is a member of that are relevant"""
+  relevantOrganizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): OrganizationConnection!
+
+  """The total number of organizations this user is in"""
+  totalOrganizationCount: Int!
+}
+
+"""An organization teams hovercard context"""
+type OrganizationTeamsHovercardContext implements HovercardContext {
+  """A string describing this context"""
+  message: String!
+
+  """An octicon to accompany this context"""
+  octicon: String!
+
+  """Teams in this organization the user is a member of that are relevant"""
+  relevantTeams(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): TeamConnection!
+
+  """The path for the full team list for this user"""
+  teamsResourcePath: URI!
+
+  """The URL for the full team list for this user"""
+  teamsUrl: URI!
+
+  """The total number of teams the user is on in the organization"""
+  totalTeamCount: Int!
+}
+
+"""Audit log entry for a org.block_user"""
+type OrgBlockUserAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The blocked user."""
+  blockedUser: User
+
+  """The username of the blocked user."""
+  blockedUserName: String
+
+  """The HTTP path for the blocked user."""
+  blockedUserResourcePath: URI
+
+  """The HTTP URL for the blocked user."""
+  blockedUserUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.config.disable_collaborators_only event."""
+type OrgConfigDisableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.config.enable_collaborators_only event."""
+type OrgConfigEnableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.create event."""
+type OrgCreateAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The billing plan for the Organization."""
+  billingPlan: OrgCreateAuditEntryBillingPlan
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The billing plans available for organizations."""
+enum OrgCreateAuditEntryBillingPlan {
+  """Free Plan"""
+  FREE
+
+  """Team Plan"""
+  BUSINESS
+
+  """Enterprise Cloud Plan"""
+  BUSINESS_PLUS
+
+  """Legacy Unlimited Plan"""
+  UNLIMITED
+
+  """Tiered Per Seat Plan"""
+  TIERED_PER_SEAT
+}
+
+"""Audit log entry for a org.disable_oauth_app_restrictions event."""
+type OrgDisableOauthAppRestrictionsAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.disable_saml event."""
+type OrgDisableSamlAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The SAML provider's digest algorithm URL."""
+  digestMethodUrl: URI
+  id: ID!
+
+  """The SAML provider's issuer URL."""
+  issuerUrl: URI
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The SAML provider's signature algorithm URL."""
+  signatureMethodUrl: URI
+
+  """The SAML provider's single sign-on URL."""
+  singleSignOnUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.disable_two_factor_requirement event."""
+type OrgDisableTwoFactorRequirementAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.enable_oauth_app_restrictions event."""
+type OrgEnableOauthAppRestrictionsAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.enable_saml event."""
+type OrgEnableSamlAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The SAML provider's digest algorithm URL."""
+  digestMethodUrl: URI
+  id: ID!
+
+  """The SAML provider's issuer URL."""
+  issuerUrl: URI
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The SAML provider's signature algorithm URL."""
+  signatureMethodUrl: URI
+
+  """The SAML provider's single sign-on URL."""
+  singleSignOnUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.enable_two_factor_requirement event."""
+type OrgEnableTwoFactorRequirementAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.invite_member event."""
+type OrgInviteMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The email address of the organization invitation."""
+  email: String
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The organization invitation."""
+  organizationInvitation: OrganizationInvitation
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.invite_to_business event."""
+type OrgInviteToBusinessAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The HTTP path for this enterprise."""
+  enterpriseResourcePath: URI
+
+  """The slug of the enterprise."""
+  enterpriseSlug: String
+
+  """The HTTP URL for this enterprise."""
+  enterpriseUrl: URI
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.oauth_app_access_approved event."""
+type OrgOauthAppAccessApprovedAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The name of the OAuth Application."""
+  oauthApplicationName: String
+
+  """The HTTP path for the OAuth Application"""
+  oauthApplicationResourcePath: URI
+
+  """The HTTP URL for the OAuth Application"""
+  oauthApplicationUrl: URI
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.oauth_app_access_denied event."""
+type OrgOauthAppAccessDeniedAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The name of the OAuth Application."""
+  oauthApplicationName: String
+
+  """The HTTP path for the OAuth Application"""
+  oauthApplicationResourcePath: URI
+
+  """The HTTP URL for the OAuth Application"""
+  oauthApplicationUrl: URI
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.oauth_app_access_requested event."""
+type OrgOauthAppAccessRequestedAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The name of the OAuth Application."""
+  oauthApplicationName: String
+
+  """The HTTP path for the OAuth Application"""
+  oauthApplicationResourcePath: URI
+
+  """The HTTP URL for the OAuth Application"""
+  oauthApplicationUrl: URI
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.remove_billing_manager event."""
+type OrgRemoveBillingManagerAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The reason for the billing manager being removed."""
+  reason: OrgRemoveBillingManagerAuditEntryReason
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The reason a billing manager was removed from an Organization."""
+enum OrgRemoveBillingManagerAuditEntryReason {
+  """
+  The organization required 2FA of its billing managers and this user did not have 2FA enabled.
+  """
+  TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE
+
+  """SAML external identity missing"""
+  SAML_EXTERNAL_IDENTITY_MISSING
+
+  """SAML SSO enforcement requires an external identity"""
+  SAML_SSO_ENFORCEMENT_REQUIRES_EXTERNAL_IDENTITY
+}
+
+"""Audit log entry for a org.remove_member event."""
+type OrgRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The types of membership the member has with the organization."""
+  membershipTypes: [OrgRemoveMemberAuditEntryMembershipType!]
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The reason for the member being removed."""
+  reason: OrgRemoveMemberAuditEntryReason
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The type of membership a user has with an Organization."""
+enum OrgRemoveMemberAuditEntryMembershipType {
+  """A direct member is a user that is a member of the Organization."""
+  DIRECT_MEMBER
+
+  """
+  Organization administrators have full access and can change several settings,
+  including the names of repositories that belong to the Organization and Owners
+  team membership. In addition, organization admins can delete the organization
+  and all of its repositories.
+  """
+  ADMIN
+
+  """
+  A billing manager is a user who manages the billing settings for the Organization, such as updating payment information.
+  """
+  BILLING_MANAGER
+
+  """
+  An unaffiliated collaborator is a person who is not a member of the
+  Organization and does not have access to any repositories in the Organization.
+  """
+  UNAFFILIATED
+
+  """
+  An outside collaborator is a person who isn't explicitly a member of the
+  Organization, but who has Read, Write, or Admin permissions to one or more
+  repositories in the organization.
+  """
+  OUTSIDE_COLLABORATOR
+}
+
+"""The reason a member was removed from an Organization."""
+enum OrgRemoveMemberAuditEntryReason {
+  """
+  The organization required 2FA of its billing managers and this user did not have 2FA enabled.
+  """
+  TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE
+
+  """SAML external identity missing"""
+  SAML_EXTERNAL_IDENTITY_MISSING
+
+  """SAML SSO enforcement requires an external identity"""
+  SAML_SSO_ENFORCEMENT_REQUIRES_EXTERNAL_IDENTITY
+}
+
+"""Audit log entry for a org.remove_outside_collaborator event."""
+type OrgRemoveOutsideCollaboratorAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """
+  The types of membership the outside collaborator has with the organization.
+  """
+  membershipTypes: [OrgRemoveOutsideCollaboratorAuditEntryMembershipType!]
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """
+  The reason for the outside collaborator being removed from the Organization.
+  """
+  reason: OrgRemoveOutsideCollaboratorAuditEntryReason
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The type of membership a user has with an Organization."""
+enum OrgRemoveOutsideCollaboratorAuditEntryMembershipType {
+  """
+  An outside collaborator is a person who isn't explicitly a member of the
+  Organization, but who has Read, Write, or Admin permissions to one or more
+  repositories in the organization.
+  """
+  OUTSIDE_COLLABORATOR
+
+  """
+  An unaffiliated collaborator is a person who is not a member of the
+  Organization and does not have access to any repositories in the organization.
+  """
+  UNAFFILIATED
+
+  """
+  A billing manager is a user who manages the billing settings for the Organization, such as updating payment information.
+  """
+  BILLING_MANAGER
+}
+
+"""The reason an outside collaborator was removed from an Organization."""
+enum OrgRemoveOutsideCollaboratorAuditEntryReason {
+  """
+  The organization required 2FA of its billing managers and this user did not have 2FA enabled.
+  """
+  TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE
+
+  """SAML external identity missing"""
+  SAML_EXTERNAL_IDENTITY_MISSING
+}
+
+"""Audit log entry for a org.restore_member event."""
+type OrgRestoreMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The number of custom email routings for the restored member."""
+  restoredCustomEmailRoutingsCount: Int
+
+  """The number of issue assignemnts for the restored member."""
+  restoredIssueAssignmentsCount: Int
+
+  """Restored organization membership objects."""
+  restoredMemberships: [OrgRestoreMemberAuditEntryMembership!]
+
+  """The number of restored memberships."""
+  restoredMembershipsCount: Int
+
+  """The number of repositories of the restored member."""
+  restoredRepositoriesCount: Int
+
+  """The number of starred repositories for the restored member."""
+  restoredRepositoryStarsCount: Int
+
+  """The number of watched repositories for the restored member."""
+  restoredRepositoryWatchesCount: Int
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Types of memberships that can be restored for an Organization member."""
+union OrgRestoreMemberAuditEntryMembership = OrgRestoreMemberMembershipOrganizationAuditEntryData | OrgRestoreMemberMembershipRepositoryAuditEntryData | OrgRestoreMemberMembershipTeamAuditEntryData
+
+"""Metadata for an organization membership for org.restore_member actions"""
+type OrgRestoreMemberMembershipOrganizationAuditEntryData implements OrganizationAuditEntryData {
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+}
+
+"""Metadata for a repository membership for org.restore_member actions"""
+type OrgRestoreMemberMembershipRepositoryAuditEntryData implements RepositoryAuditEntryData {
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+}
+
+"""Metadata for a team membership for org.restore_member actions"""
+type OrgRestoreMemberMembershipTeamAuditEntryData implements TeamAuditEntryData {
+  """The team associated with the action"""
+  team: Team
+
+  """The name of the team"""
+  teamName: String
+
+  """The HTTP path for this team"""
+  teamResourcePath: URI
+
+  """The HTTP URL for this team"""
+  teamUrl: URI
+}
+
+"""Audit log entry for a org.unblock_user"""
+type OrgUnblockUserAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The user being unblocked by the organization."""
+  blockedUser: User
+
+  """The username of the blocked user."""
+  blockedUserName: String
+
+  """The HTTP path for the blocked user."""
+  blockedUserResourcePath: URI
+
+  """The HTTP URL for the blocked user."""
+  blockedUserUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a org.update_default_repository_permission"""
+type OrgUpdateDefaultRepositoryPermissionAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The new default repository permission level for the organization."""
+  permission: OrgUpdateDefaultRepositoryPermissionAuditEntryPermission
+
+  """The former default repository permission level for the organization."""
+  permissionWas: OrgUpdateDefaultRepositoryPermissionAuditEntryPermission
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The default permission a repository can have in an Organization."""
+enum OrgUpdateDefaultRepositoryPermissionAuditEntryPermission {
+  """Can read and clone repositories."""
+  READ
+
+  """Can read, clone and push to repositories."""
+  WRITE
+
+  """Can read, clone, push, and add collaborators to repositories."""
+  ADMIN
+
+  """No default permission value."""
+  NONE
+}
+
+"""Audit log entry for a org.update_member event."""
+type OrgUpdateMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The new member permission level for the organization."""
+  permission: OrgUpdateMemberAuditEntryPermission
+
+  """The former member permission level for the organization."""
+  permissionWas: OrgUpdateMemberAuditEntryPermission
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The permissions available to members on an Organization."""
+enum OrgUpdateMemberAuditEntryPermission {
+  """Can read and clone repositories."""
+  READ
+
+  """Can read, clone, push, and add collaborators to repositories."""
+  ADMIN
+}
+
+"""
+Audit log entry for a org.update_member_repository_creation_permission event.
+"""
+type OrgUpdateMemberRepositoryCreationPermissionAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """Can members create repositories in the organization."""
+  canCreateRepositories: Boolean
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+
+  """
+  The permission for visibility level of repositories for this organization.
+  """
+  visibility: OrgUpdateMemberRepositoryCreationPermissionAuditEntryVisibility
+}
+
+"""The permissions available for repository creation on an Organization."""
+enum OrgUpdateMemberRepositoryCreationPermissionAuditEntryVisibility {
+  """
+  All organization members are restricted from creating any repositories.
+  """
+  ALL
+
+  """
+  All organization members are restricted from creating public repositories.
+  """
+  PUBLIC
+}
+
+"""
+Audit log entry for a org.update_member_repository_invitation_permission event.
+"""
+type OrgUpdateMemberRepositoryInvitationPermissionAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """
+  Can outside collaborators be invited to repositories in the organization.
+  """
+  canInviteOutsideCollaboratorsToRepositories: Boolean
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Information about pagination in a connection."""
+type PageInfo {
+  """When paginating forwards, the cursor to continue."""
+  endCursor: String
+
+  """When paginating forwards, are there more items?"""
+  hasNextPage: Boolean!
+
+  """When paginating backwards, are there more items?"""
+  hasPreviousPage: Boolean!
+
+  """When paginating backwards, the cursor to continue."""
+  startCursor: String
+}
+
+"""Types that can grant permissions on a repository to a user"""
+union PermissionGranter = Organization | Repository | Team
+
+"""A level of permission and source for a user's access to a repository."""
+type PermissionSource {
+  """The organization the repository belongs to."""
+  organization: Organization!
+
+  """The level of access this source has granted to the user."""
+  permission: DefaultRepositoryPermissionField!
+
+  """The source of this permission."""
+  source: PermissionGranter!
+}
+
+"""Autogenerated input type of PinIssue"""
+input PinIssueInput {
+  """The ID of the issue to be pinned"""
+  issueId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Types that can be pinned to a profile page."""
+union PinnableItem = Gist | Repository
+
+"""The connection type for PinnableItem."""
+type PinnableItemConnection {
+  """A list of edges."""
+  edges: [PinnableItemEdge]
+
+  """A list of nodes."""
+  nodes: [PinnableItem]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type PinnableItemEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PinnableItem
+}
+
+"""Represents items that can be pinned to a profile page or dashboard."""
+enum PinnableItemType {
+  """A repository."""
+  REPOSITORY
+
+  """A gist."""
+  GIST
+
+  """An issue."""
+  ISSUE
+
+  """A project."""
+  PROJECT
+
+  """A pull request."""
+  PULL_REQUEST
+
+  """A user."""
+  USER
+
+  """An organization."""
+  ORGANIZATION
+
+  """A team."""
+  TEAM
+}
+
+"""Represents a 'pinned' event on a given issue or pull request."""
+type PinnedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Identifies the issue associated with the event."""
+  issue: Issue!
+}
+
+"""An ISO-8601 encoded UTC date string with millisecond precison."""
+scalar PreciseDateTime
+
+"""Audit log entry for a private_repository_forking.disable event."""
+type PrivateRepositoryForkingDisableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The HTTP path for this enterprise."""
+  enterpriseResourcePath: URI
+
+  """The slug of the enterprise."""
+  enterpriseSlug: String
+
+  """The HTTP URL for this enterprise."""
+  enterpriseUrl: URI
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a private_repository_forking.enable event."""
+type PrivateRepositoryForkingEnableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The HTTP path for this enterprise."""
+  enterpriseResourcePath: URI
+
+  """The slug of the enterprise."""
+  enterpriseSlug: String
+
+  """The HTTP URL for this enterprise."""
+  enterpriseUrl: URI
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""
+A curatable list of repositories relating to a repository owner, which defaults
+to showing the most popular repositories they own.
+"""
+type ProfileItemShowcase {
+  """Whether or not the owner has pinned any repositories or gists."""
+  hasPinnedItems: Boolean!
+
+  """
+  The repositories and gists in the showcase. If the profile owner has any
+  pinned items, those will be returned. Otherwise, the profile owner's popular
+  repositories will be returned.
+  """
+  items(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PinnableItemConnection!
+}
+
+"""Represents any entity on GitHub that has a profile page."""
+interface ProfileOwner {
+  """
+  Determine if this repository owner has any items that can be pinned to their profile.
+  """
+  anyPinnableItems(
+    """Filter to only a particular kind of pinnable item."""
+    type: PinnableItemType
+  ): Boolean!
+
+  """The public profile email."""
+  email: String
+  id: ID!
+
+  """
+  Showcases a selection of repositories and gists that the profile owner has
+  either curated or that have been selected automatically based on popularity.
+  """
+  itemShowcase: ProfileItemShowcase!
+
+  """The public profile location."""
+  location: String
+
+  """The username used to login."""
+  login: String!
+
+  """The public profile name."""
+  name: String
+
+  """
+  A list of repositories and gists this profile owner can pin to their profile.
+  """
+  pinnableItems(
+    """Filter the types of pinnable items that are returned."""
+    types: [PinnableItemType!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PinnableItemConnection!
+
+  """
+  A list of repositories and gists this profile owner has pinned to their profile
+  """
+  pinnedItems(
+    """Filter the types of pinned items that are returned."""
+    types: [PinnableItemType!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PinnableItemConnection!
+
+  """
+  Returns how many more items this profile owner can pin to their profile.
+  """
+  pinnedItemsRemaining: Int!
+
+  """Can the viewer pin repositories and gists to the profile?"""
+  viewerCanChangePinnedItems: Boolean!
+
+  """The public profile website URL."""
+  websiteUrl: URI
+}
+
+"""
+Projects manage issues, pull requests and notes within a project owner.
+"""
+type Project implements Node & Closable & Updatable {
+  """The project's description body."""
+  body: String
+
+  """The projects description body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """
+  `true` if the object is closed (definition of closed may depend on type)
+  """
+  closed: Boolean!
+
+  """Identifies the date and time when the object was closed."""
+  closedAt: DateTime
+
+  """List of columns in the project"""
+  columns(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ProjectColumnConnection!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The actor who originally created the project."""
+  creator: Actor
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+
+  """The project's name."""
+  name: String!
+
+  """The project's number."""
+  number: Int!
+
+  """
+  The project's owner. Currently limited to repositories, organizations, and users.
+  """
+  owner: ProjectOwner!
+
+  """List of pending cards in this project"""
+  pendingCards(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """A list of archived states to filter the cards by"""
+    archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED]
+  ): ProjectCardConnection!
+
+  """The HTTP path for this project"""
+  resourcePath: URI!
+
+  """Whether the project is open or closed."""
+  state: ProjectState!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this project"""
+  url: URI!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+}
+
+"""A card in a project."""
+type ProjectCard implements Node {
+  """
+  The project column this card is associated under. A card may only belong to one
+  project column at a time. The column field will be null if the card is created
+  in a pending state and has yet to be associated with a column. Once cards are
+  associated with a column, they will not become pending in the future.
+  
+  """
+  column: ProjectColumn
+
+  """The card content item"""
+  content: ProjectCardItem
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The actor who created this card"""
+  creator: Actor
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+
+  """Whether the card is archived"""
+  isArchived: Boolean!
+
+  """The card note"""
+  note: String
+
+  """The project that contains this card."""
+  project: Project!
+
+  """The HTTP path for this card"""
+  resourcePath: URI!
+
+  """The state of ProjectCard"""
+  state: ProjectCardState
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this card"""
+  url: URI!
+}
+
+"""The possible archived states of a project card."""
+enum ProjectCardArchivedState {
+  """A project card that is archived"""
+  ARCHIVED
+
+  """A project card that is not archived"""
+  NOT_ARCHIVED
+}
+
+"""The connection type for ProjectCard."""
+type ProjectCardConnection {
+  """A list of edges."""
+  edges: [ProjectCardEdge]
+
+  """A list of nodes."""
+  nodes: [ProjectCard]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type ProjectCardEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: ProjectCard
+}
+
+"""An issue or PR and its owning repository to be used in a project card."""
+input ProjectCardImport {
+  """Repository name with owner (owner/repository)."""
+  repository: String!
+
+  """The issue or pull request number."""
+  number: Int!
+}
+
+"""Types that can be inside Project Cards."""
+union ProjectCardItem = Issue | PullRequest
+
+"""Various content states of a ProjectCard"""
+enum ProjectCardState {
+  """The card has content only."""
+  CONTENT_ONLY
+
+  """The card has a note only."""
+  NOTE_ONLY
+
+  """The card is redacted."""
+  REDACTED
+}
+
+"""A column inside a project."""
+type ProjectColumn implements Node {
+  """List of cards in the column"""
+  cards(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """A list of archived states to filter the cards by"""
+    archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED]
+  ): ProjectCardConnection!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+
+  """The project column's name."""
+  name: String!
+
+  """The project that contains this column."""
+  project: Project!
+
+  """The semantic purpose of the column"""
+  purpose: ProjectColumnPurpose
+
+  """The HTTP path for this project column"""
+  resourcePath: URI!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this project column"""
+  url: URI!
+}
+
+"""The connection type for ProjectColumn."""
+type ProjectColumnConnection {
+  """A list of edges."""
+  edges: [ProjectColumnEdge]
+
+  """A list of nodes."""
+  nodes: [ProjectColumn]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type ProjectColumnEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: ProjectColumn
+}
+
+"""A project column and a list of its issues and PRs."""
+input ProjectColumnImport {
+  """The name of the column."""
+  columnName: String!
+
+  """The position of the column, starting from 0."""
+  position: Int!
+
+  """A list of issues and pull requests in the column."""
+  issues: [ProjectCardImport!]
+}
+
+"""The semantic purpose of the column - todo, in progress, or done."""
+enum ProjectColumnPurpose {
+  """The column contains cards still to be worked on"""
+  TODO
+
+  """The column contains cards which are currently being worked on"""
+  IN_PROGRESS
+
+  """The column contains cards which are complete"""
+  DONE
+}
+
+"""A list of projects associated with the owner."""
+type ProjectConnection {
+  """A list of edges."""
+  edges: [ProjectEdge]
+
+  """A list of nodes."""
+  nodes: [Project]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type ProjectEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Project
+}
+
+"""Ways in which lists of projects can be ordered upon return."""
+input ProjectOrder {
+  """The field in which to order projects by."""
+  field: ProjectOrderField!
+
+  """The direction in which to order projects by the specified field."""
+  direction: OrderDirection!
+}
+
+"""Properties by which project connections can be ordered."""
+enum ProjectOrderField {
+  """Order projects by creation time"""
+  CREATED_AT
+
+  """Order projects by update time"""
+  UPDATED_AT
+
+  """Order projects by name"""
+  NAME
+}
+
+"""Represents an owner of a Project."""
+interface ProjectOwner {
+  id: ID!
+
+  """Find project by number."""
+  project(
+    """The project number to find."""
+    number: Int!
+  ): Project
+
+  """A list of projects under the owner."""
+  projects(
+    """Ordering options for projects returned from the connection"""
+    orderBy: ProjectOrder
+
+    """Query to search projects by, currently only searching by name."""
+    search: String
+
+    """A list of states to filter the projects by."""
+    states: [ProjectState!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ProjectConnection!
+
+  """The HTTP path listing owners projects"""
+  projectsResourcePath: URI!
+
+  """The HTTP URL listing owners projects"""
+  projectsUrl: URI!
+
+  """Can the current viewer create new projects on this owner."""
+  viewerCanCreateProjects: Boolean!
+}
+
+"""State of the project; either 'open' or 'closed'"""
+enum ProjectState {
+  """The project is open."""
+  OPEN
+
+  """The project is closed."""
+  CLOSED
+}
+
+"""GitHub-provided templates for Projects"""
+enum ProjectTemplate {
+  """Create a board with columns for To do, In progress and Done."""
+  BASIC_KANBAN
+
+  """
+  Create a board with v2 triggers to automatically move cards across To do, In progress and Done columns.
+  """
+  AUTOMATED_KANBAN_V2
+
+  """
+  Create a board with triggers to automatically move cards across columns with review automation.
+  """
+  AUTOMATED_REVIEWS_KANBAN
+
+  """
+  Create a board to triage and prioritize bugs with To do, priority, and Done columns.
+  """
+  BUG_TRIAGE
+}
+
+"""A user's public key."""
+type PublicKey implements Node {
+  """
+  The last time this authorization was used to perform an action. Values will be null for keys not owned by the user.
+  """
+  accessedAt: DateTime
+
+  """
+  Identifies the date and time when the key was created. Keys created before
+  March 5th, 2014 have inaccurate values. Values will be null for keys not owned by the user.
+  """
+  createdAt: DateTime
+
+  """The fingerprint for this PublicKey."""
+  fingerprint: String!
+  id: ID!
+
+  """
+  Whether this PublicKey is read-only or not. Values will be null for keys not owned by the user.
+  """
+  isReadOnly: Boolean
+
+  """The public key string."""
+  key: String!
+
+  """
+  Identifies the date and time when the key was updated. Keys created before
+  March 5th, 2014 may have inaccurate values. Values will be null for keys not
+  owned by the user.
+  """
+  updatedAt: DateTime
+}
+
+"""The connection type for PublicKey."""
+type PublicKeyConnection {
+  """A list of edges."""
+  edges: [PublicKeyEdge]
+
+  """A list of nodes."""
+  nodes: [PublicKey]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type PublicKeyEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PublicKey
+}
+
+"""A repository pull request."""
+type PullRequest implements Node & Assignable & Closable & Comment & Updatable & UpdatableComment & Labelable & Lockable & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable {
+  """Reason that the conversation was locked."""
+  activeLockReason: LockReason
+
+  """The number of additions in this pull request."""
+  additions: Int!
+
+  """A list of Users assigned to this object."""
+  assignees(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the subject of the comment."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """Identifies the base Ref associated with the pull request."""
+  baseRef: Ref
+
+  """
+  Identifies the name of the base Ref associated with the pull request, even if the ref has been deleted.
+  """
+  baseRefName: String!
+
+  """
+  Identifies the oid of the base ref associated with the pull request, even if the ref has been deleted.
+  """
+  baseRefOid: GitObjectID!
+
+  """The repository associated with this pull request's base Ref."""
+  baseRepository: Repository
+
+  """The body as Markdown."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """The body rendered to text."""
+  bodyText: String!
+
+  """The number of changed files in this pull request."""
+  changedFiles: Int!
+
+  """`true` if the pull request is closed"""
+  closed: Boolean!
+
+  """Identifies the date and time when the object was closed."""
+  closedAt: DateTime
+
+  """A list of comments associated with the pull request."""
+  comments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): IssueCommentConnection!
+
+  """
+  A list of commits present in this pull request's head branch not present in the base branch.
+  """
+  commits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestCommitConnection!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The number of deletions in this pull request."""
+  deletions: Int!
+
+  """The actor who edited this pull request's body."""
+  editor: Actor
+
+  """Lists the files changed within this pull request."""
+  files(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestChangedFileConnection
+
+  """Identifies the head Ref associated with the pull request."""
+  headRef: Ref
+
+  """
+  Identifies the name of the head Ref associated with the pull request, even if the ref has been deleted.
+  """
+  headRefName: String!
+
+  """
+  Identifies the oid of the head ref associated with the pull request, even if the ref has been deleted.
+  """
+  headRefOid: GitObjectID!
+
+  """The repository associated with this pull request's head Ref."""
+  headRepository: Repository
+
+  """
+  The owner of the repository associated with this pull request's head Ref.
+  """
+  headRepositoryOwner: RepositoryOwner
+
+  """The hovercard information for this issue"""
+  hovercard(
+    """Whether or not to include notification contexts"""
+    includeNotificationContexts: Boolean = true
+  ): Hovercard!
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """The head and base repositories are different."""
+  isCrossRepository: Boolean!
+
+  """A list of labels associated with the object."""
+  labels(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): LabelConnection
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """`true` if the pull request is locked"""
+  locked: Boolean!
+
+  """Indicates whether maintainers can modify the pull request."""
+  maintainerCanModify: Boolean!
+
+  """The commit that was created when this pull request was merged."""
+  mergeCommit: Commit
+
+  """
+  Whether or not the pull request can be merged based on the existence of merge conflicts.
+  """
+  mergeable: MergeableState!
+
+  """Whether or not the pull request was merged."""
+  merged: Boolean!
+
+  """The date and time that the pull request was merged."""
+  mergedAt: DateTime
+
+  """The actor who merged the pull request."""
+  mergedBy: Actor
+
+  """Identifies the milestone associated with the pull request."""
+  milestone: Milestone
+
+  """Identifies the pull request number."""
+  number: Int!
+
+  """
+  A list of Users that are participating in the Pull Request conversation.
+  """
+  participants(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+
+  """The permalink to the pull request."""
+  permalink: URI!
+
+  """
+  The commit that GitHub automatically generated to test if this pull request
+  could be merged. This field will not return a value if the pull request is
+  merged, or if the test merge commit is still being generated. See the
+  `mergeable` field for more details on the mergeability of the pull request.
+  """
+  potentialMergeCommit: Commit
+
+  """List of project cards associated with this pull request."""
+  projectCards(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """A list of archived states to filter the cards by"""
+    archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED]
+  ): ProjectCardConnection!
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """A list of reactions grouped by content left on the subject."""
+  reactionGroups: [ReactionGroup!]
+
+  """A list of Reactions left on the Issue."""
+  reactions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Allows filtering Reactions by emoji."""
+    content: ReactionContent
+
+    """Allows specifying the order in which reactions are returned."""
+    orderBy: ReactionOrder
+  ): ReactionConnection!
+
+  """The repository associated with this node."""
+  repository: Repository!
+
+  """The HTTP path for this pull request."""
+  resourcePath: URI!
+
+  """The HTTP path for reverting this pull request."""
+  revertResourcePath: URI!
+
+  """The HTTP URL for reverting this pull request."""
+  revertUrl: URI!
+
+  """A list of review requests associated with the pull request."""
+  reviewRequests(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ReviewRequestConnection
+
+  """The list of all review threads for this pull request."""
+  reviewThreads(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestReviewThreadConnection!
+
+  """A list of reviews associated with the pull request."""
+  reviews(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """A list of states to filter the reviews."""
+    states: [PullRequestReviewState!]
+
+    """Filter by author of the review."""
+    author: String
+  ): PullRequestReviewConnection
+
+  """Identifies the state of the pull request."""
+  state: PullRequestState!
+
+  """
+  A list of reviewer suggestions based on commit history and past review comments.
+  """
+  suggestedReviewers: [SuggestedReviewer]!
+
+  """
+  A list of events, comments, commits, etc. associated with the pull request.
+  """
+  timeline(
+    """Allows filtering timeline events by a `since` timestamp."""
+    since: DateTime
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestTimelineConnection! @deprecated(reason: "`timeline` will be removed Use PullRequest.timelineItems instead. Removal on 2019-10-01 UTC.")
+
+  """
+  A list of events, comments, commits, etc. associated with the pull request.
+  """
+  timelineItems(
+    """Filter timeline items by a `since` timestamp."""
+    since: DateTime
+
+    """Skips the first _n_ elements in the list."""
+    skip: Int
+
+    """Filter timeline items by type."""
+    itemTypes: [PullRequestTimelineItemsItemType!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestTimelineItemsConnection!
+
+  """Identifies the pull request title."""
+  title: String!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this pull request."""
+  url: URI!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Whether or not the viewer can apply suggestion."""
+  viewerCanApplySuggestion: Boolean!
+
+  """Can user react to this subject"""
+  viewerCanReact: Boolean!
+
+  """
+  Check if the viewer is able to change their subscription status for the repository.
+  """
+  viewerCanSubscribe: Boolean!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+
+  """
+  Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
+  """
+  viewerSubscription: SubscriptionState
+}
+
+"""A file changed in a pull request."""
+type PullRequestChangedFile {
+  """The number of additions to the file."""
+  additions: Int!
+
+  """The number of deletions to the file."""
+  deletions: Int!
+
+  """The path of the file."""
+  path: String!
+}
+
+"""The connection type for PullRequestChangedFile."""
+type PullRequestChangedFileConnection {
+  """A list of edges."""
+  edges: [PullRequestChangedFileEdge]
+
+  """A list of nodes."""
+  nodes: [PullRequestChangedFile]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type PullRequestChangedFileEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PullRequestChangedFile
+}
+
+"""Represents a Git commit part of a pull request."""
+type PullRequestCommit implements Node & UniformResourceLocatable {
+  """The Git commit object"""
+  commit: Commit!
+  id: ID!
+
+  """The pull request this commit belongs to"""
+  pullRequest: PullRequest!
+
+  """The HTTP path for this pull request commit"""
+  resourcePath: URI!
+
+  """The HTTP URL for this pull request commit"""
+  url: URI!
+}
+
+"""Represents a commit comment thread part of a pull request."""
+type PullRequestCommitCommentThread implements Node & RepositoryNode {
+  """The comments that exist in this thread."""
+  comments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): CommitCommentConnection!
+
+  """The commit the comments were made on."""
+  commit: Commit!
+  id: ID!
+
+  """The file the comments were made on."""
+  path: String
+
+  """The position in the diff for the commit that the comment was made on."""
+  position: Int
+
+  """The pull request this commit comment thread belongs to"""
+  pullRequest: PullRequest!
+
+  """The repository associated with this node."""
+  repository: Repository!
+}
+
+"""The connection type for PullRequestCommit."""
+type PullRequestCommitConnection {
+  """A list of edges."""
+  edges: [PullRequestCommitEdge]
+
+  """A list of nodes."""
+  nodes: [PullRequestCommit]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type PullRequestCommitEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PullRequestCommit
+}
+
+"""The connection type for PullRequest."""
+type PullRequestConnection {
+  """A list of edges."""
+  edges: [PullRequestEdge]
+
+  """A list of nodes."""
+  nodes: [PullRequest]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""This aggregates pull requests opened by a user within one repository."""
+type PullRequestContributionsByRepository {
+  """The pull request contributions."""
+  contributions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for contributions returned from the connection."""
+    orderBy: ContributionOrder = {field: OCCURRED_AT, direction: DESC}
+  ): CreatedPullRequestContributionConnection!
+
+  """The repository in which the pull requests were opened."""
+  repository: Repository!
+}
+
+"""An edge in a connection."""
+type PullRequestEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PullRequest
+}
+
+"""
+Represents available types of methods to use when merging a pull request.
+"""
+enum PullRequestMergeMethod {
+  """
+  Add all commits from the head branch to the base branch with a merge commit.
+  """
+  MERGE
+
+  """
+  Combine all commits from the head branch into a single commit in the base branch.
+  """
+  SQUASH
+
+  """
+  Add all commits from the head branch onto the base branch individually.
+  """
+  REBASE
+}
+
+"""Ways in which lists of issues can be ordered upon return."""
+input PullRequestOrder {
+  """The field in which to order pull requests by."""
+  field: PullRequestOrderField!
+
+  """The direction in which to order pull requests by the specified field."""
+  direction: OrderDirection!
+}
+
+"""Properties by which pull_requests connections can be ordered."""
+enum PullRequestOrderField {
+  """Order pull_requests by creation time"""
+  CREATED_AT
+
+  """Order pull_requests by update time"""
+  UPDATED_AT
+}
+
+"""The possible PubSub channels for a pull request."""
+enum PullRequestPubSubTopic {
+  """The channel ID for observing pull request updates."""
+  UPDATED
+
+  """The channel ID for marking an pull request as read."""
+  MARKASREAD
+
+  """The channel ID for observing head ref updates."""
+  HEAD_REF
+
+  """The channel ID for updating items on the pull request timeline."""
+  TIMELINE
+
+  """The channel ID for observing pull request state updates."""
+  STATE
+}
+
+"""A review object for a given pull request."""
+type PullRequestReview implements Node & Comment & Deletable & Updatable & UpdatableComment & Reactable & RepositoryNode {
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the subject of the comment."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """Identifies the pull request review body."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """The body of this review rendered as plain text."""
+  bodyText: String!
+
+  """A list of review comments for the current pull request review."""
+  comments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestReviewCommentConnection!
+
+  """Identifies the commit associated with this pull request review."""
+  commit: Commit
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The actor who edited the comment."""
+  editor: Actor
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """A list of teams that this review was made on behalf of."""
+  onBehalfOf(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): TeamConnection!
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """Identifies the pull request associated with this pull request review."""
+  pullRequest: PullRequest!
+
+  """A list of reactions grouped by content left on the subject."""
+  reactionGroups: [ReactionGroup!]
+
+  """A list of Reactions left on the Issue."""
+  reactions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Allows filtering Reactions by emoji."""
+    content: ReactionContent
+
+    """Allows specifying the order in which reactions are returned."""
+    orderBy: ReactionOrder
+  ): ReactionConnection!
+
+  """The repository associated with this node."""
+  repository: Repository!
+
+  """The HTTP path permalink for this PullRequestReview."""
+  resourcePath: URI!
+
+  """Identifies the current state of the pull request review."""
+  state: PullRequestReviewState!
+
+  """Identifies when the Pull Request Review was submitted"""
+  submittedAt: DateTime
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL permalink for this PullRequestReview."""
+  url: URI!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Check if the current viewer can delete this object."""
+  viewerCanDelete: Boolean!
+
+  """Can user react to this subject"""
+  viewerCanReact: Boolean!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+}
+
+"""A review comment associated with a given repository pull request."""
+type PullRequestReviewComment implements Node & Comment & Deletable & Updatable & UpdatableComment & Reactable & RepositoryNode {
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the subject of the comment."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """The comment body of this review comment."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """The comment body of this review comment rendered as plain text."""
+  bodyText: String!
+
+  """Identifies the commit associated with the comment."""
+  commit: Commit
+
+  """Identifies when the comment was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The diff hunk to which the comment applies."""
+  diffHunk: String!
+
+  """Identifies when the comment was created in a draft state."""
+  draftedAt: DateTime!
+
+  """The actor who edited the comment."""
+  editor: Actor
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """Returns whether or not a comment has been minimized."""
+  isMinimized: Boolean!
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """Returns why the comment was minimized."""
+  minimizedReason: String
+
+  """Identifies the original commit associated with the comment."""
+  originalCommit: Commit
+
+  """The original line index in the diff to which the comment applies."""
+  originalPosition: Int!
+
+  """Identifies when the comment body is outdated"""
+  outdated: Boolean!
+
+  """The path to which the comment applies."""
+  path: String!
+
+  """The line index in the diff to which the comment applies."""
+  position: Int
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """The pull request associated with this review comment."""
+  pullRequest: PullRequest!
+
+  """The pull request review associated with this review comment."""
+  pullRequestReview: PullRequestReview
+
+  """A list of reactions grouped by content left on the subject."""
+  reactionGroups: [ReactionGroup!]
+
+  """A list of Reactions left on the Issue."""
+  reactions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Allows filtering Reactions by emoji."""
+    content: ReactionContent
+
+    """Allows specifying the order in which reactions are returned."""
+    orderBy: ReactionOrder
+  ): ReactionConnection!
+
+  """The comment this is a reply to."""
+  replyTo: PullRequestReviewComment
+
+  """The repository associated with this node."""
+  repository: Repository!
+
+  """The HTTP path permalink for this review comment."""
+  resourcePath: URI!
+
+  """Identifies the state of the comment."""
+  state: PullRequestReviewCommentState!
+
+  """Identifies when the comment was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL permalink for this review comment."""
+  url: URI!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Check if the current viewer can delete this object."""
+  viewerCanDelete: Boolean!
+
+  """Check if the current viewer can minimize this object."""
+  viewerCanMinimize: Boolean!
+
+  """Can user react to this subject"""
+  viewerCanReact: Boolean!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+}
+
+"""The connection type for PullRequestReviewComment."""
+type PullRequestReviewCommentConnection {
+  """A list of edges."""
+  edges: [PullRequestReviewCommentEdge]
+
+  """A list of nodes."""
+  nodes: [PullRequestReviewComment]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type PullRequestReviewCommentEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PullRequestReviewComment
+}
+
+"""The possible states of a pull request review comment."""
+enum PullRequestReviewCommentState {
+  """A comment that is part of a pending review"""
+  PENDING
+
+  """A comment that is part of a submitted review"""
+  SUBMITTED
+}
+
+"""The connection type for PullRequestReview."""
+type PullRequestReviewConnection {
+  """A list of edges."""
+  edges: [PullRequestReviewEdge]
+
+  """A list of nodes."""
+  nodes: [PullRequestReview]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""
+This aggregates pull request reviews made by a user within one repository.
+"""
+type PullRequestReviewContributionsByRepository {
+  """The pull request review contributions."""
+  contributions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for contributions returned from the connection."""
+    orderBy: ContributionOrder = {field: OCCURRED_AT, direction: DESC}
+  ): CreatedPullRequestReviewContributionConnection!
+
+  """The repository in which the pull request reviews were made."""
+  repository: Repository!
+}
+
+"""An edge in a connection."""
+type PullRequestReviewEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PullRequestReview
+}
+
+"""The possible events to perform on a pull request review."""
+enum PullRequestReviewEvent {
+  """Submit general feedback without explicit approval."""
+  COMMENT
+
+  """Submit feedback and approve merging these changes."""
+  APPROVE
+
+  """Submit feedback that must be addressed before merging."""
+  REQUEST_CHANGES
+
+  """Dismiss review so it now longer effects merging."""
+  DISMISS
+}
+
+"""The possible states of a pull request review."""
+enum PullRequestReviewState {
+  """A review that has not yet been submitted."""
+  PENDING
+
+  """An informational review."""
+  COMMENTED
+
+  """A review allowing the pull request to merge."""
+  APPROVED
+
+  """A review blocking the pull request from merging."""
+  CHANGES_REQUESTED
+
+  """A review that has been dismissed."""
+  DISMISSED
+}
+
+"""A threaded list of comments for a given pull request."""
+type PullRequestReviewThread implements Node {
+  """A list of pull request comments associated with the thread."""
+  comments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Skips the first _n_ elements in the list."""
+    skip: Int
+  ): PullRequestReviewCommentConnection!
+  id: ID!
+
+  """Whether this thread has been resolved"""
+  isResolved: Boolean!
+
+  """Identifies the pull request associated with this thread."""
+  pullRequest: PullRequest!
+
+  """Identifies the repository associated with this thread."""
+  repository: Repository!
+
+  """The user who resolved this thread"""
+  resolvedBy: User
+
+  """Whether or not the viewer can resolve this thread"""
+  viewerCanResolve: Boolean!
+
+  """Whether or not the viewer can unresolve this thread"""
+  viewerCanUnresolve: Boolean!
+}
+
+"""Review comment threads for a pull request review."""
+type PullRequestReviewThreadConnection {
+  """A list of edges."""
+  edges: [PullRequestReviewThreadEdge]
+
+  """A list of nodes."""
+  nodes: [PullRequestReviewThread]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type PullRequestReviewThreadEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PullRequestReviewThread
+}
+
+"""
+Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits.
+"""
+type PullRequestRevisionMarker {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The last commit the viewer has seen."""
+  lastSeenCommit: Commit!
+
+  """The pull request to which the marker belongs."""
+  pullRequest: PullRequest!
+}
+
+"""The possible states of a pull request."""
+enum PullRequestState {
+  """A pull request that is still open."""
+  OPEN
+
+  """A pull request that has been closed without being merged."""
+  CLOSED
+
+  """A pull request that has been closed by being merged."""
+  MERGED
+}
+
+"""The connection type for PullRequestTimelineItem."""
+type PullRequestTimelineConnection {
+  """A list of edges."""
+  edges: [PullRequestTimelineItemEdge]
+
+  """A list of nodes."""
+  nodes: [PullRequestTimelineItem]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An item in an pull request timeline"""
+union PullRequestTimelineItem = Commit | CommitCommentThread | PullRequestReview | PullRequestReviewThread | PullRequestReviewComment | IssueComment | ClosedEvent | ReopenedEvent | SubscribedEvent | UnsubscribedEvent | MergedEvent | ReferencedEvent | CrossReferencedEvent | AssignedEvent | UnassignedEvent | LabeledEvent | UnlabeledEvent | MilestonedEvent | DemilestonedEvent | RenamedTitleEvent | LockedEvent | UnlockedEvent | DeployedEvent | DeploymentEnvironmentChangedEvent | HeadRefDeletedEvent | HeadRefRestoredEvent | HeadRefForcePushedEvent | BaseRefForcePushedEvent | ReviewRequestedEvent | ReviewRequestRemovedEvent | ReviewDismissedEvent | UserBlockedEvent
+
+"""An edge in a connection."""
+type PullRequestTimelineItemEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PullRequestTimelineItem
+}
+
+"""An item in a pull request timeline"""
+union PullRequestTimelineItems = PullRequestCommit | PullRequestCommitCommentThread | PullRequestReview | PullRequestReviewThread | PullRequestRevisionMarker | BaseRefChangedEvent | BaseRefForcePushedEvent | DeployedEvent | DeploymentEnvironmentChangedEvent | HeadRefDeletedEvent | HeadRefForcePushedEvent | HeadRefRestoredEvent | MergedEvent | ReviewDismissedEvent | ReviewRequestedEvent | ReviewRequestRemovedEvent | ReadyForReviewEvent | IssueComment | CrossReferencedEvent | AddedToProjectEvent | AssignedEvent | ClosedEvent | CommentDeletedEvent | ConvertedNoteToIssueEvent | DemilestonedEvent | LabeledEvent | LockedEvent | MarkedAsDuplicateEvent | MentionedEvent | MilestonedEvent | MovedColumnsInProjectEvent | PinnedEvent | ReferencedEvent | RemovedFromProjectEvent | RenamedTitleEvent | ReopenedEvent | SubscribedEvent | TransferredEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UserBlockedEvent | UnpinnedEvent | UnsubscribedEvent
+
+"""The connection type for PullRequestTimelineItems."""
+type PullRequestTimelineItemsConnection {
+  """A list of edges."""
+  edges: [PullRequestTimelineItemsEdge]
+
+  """
+  Identifies the count of items after applying `before` and `after` filters.
+  """
+  filteredCount: Int!
+
+  """A list of nodes."""
+  nodes: [PullRequestTimelineItems]
+
+  """
+  Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing.
+  """
+  pageCount: Int!
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+
+  """Identifies the date and time when the timeline was last updated."""
+  updatedAt: DateTime!
+}
+
+"""An edge in a connection."""
+type PullRequestTimelineItemsEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PullRequestTimelineItems
+}
+
+"""The possible item types found in a timeline."""
+enum PullRequestTimelineItemsItemType {
+  """Represents a Git commit part of a pull request."""
+  PULL_REQUEST_COMMIT
+
+  """Represents a commit comment thread part of a pull request."""
+  PULL_REQUEST_COMMIT_COMMENT_THREAD
+
+  """A review object for a given pull request."""
+  PULL_REQUEST_REVIEW
+
+  """A threaded list of comments for a given pull request."""
+  PULL_REQUEST_REVIEW_THREAD
+
+  """
+  Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits.
+  """
+  PULL_REQUEST_REVISION_MARKER
+
+  """
+  Represents a 'base_ref_changed' event on a given issue or pull request.
+  """
+  BASE_REF_CHANGED_EVENT
+
+  """Represents a 'base_ref_force_pushed' event on a given pull request."""
+  BASE_REF_FORCE_PUSHED_EVENT
+
+  """Represents a 'deployed' event on a given pull request."""
+  DEPLOYED_EVENT
+
+  """
+  Represents a 'deployment_environment_changed' event on a given pull request.
+  """
+  DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT
+
+  """Represents a 'head_ref_deleted' event on a given pull request."""
+  HEAD_REF_DELETED_EVENT
+
+  """Represents a 'head_ref_force_pushed' event on a given pull request."""
+  HEAD_REF_FORCE_PUSHED_EVENT
+
+  """Represents a 'head_ref_restored' event on a given pull request."""
+  HEAD_REF_RESTORED_EVENT
+
+  """Represents a 'merged' event on a given pull request."""
+  MERGED_EVENT
+
+  """
+  Represents a 'review_dismissed' event on a given issue or pull request.
+  """
+  REVIEW_DISMISSED_EVENT
+
+  """Represents an 'review_requested' event on a given pull request."""
+  REVIEW_REQUESTED_EVENT
+
+  """Represents an 'review_request_removed' event on a given pull request."""
+  REVIEW_REQUEST_REMOVED_EVENT
+
+  """Represents a 'ready_for_review' event on a given pull request."""
+  READY_FOR_REVIEW_EVENT
+
+  """Represents a comment on an Issue."""
+  ISSUE_COMMENT
+
+  """Represents a mention made by one issue or pull request to another."""
+  CROSS_REFERENCED_EVENT
+
+  """
+  Represents a 'added_to_project' event on a given issue or pull request.
+  """
+  ADDED_TO_PROJECT_EVENT
+
+  """Represents an 'assigned' event on any assignable object."""
+  ASSIGNED_EVENT
+
+  """Represents a 'closed' event on any `Closable`."""
+  CLOSED_EVENT
+
+  """Represents a 'comment_deleted' event on a given issue or pull request."""
+  COMMENT_DELETED_EVENT
+
+  """
+  Represents a 'converted_note_to_issue' event on a given issue or pull request.
+  """
+  CONVERTED_NOTE_TO_ISSUE_EVENT
+
+  """Represents a 'demilestoned' event on a given issue or pull request."""
+  DEMILESTONED_EVENT
+
+  """Represents a 'labeled' event on a given issue or pull request."""
+  LABELED_EVENT
+
+  """Represents a 'locked' event on a given issue or pull request."""
+  LOCKED_EVENT
+
+  """
+  Represents a 'marked_as_duplicate' event on a given issue or pull request.
+  """
+  MARKED_AS_DUPLICATE_EVENT
+
+  """Represents a 'mentioned' event on a given issue or pull request."""
+  MENTIONED_EVENT
+
+  """Represents a 'milestoned' event on a given issue or pull request."""
+  MILESTONED_EVENT
+
+  """
+  Represents a 'moved_columns_in_project' event on a given issue or pull request.
+  """
+  MOVED_COLUMNS_IN_PROJECT_EVENT
+
+  """Represents a 'pinned' event on a given issue or pull request."""
+  PINNED_EVENT
+
+  """Represents a 'referenced' event on a given `ReferencedSubject`."""
+  REFERENCED_EVENT
+
+  """
+  Represents a 'removed_from_project' event on a given issue or pull request.
+  """
+  REMOVED_FROM_PROJECT_EVENT
+
+  """Represents a 'renamed' event on a given issue or pull request"""
+  RENAMED_TITLE_EVENT
+
+  """Represents a 'reopened' event on any `Closable`."""
+  REOPENED_EVENT
+
+  """Represents a 'subscribed' event on a given `Subscribable`."""
+  SUBSCRIBED_EVENT
+
+  """Represents a 'transferred' event on a given issue or pull request."""
+  TRANSFERRED_EVENT
+
+  """Represents an 'unassigned' event on any assignable object."""
+  UNASSIGNED_EVENT
+
+  """Represents an 'unlabeled' event on a given issue or pull request."""
+  UNLABELED_EVENT
+
+  """Represents an 'unlocked' event on a given issue or pull request."""
+  UNLOCKED_EVENT
+
+  """Represents a 'user_blocked' event on a given user."""
+  USER_BLOCKED_EVENT
+
+  """Represents an 'unpinned' event on a given issue or pull request."""
+  UNPINNED_EVENT
+
+  """Represents an 'unsubscribed' event on a given `Subscribable`."""
+  UNSUBSCRIBED_EVENT
+}
+
+"""The possible target states when updating a pull request."""
+enum PullRequestUpdateState {
+  """A pull request that is still open."""
+  OPEN
+
+  """A pull request that has been closed without being merged."""
+  CLOSED
+}
+
+"""A team, user or app who has the ability to push to a protected branch."""
+type PushAllowance implements Node {
+  """The actor that can push."""
+  actor: PushAllowanceActor
+
+  """
+  Identifies the branch protection rule associated with the allowed user or team.
+  """
+  branchProtectionRule: BranchProtectionRule
+  id: ID!
+}
+
+"""Types that can be an actor."""
+union PushAllowanceActor = User | Team | App
+
+"""The connection type for PushAllowance."""
+type PushAllowanceConnection {
+  """A list of edges."""
+  edges: [PushAllowanceEdge]
+
+  """A list of nodes."""
+  nodes: [PushAllowance]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type PushAllowanceEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: PushAllowance
+}
+
+"""The query root of GitHub's GraphQL interface."""
+type Query {
+  """Look up a code of conduct by its key"""
+  codeOfConduct(
+    """The code of conduct's key"""
+    key: String!
+  ): CodeOfConduct
+
+  """Look up a code of conduct by its key"""
+  codesOfConduct: [CodeOfConduct]
+
+  """Look up an enterprise by URL slug."""
+  enterprise(
+    """The enterprise URL slug."""
+    slug: String!
+
+    """The enterprise invitation token."""
+    invitationToken: String
+  ): Enterprise
+
+  """
+  Look up a pending enterprise administrator invitation by invitee, enterprise and role.
+  """
+  enterpriseAdministratorInvitation(
+    """The login of the user invited to join the business."""
+    userLogin: String!
+
+    """The slug of the enterprise the user was invited to join."""
+    enterpriseSlug: String!
+
+    """The role for the business member invitation."""
+    role: EnterpriseAdministratorRole!
+  ): EnterpriseAdministratorInvitation
+
+  """
+  Look up a pending enterprise administrator invitation by invitation token.
+  """
+  enterpriseAdministratorInvitationByToken(
+    """The invitation token sent with the invitation email."""
+    invitationToken: String!
+  ): EnterpriseAdministratorInvitation
+
+  """Look up an open source license by its key"""
+  license(
+    """The license's downcased SPDX ID"""
+    key: String!
+  ): License
+
+  """Return a list of known open source licenses"""
+  licenses: [License]!
+
+  """Get alphabetically sorted list of Marketplace categories"""
+  marketplaceCategories(
+    """Return only the specified categories."""
+    includeCategories: [String!]
+
+    """Exclude categories with no listings."""
+    excludeEmpty: Boolean
+
+    """Returns top level categories only, excluding any subcategories."""
+    excludeSubcategories: Boolean
+  ): [MarketplaceCategory!]!
+
+  """Look up a Marketplace category by its slug."""
+  marketplaceCategory(
+    """The URL slug of the category."""
+    slug: String!
+
+    """Also check topic aliases for the category slug"""
+    useTopicAliases: Boolean
+  ): MarketplaceCategory
+
+  """Look up a single Marketplace listing"""
+  marketplaceListing(
+    """
+    Select the listing that matches this slug. It's the short name of the listing used in its URL.
+    """
+    slug: String!
+  ): MarketplaceListing
+
+  """Look up Marketplace listings"""
+  marketplaceListings(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Select only listings with the given category."""
+    categorySlug: String
+
+    """Also check topic aliases for the category slug"""
+    useTopicAliases: Boolean
+
+    """
+    Select listings to which user has admin access. If omitted, listings visible to the
+    viewer are returned.
+    
+    """
+    viewerCanAdmin: Boolean
+
+    """Select listings that can be administered by the specified user."""
+    adminId: ID
+
+    """Select listings for products owned by the specified organization."""
+    organizationId: ID
+
+    """
+    Select listings visible to the viewer even if they are not approved. If omitted or
+    false, only approved listings will be returned.
+    
+    """
+    allStates: Boolean
+
+    """
+    Select the listings with these slugs, if they are visible to the viewer.
+    """
+    slugs: [String]
+
+    """
+    Select only listings where the primary category matches the given category slug.
+    """
+    primaryCategoryOnly: Boolean = false
+
+    """Select only listings that offer a free trial."""
+    withFreeTrialsOnly: Boolean = false
+  ): MarketplaceListingConnection!
+
+  """Return information about the GitHub instance"""
+  meta: GitHubMetadata!
+
+  """Fetches an object given its ID."""
+  node(
+    """ID of the object."""
+    id: ID!
+  ): Node
+
+  """Lookup nodes by a list of IDs."""
+  nodes(
+    """The list of node IDs."""
+    ids: [ID!]!
+  ): [Node]!
+
+  """Lookup a organization by login."""
+  organization(
+    """The organization's login."""
+    login: String!
+  ): Organization
+
+  """The client's rate limit information."""
+  rateLimit(
+    """If true, calculate the cost for the query without evaluating it"""
+    dryRun: Boolean = false
+  ): RateLimit
+
+  """
+  Hack to workaround https://github.com/facebook/relay/issues/112 re-exposing the root query object
+  """
+  relay: Query!
+
+  """Lookup a given repository by the owner and repository name."""
+  repository(
+    """The login field of a user or organization"""
+    owner: String!
+
+    """The name of the repository"""
+    name: String!
+  ): Repository
+
+  """
+  Lookup a repository owner (ie. either a User or an Organization) by login.
+  """
+  repositoryOwner(
+    """The username to lookup the owner by."""
+    login: String!
+  ): RepositoryOwner
+
+  """Lookup resource by a URL."""
+  resource(
+    """The URL."""
+    url: URI!
+  ): UniformResourceLocatable
+
+  """Perform a search across resources."""
+  search(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The search string to look for."""
+    query: String!
+
+    """The types of search items to search within."""
+    type: SearchType!
+  ): SearchResultItemConnection!
+
+  """GitHub Security Advisories"""
+  securityAdvisories(
+    """Ordering options for the returned topics."""
+    orderBy: SecurityAdvisoryOrder = {field: UPDATED_AT, direction: DESC}
+
+    """Filter advisories by identifier, e.g. GHSA or CVE."""
+    identifier: SecurityAdvisoryIdentifierFilter
+
+    """Filter advisories to those published since a time in the past."""
+    publishedSince: DateTime
+
+    """Filter advisories to those updated since a time in the past."""
+    updatedSince: DateTime
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): SecurityAdvisoryConnection!
+
+  """Fetch a Security Advisory by its GHSA ID"""
+  securityAdvisory(
+    """GitHub Security Advisory ID."""
+    ghsaId: String!
+  ): SecurityAdvisory
+
+  """Software Vulnerabilities documented by GitHub Security Advisories"""
+  securityVulnerabilities(
+    """Ordering options for the returned topics."""
+    orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC}
+
+    """An ecosystem to filter vulnerabilities by."""
+    ecosystem: SecurityAdvisoryEcosystem
+
+    """A package name to filter vulnerabilities by."""
+    package: String
+
+    """A list of severities to filter vulnerabilities by."""
+    severities: [SecurityAdvisorySeverity!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): SecurityVulnerabilityConnection!
+
+  """Look up a single Sponsors Listing"""
+  sponsorsListing(
+    """Select the Sponsors listing which matches this slug"""
+    slug: String!
+  ): SponsorsListing
+
+  """Look up a topic by name."""
+  topic(
+    """The topic's name."""
+    name: String!
+  ): Topic
+
+  """Lookup a user by login."""
+  user(
+    """The user's login."""
+    login: String!
+  ): User
+
+  """The currently authenticated user."""
+  viewer: User!
+}
+
+"""Represents the client's rate limit."""
+type RateLimit {
+  """The point cost for the current query counting against the rate limit."""
+  cost: Int!
+
+  """
+  The maximum number of points the client is permitted to consume in a 60 minute window.
+  """
+  limit: Int!
+
+  """The maximum number of nodes this query may return"""
+  nodeCount: Int!
+
+  """The number of points remaining in the current rate limit window."""
+  remaining: Int!
+
+  """
+  The time at which the current rate limit window resets in UTC epoch seconds.
+  """
+  resetAt: DateTime!
+}
+
+"""Represents a subject that can be reacted on."""
+interface Reactable {
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+
+  """A list of reactions grouped by content left on the subject."""
+  reactionGroups: [ReactionGroup!]
+
+  """A list of Reactions left on the Issue."""
+  reactions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Allows filtering Reactions by emoji."""
+    content: ReactionContent
+
+    """Allows specifying the order in which reactions are returned."""
+    orderBy: ReactionOrder
+  ): ReactionConnection!
+
+  """Can user react to this subject"""
+  viewerCanReact: Boolean!
+}
+
+"""The connection type for User."""
+type ReactingUserConnection {
+  """A list of edges."""
+  edges: [ReactingUserEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents a user that's made a reaction."""
+type ReactingUserEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+  node: User!
+
+  """The moment when the user made the reaction."""
+  reactedAt: DateTime!
+}
+
+"""An emoji reaction to a particular piece of content."""
+type Reaction implements Node {
+  """Identifies the emoji reaction."""
+  content: ReactionContent!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+
+  """The reactable piece of content"""
+  reactable: Reactable!
+
+  """Identifies the user who created this reaction."""
+  user: User
+}
+
+"""A list of reactions that have been left on the subject."""
+type ReactionConnection {
+  """A list of edges."""
+  edges: [ReactionEdge]
+
+  """A list of nodes."""
+  nodes: [Reaction]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+
+  """
+  Whether or not the authenticated user has left a reaction on the subject.
+  """
+  viewerHasReacted: Boolean!
+}
+
+"""Emojis that can be attached to Issues, Pull Requests and Comments."""
+enum ReactionContent {
+  """Represents the `:+1:` emoji."""
+  THUMBS_UP
+
+  """Represents the `:-1:` emoji."""
+  THUMBS_DOWN
+
+  """Represents the `:laugh:` emoji."""
+  LAUGH
+
+  """Represents the `:hooray:` emoji."""
+  HOORAY
+
+  """Represents the `:confused:` emoji."""
+  CONFUSED
+
+  """Represents the `:heart:` emoji."""
+  HEART
+
+  """Represents the `:rocket:` emoji."""
+  ROCKET
+
+  """Represents the `:eyes:` emoji."""
+  EYES
+}
+
+"""An edge in a connection."""
+type ReactionEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Reaction
+}
+
+"""A group of emoji reactions to a particular piece of content."""
+type ReactionGroup {
+  """Identifies the emoji reaction."""
+  content: ReactionContent!
+
+  """Identifies when the reaction was created."""
+  createdAt: DateTime
+
+  """The subject that was reacted to."""
+  subject: Reactable!
+
+  """
+  Users who have reacted to the reaction subject with the emotion represented by this reaction group
+  """
+  users(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ReactingUserConnection!
+
+  """
+  Whether or not the authenticated user has left a reaction on the subject.
+  """
+  viewerHasReacted: Boolean!
+}
+
+"""Ways in which lists of reactions can be ordered upon return."""
+input ReactionOrder {
+  """The field in which to order reactions by."""
+  field: ReactionOrderField!
+
+  """The direction in which to order reactions by the specified field."""
+  direction: OrderDirection!
+}
+
+"""A list of fields that reactions can be ordered by."""
+enum ReactionOrderField {
+  """Allows ordering a list of reactions by when they were created."""
+  CREATED_AT
+}
+
+"""Represents a 'ready_for_review' event on a given pull request."""
+type ReadyForReviewEvent implements Node & UniformResourceLocatable {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+
+  """The HTTP path for this ready for review event."""
+  resourcePath: URI!
+
+  """The HTTP URL for this ready for review event."""
+  url: URI!
+}
+
+"""Represents a Git reference."""
+type Ref implements Node {
+  """A list of pull requests with this ref as the head ref."""
+  associatedPullRequests(
+    """A list of states to filter the pull requests by."""
+    states: [PullRequestState!]
+
+    """A list of label names to filter the pull requests by."""
+    labels: [String!]
+
+    """The head ref name to filter the pull requests by."""
+    headRefName: String
+
+    """The base ref name to filter the pull requests by."""
+    baseRefName: String
+
+    """Ordering options for pull requests returned from the connection."""
+    orderBy: IssueOrder
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestConnection!
+  id: ID!
+
+  """The ref name."""
+  name: String!
+
+  """The ref's prefix, such as `refs/heads/` or `refs/tags/`."""
+  prefix: String!
+
+  """The repository the ref belongs to."""
+  repository: Repository!
+
+  """The object the ref points to."""
+  target: GitObject!
+}
+
+"""The connection type for Ref."""
+type RefConnection {
+  """A list of edges."""
+  edges: [RefEdge]
+
+  """A list of nodes."""
+  nodes: [Ref]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type RefEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Ref
+}
+
+"""Represents a 'referenced' event on a given `ReferencedSubject`."""
+type ReferencedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the commit associated with the 'referenced' event."""
+  commit: Commit
+
+  """Identifies the repository associated with the 'referenced' event."""
+  commitRepository: Repository!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Reference originated in a different repository."""
+  isCrossRepository: Boolean!
+
+  """
+  Checks if the commit message itself references the subject. Can be false in the case of a commit comment reference.
+  """
+  isDirectReference: Boolean!
+
+  """Object referenced by event."""
+  subject: ReferencedSubject!
+}
+
+"""Any referencable object"""
+union ReferencedSubject = Issue | PullRequest
+
+"""Ways in which lists of git refs can be ordered upon return."""
+input RefOrder {
+  """The field in which to order refs by."""
+  field: RefOrderField!
+
+  """The direction in which to order refs by the specified field."""
+  direction: OrderDirection!
+}
+
+"""Properties by which ref connections can be ordered."""
+enum RefOrderField {
+  """Order refs by underlying commit date if the ref prefix is refs/tags/"""
+  TAG_COMMIT_DATE
+
+  """Order refs by their alphanumeric name"""
+  ALPHABETICAL
+}
+
+"""
+Autogenerated input type of RegenerateEnterpriseIdentityProviderRecoveryCodes
+"""
+input RegenerateEnterpriseIdentityProviderRecoveryCodesInput {
+  """The ID of the enterprise on which to set an identity provider."""
+  enterpriseId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of RegenerateEnterpriseIdentityProviderRecoveryCodes
+"""
+type RegenerateEnterpriseIdentityProviderRecoveryCodesPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The identity provider for the enterprise."""
+  identityProvider: EnterpriseIdentityProvider
+}
+
+"""A registry package contains the content for an uploaded package."""
+type RegistryPackage implements Node {
+  """The package type color"""
+  color: String!
+  id: ID!
+
+  """Find the latest version for the package."""
+  latestVersion: RegistryPackageVersion
+
+  """Identifies the title of the package."""
+  name: String!
+
+  """Identifies the title of the package, with the owner prefixed."""
+  nameWithOwner: String!
+
+  """Find the package file identified by the guid."""
+  packageFileByGuid(
+    """The unique identifier of the package_file"""
+    guid: String!
+  ): RegistryPackageFile
+
+  """Find the package file identified by the sha256."""
+  packageFileBySha256(
+    """The SHA256 of the package_file"""
+    sha256: String!
+  ): RegistryPackageFile
+
+  """Identifies the type of the package."""
+  packageType: RegistryPackageType!
+
+  """List the prerelease versions for this package."""
+  preReleaseVersions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RegistryPackageVersionConnection
+
+  """The type of the package."""
+  registryPackageType: String
+
+  """repository that the release is associated with"""
+  repository: Repository
+
+  """Statistics about package activity."""
+  statistics: RegistryPackageStatistics
+
+  """list of tags for this package"""
+  tags(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RegistryPackageTagConnection!
+
+  """List the topics for this package."""
+  topics(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): TopicConnection
+
+  """Find package version by version string."""
+  version(
+    """The package version."""
+    version: String!
+  ): RegistryPackageVersion
+
+  """Find package version by version string."""
+  versionByPlatform(
+    """The package version."""
+    version: String!
+
+    """Find a registry package for a specific platform."""
+    platform: String!
+  ): RegistryPackageVersion
+
+  """Find package version by manifest SHA256."""
+  versionBySha256(
+    """The package SHA256 digest."""
+    sha256: String!
+  ): RegistryPackageVersion
+
+  """list of versions for this package"""
+  versions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RegistryPackageVersionConnection!
+
+  """List package versions with a specific metadatum."""
+  versionsByMetadatum(
+    """Filter on a specific metadatum."""
+    metadatum: RegistryPackageMetadatum!
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RegistryPackageVersionConnection
+}
+
+"""The connection type for RegistryPackage."""
+type RegistryPackageConnection {
+  """A list of edges."""
+  edges: [RegistryPackageEdge]
+
+  """A list of nodes."""
+  nodes: [RegistryPackage]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""
+A package dependency contains the information needed to satisfy a dependency.
+"""
+type RegistryPackageDependency implements Node {
+  """Identifies the type of dependency."""
+  dependencyType: RegistryPackageDependencyType!
+  id: ID!
+
+  """Identifies the name of the dependency."""
+  name: String!
+
+  """Identifies the version of the dependency."""
+  version: String!
+}
+
+"""The connection type for RegistryPackageDependency."""
+type RegistryPackageDependencyConnection {
+  """A list of edges."""
+  edges: [RegistryPackageDependencyEdge]
+
+  """A list of nodes."""
+  nodes: [RegistryPackageDependency]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type RegistryPackageDependencyEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: RegistryPackageDependency
+}
+
+"""The possible types of a registry package dependency."""
+enum RegistryPackageDependencyType {
+  """A default registry package dependency type."""
+  DEFAULT
+
+  """A dev registry package dependency type."""
+  DEV
+
+  """A test registry package dependency type."""
+  TEST
+
+  """A peer registry package dependency type."""
+  PEER
+
+  """An optional registry package dependency type."""
+  OPTIONAL
+
+  """An optional registry package dependency type."""
+  BUNDLED
+}
+
+"""An edge in a connection."""
+type RegistryPackageEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: RegistryPackage
+}
+
+"""A file in a specific registry package version."""
+type RegistryPackageFile implements Node {
+  """A unique identifier for this file."""
+  guid: String
+  id: ID!
+
+  """Identifies the md5."""
+  md5: String
+
+  """URL to download the asset metadata."""
+  metadataUrl: URI!
+
+  """Name of the file"""
+  name: String!
+
+  """The package version this file belongs to."""
+  packageVersion: RegistryPackageVersion!
+
+  """Identifies the sha1."""
+  sha1: String
+
+  """Identifies the sha256."""
+  sha256: String
+
+  """Identifies the size."""
+  size: Int
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """URL to download the asset."""
+  url: URI!
+}
+
+"""The connection type for RegistryPackageFile."""
+type RegistryPackageFileConnection {
+  """A list of edges."""
+  edges: [RegistryPackageFileEdge]
+
+  """A list of nodes."""
+  nodes: [RegistryPackageFile]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type RegistryPackageFileEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: RegistryPackageFile
+}
+
+"""The possible states of a registry package file."""
+enum RegistryPackageFileState {
+  """Package file doesn't have a blob backing it."""
+  NEW
+
+  """All Package file contents have been uploaded."""
+  UPLOADED
+}
+
+"""Represents a single registry metadatum"""
+input RegistryPackageMetadatum {
+  """Name of the metadatum."""
+  name: String!
+
+  """Value of the metadatum."""
+  value: String!
+
+  """True, if the metadatum can be updated if it already exists"""
+  update: Boolean
+}
+
+"""Represents an owner of a registry package."""
+interface RegistryPackageOwner {
+  id: ID!
+
+  """A list of registry packages under the owner."""
+  registryPackages(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Find registry package by name."""
+    name: String
+
+    """Find registry packages by their names."""
+    names: [String]
+
+    """Find registry packages in a repository."""
+    repositoryId: ID
+
+    """Filter registry package by type."""
+    packageType: RegistryPackageType
+
+    """Filter registry package by type (string)."""
+    registryPackageType: String
+
+    """Filter registry package by whether it is publicly visible"""
+    publicOnly: Boolean = false
+  ): RegistryPackageConnection!
+}
+
+"""Represents an interface to search packages on an object."""
+interface RegistryPackageSearch {
+  id: ID!
+
+  """A list of registry packages for a particular search query."""
+  registryPackagesForQuery(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Find registry package by search query."""
+    query: String
+
+    """Filter registry package by type."""
+    packageType: RegistryPackageType
+  ): RegistryPackageConnection!
+}
+
+"""
+Represents a object that contains package activity statistics such as downloads.
+"""
+type RegistryPackageStatistics {
+  """Number of times the package was downloaded this month."""
+  downloadsThisMonth: Int!
+
+  """Number of times the package was downloaded this week."""
+  downloadsThisWeek: Int!
+
+  """Number of times the package was downloaded this year."""
+  downloadsThisYear: Int!
+
+  """Number of times the package was downloaded today."""
+  downloadsToday: Int!
+
+  """Number of times the package was downloaded since it was created."""
+  downloadsTotalCount: Int!
+}
+
+"""A version tag contains the mapping between a tag name and a version."""
+type RegistryPackageTag implements Node {
+  id: ID!
+
+  """Identifies the tag name of the version."""
+  name: String!
+
+  """version that the tag is associated with"""
+  version: RegistryPackageVersion
+}
+
+"""The connection type for RegistryPackageTag."""
+type RegistryPackageTagConnection {
+  """A list of edges."""
+  edges: [RegistryPackageTagEdge]
+
+  """A list of nodes."""
+  nodes: [RegistryPackageTag]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type RegistryPackageTagEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: RegistryPackageTag
+}
+
+"""The possible types of a registry package."""
+enum RegistryPackageType {
+  """An npm registry package."""
+  NPM
+
+  """A rubygems registry package."""
+  RUBYGEMS
+
+  """A maven registry package."""
+  MAVEN
+
+  """A docker image."""
+  DOCKER
+
+  """A debian package."""
+  DEBIAN
+
+  """A nuget package."""
+  NUGET
+
+  """A python package."""
+  PYTHON
+}
+
+"""
+A package version contains the information about a specific package version.
+"""
+type RegistryPackageVersion implements Node {
+  """list of dependencies for this package"""
+  dependencies(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Find dependencies by type."""
+    type: RegistryPackageDependencyType
+  ): RegistryPackageDependencyConnection!
+
+  """A file associated with this registry package version"""
+  fileByName(
+    """A specific file to find."""
+    filename: String!
+  ): RegistryPackageFile
+
+  """List of files associated with this registry package version"""
+  files(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RegistryPackageFileConnection!
+  id: ID!
+
+  """A single line of text to install this package version."""
+  installationCommand: String
+
+  """Identifies the package manifest for this package version."""
+  manifest: String
+
+  """Identifies the platform this version was built for."""
+  platform: String
+
+  """Indicates whether this version is a pre-release."""
+  preRelease: Boolean!
+
+  """The README of this package version"""
+  readme: String
+
+  """The HTML README of this package version"""
+  readmeHtml: HTML
+
+  """Registry package associated with this version."""
+  registryPackage: RegistryPackage
+
+  """Release associated with this package."""
+  release: Release
+
+  """Identifies the sha256."""
+  sha256: String
+
+  """Identifies the size."""
+  size: Int
+
+  """Statistics about package activity."""
+  statistics: RegistryPackageVersionStatistics
+
+  """Identifies the package version summary."""
+  summary: String
+
+  """
+  Time at which the most recent file upload for this package version finished
+  """
+  updatedAt: DateTime!
+
+  """Identifies the version number."""
+  version: String!
+
+  """Can the current viewer edit this Package version."""
+  viewerCanEdit: Boolean!
+}
+
+"""The connection type for RegistryPackageVersion."""
+type RegistryPackageVersionConnection {
+  """A list of edges."""
+  edges: [RegistryPackageVersionEdge]
+
+  """A list of nodes."""
+  nodes: [RegistryPackageVersion]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type RegistryPackageVersionEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: RegistryPackageVersion
+}
+
+"""
+Represents a object that contains package version activity statistics such as downloads.
+"""
+type RegistryPackageVersionStatistics {
+  """Number of times the package was downloaded this month."""
+  downloadsThisMonth: Int!
+
+  """Number of times the package was downloaded this week."""
+  downloadsThisWeek: Int!
+
+  """Number of times the package was downloaded this year."""
+  downloadsThisYear: Int!
+
+  """Number of times the package was downloaded today."""
+  downloadsToday: Int!
+
+  """Number of times the package was downloaded since it was created."""
+  downloadsTotalCount: Int!
+}
+
+"""A release contains the content for a release."""
+type Release implements Node & UniformResourceLocatable {
+  """The author of the release"""
+  author: User
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The description of the release."""
+  description: String
+
+  """The description of this release rendered to HTML."""
+  descriptionHTML: HTML
+  id: ID!
+
+  """Whether or not the release is a draft"""
+  isDraft: Boolean!
+
+  """Whether or not the release is a prerelease"""
+  isPrerelease: Boolean!
+
+  """The title of the release."""
+  name: String
+
+  """Identifies the date and time when the release was created."""
+  publishedAt: DateTime
+
+  """List of releases assets which are dependent on this release."""
+  releaseAssets(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """A list of names to filter the assets by."""
+    name: String
+  ): ReleaseAssetConnection!
+
+  """The HTTP path for this issue"""
+  resourcePath: URI!
+
+  """
+  A description of the release, rendered to HTML without any links in it.
+  """
+  shortDescriptionHTML(
+    """How many characters to return."""
+    limit: Int = 200
+  ): HTML
+
+  """The Git tag the release points to"""
+  tag: Ref
+
+  """The name of the release's Git tag"""
+  tagName: String!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this issue"""
+  url: URI!
+}
+
+"""A release asset contains the content for a release asset."""
+type ReleaseAsset implements Node {
+  """The asset's content-type"""
+  contentType: String!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The number of times this asset was downloaded"""
+  downloadCount: Int!
+
+  """
+  Identifies the URL where you can download the release asset via the browser.
+  """
+  downloadUrl: URI!
+  id: ID!
+
+  """Identifies the title of the release asset."""
+  name: String!
+
+  """Release that the asset is associated with"""
+  release: Release
+
+  """The size (in bytes) of the asset"""
+  size: Int!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The user that performed the upload"""
+  uploadedBy: User!
+
+  """Identifies the URL of the release asset."""
+  url: URI!
+}
+
+"""The connection type for ReleaseAsset."""
+type ReleaseAssetConnection {
+  """A list of edges."""
+  edges: [ReleaseAssetEdge]
+
+  """A list of nodes."""
+  nodes: [ReleaseAsset]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type ReleaseAssetEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: ReleaseAsset
+}
+
+"""The connection type for Release."""
+type ReleaseConnection {
+  """A list of edges."""
+  edges: [ReleaseEdge]
+
+  """A list of nodes."""
+  nodes: [Release]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type ReleaseEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Release
+}
+
+"""Ways in which lists of releases can be ordered upon return."""
+input ReleaseOrder {
+  """The field in which to order releases by."""
+  field: ReleaseOrderField!
+
+  """The direction in which to order releases by the specified field."""
+  direction: OrderDirection!
+}
+
+"""Properties by which release connections can be ordered."""
+enum ReleaseOrderField {
+  """Order releases by creation time"""
+  CREATED_AT
+
+  """Order releases alphabetically by name"""
+  NAME
+}
+
+"""Autogenerated input type of RemoveAssigneesFromAssignable"""
+input RemoveAssigneesFromAssignableInput {
+  """The id of the assignable object to remove assignees from."""
+  assignableId: ID!
+
+  """The id of users to remove as assignees."""
+  assigneeIds: [ID!]!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of RemoveAssigneesFromAssignable"""
+type RemoveAssigneesFromAssignablePayload {
+  """The item that was unassigned."""
+  assignable: Assignable
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Represents a 'removed_from_project' event on a given issue or pull request.
+"""
+type RemovedFromProjectEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+}
+
+"""Autogenerated input type of RemoveEnterpriseAdmin"""
+input RemoveEnterpriseAdminInput {
+  """The Enterprise ID from which to remove the administrator."""
+  enterpriseId: ID!
+
+  """The login of the user to remove as an administrator."""
+  login: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of RemoveEnterpriseAdmin"""
+type RemoveEnterpriseAdminPayload {
+  """The user who was removed as an administrator."""
+  admin: User
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated enterprise."""
+  enterprise: Enterprise
+
+  """A message confirming the result of removing an administrator."""
+  message: String
+
+  """The viewer performing the mutation."""
+  viewer: User
+}
+
+"""Autogenerated input type of RemoveEnterpriseOrganization"""
+input RemoveEnterpriseOrganizationInput {
+  """
+  The ID of the enterprise from which the organization should be removed.
+  """
+  enterpriseId: ID!
+
+  """The ID of the organization to remove from the enterprise."""
+  organizationId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of RemoveEnterpriseOrganization"""
+type RemoveEnterpriseOrganizationPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated enterprise."""
+  enterprise: Enterprise
+
+  """The organization that was removed from the enterprise."""
+  organization: Organization
+
+  """The viewer performing the mutation."""
+  viewer: User
+}
+
+"""Autogenerated input type of RemoveLabelsFromLabelable"""
+input RemoveLabelsFromLabelableInput {
+  """The id of the Labelable to remove labels from."""
+  labelableId: ID!
+
+  """The ids of labels to remove."""
+  labelIds: [ID!]!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of RemoveLabelsFromLabelable"""
+type RemoveLabelsFromLabelablePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The Labelable the labels were removed from."""
+  labelable: Labelable
+}
+
+"""Autogenerated input type of RemoveOutsideCollaborator"""
+input RemoveOutsideCollaboratorInput {
+  """The ID of the outside collaborator to remove."""
+  userId: ID!
+
+  """The ID of the organization to remove the outside collaborator from."""
+  organizationId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of RemoveOutsideCollaborator"""
+type RemoveOutsideCollaboratorPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The user that was removed as an outside collaborator."""
+  removedUser: User
+}
+
+"""Autogenerated input type of RemoveReaction"""
+input RemoveReactionInput {
+  """The Node ID of the subject to modify."""
+  subjectId: ID!
+
+  """The name of the emoji reaction to remove."""
+  content: ReactionContent!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of RemoveReaction"""
+type RemoveReactionPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The reaction object."""
+  reaction: Reaction
+
+  """The reactable subject."""
+  subject: Reactable
+}
+
+"""Autogenerated input type of RemoveStar"""
+input RemoveStarInput {
+  """The Starrable ID to unstar."""
+  starrableId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of RemoveStar"""
+type RemoveStarPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The starrable."""
+  starrable: Starrable
+}
+
+"""Represents a 'renamed' event on a given issue or pull request"""
+type RenamedTitleEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the current title of the issue or pull request."""
+  currentTitle: String!
+  id: ID!
+
+  """Identifies the previous title of the issue or pull request."""
+  previousTitle: String!
+
+  """Subject that was renamed."""
+  subject: RenamedTitleSubject!
+}
+
+"""An object which has a renamable title"""
+union RenamedTitleSubject = Issue | PullRequest
+
+"""Represents a 'reopened' event on any `Closable`."""
+type ReopenedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Object that was reopened."""
+  closable: Closable!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+}
+
+"""Autogenerated input type of ReopenIssue"""
+input ReopenIssueInput {
+  """ID of the issue to be opened."""
+  issueId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of ReopenIssue"""
+type ReopenIssuePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The issue that was opened."""
+  issue: Issue
+}
+
+"""Autogenerated input type of ReopenPullRequest"""
+input ReopenPullRequestInput {
+  """ID of the pull request to be reopened."""
+  pullRequestId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of ReopenPullRequest"""
+type ReopenPullRequestPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The pull request that was reopened."""
+  pullRequest: PullRequest
+}
+
+"""Audit log entry for a repo.access event."""
+type RepoAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+
+  """The visibility of the repository"""
+  visibility: RepoAccessAuditEntryVisibility
+}
+
+"""The privacy of a repository"""
+enum RepoAccessAuditEntryVisibility {
+  """The repository is visible only to users in the same business."""
+  INTERNAL
+
+  """The repository is visible only to those with explicit access."""
+  PRIVATE
+
+  """The repository is visible to everyone."""
+  PUBLIC
+}
+
+"""Audit log entry for a repo.add_member event."""
+type RepoAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+
+  """The visibility of the repository"""
+  visibility: RepoAddMemberAuditEntryVisibility
+}
+
+"""The privacy of a repository"""
+enum RepoAddMemberAuditEntryVisibility {
+  """The repository is visible only to users in the same business."""
+  INTERNAL
+
+  """The repository is visible only to those with explicit access."""
+  PRIVATE
+
+  """The repository is visible to everyone."""
+  PUBLIC
+}
+
+"""Audit log entry for a repo.add_topic event."""
+type RepoAddTopicAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData & TopicAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The name of the topic added to the repository"""
+  topic: Topic
+
+  """The name of the topic added to the repository"""
+  topicName: String
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.archived event."""
+type RepoArchivedAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+
+  """The visibility of the repository"""
+  visibility: RepoArchivedAuditEntryVisibility
+}
+
+"""The privacy of a repository"""
+enum RepoArchivedAuditEntryVisibility {
+  """The repository is visible only to users in the same business."""
+  INTERNAL
+
+  """The repository is visible only to those with explicit access."""
+  PRIVATE
+
+  """The repository is visible to everyone."""
+  PUBLIC
+}
+
+"""Audit log entry for a repo.change_merge_setting event."""
+type RepoChangeMergeSettingAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """
+  Whether the change was to enable (true) or disable (false) the merge type
+  """
+  isEnabled: Boolean
+
+  """The merge method affected by the change"""
+  mergeType: RepoChangeMergeSettingAuditEntryMergeType
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The merge options available for pull requests to this repository."""
+enum RepoChangeMergeSettingAuditEntryMergeType {
+  """The pull request is added to the base branch in a merge commit."""
+  MERGE
+
+  """
+  Commits from the pull request are added onto the base branch individually without a merge commit.
+  """
+  REBASE
+
+  """
+  The pull request's commits are squashed into a single commit before they are merged to the base branch.
+  """
+  SQUASH
+}
+
+"""Audit log entry for a repo.config.disable_anonymous_git_access event."""
+type RepoConfigDisableAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.config.disable_collaborators_only event."""
+type RepoConfigDisableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.config.disable_contributors_only event."""
+type RepoConfigDisableContributorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.config.disable_sockpuppet_disallowed event."""
+type RepoConfigDisableSockpuppetDisallowedAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.config.enable_anonymous_git_access event."""
+type RepoConfigEnableAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.config.enable_collaborators_only event."""
+type RepoConfigEnableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.config.enable_contributors_only event."""
+type RepoConfigEnableContributorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.config.enable_sockpuppet_disallowed event."""
+type RepoConfigEnableSockpuppetDisallowedAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.config.lock_anonymous_git_access event."""
+type RepoConfigLockAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.config.unlock_anonymous_git_access event."""
+type RepoConfigUnlockAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repo.create event."""
+type RepoCreateAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The name of the parent repository for this forked repository."""
+  forkParentName: String
+
+  """The name of the root repository for this netork."""
+  forkSourceName: String
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+
+  """The visibility of the repository"""
+  visibility: RepoCreateAuditEntryVisibility
+}
+
+"""The privacy of a repository"""
+enum RepoCreateAuditEntryVisibility {
+  """The repository is visible only to users in the same business."""
+  INTERNAL
+
+  """The repository is visible only to those with explicit access."""
+  PRIVATE
+
+  """The repository is visible to everyone."""
+  PUBLIC
+}
+
+"""Audit log entry for a repo.destroy event."""
+type RepoDestroyAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+
+  """The visibility of the repository"""
+  visibility: RepoDestroyAuditEntryVisibility
+}
+
+"""The privacy of a repository"""
+enum RepoDestroyAuditEntryVisibility {
+  """The repository is visible only to users in the same business."""
+  INTERNAL
+
+  """The repository is visible only to those with explicit access."""
+  PRIVATE
+
+  """The repository is visible to everyone."""
+  PUBLIC
+}
+
+"""Audit log entry for a repo.remove_member event."""
+type RepoRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+
+  """The visibility of the repository"""
+  visibility: RepoRemoveMemberAuditEntryVisibility
+}
+
+"""The privacy of a repository"""
+enum RepoRemoveMemberAuditEntryVisibility {
+  """The repository is visible only to users in the same business."""
+  INTERNAL
+
+  """The repository is visible only to those with explicit access."""
+  PRIVATE
+
+  """The repository is visible to everyone."""
+  PUBLIC
+}
+
+"""Audit log entry for a repo.remove_topic event."""
+type RepoRemoveTopicAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData & TopicAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The name of the topic added to the repository"""
+  topic: Topic
+
+  """The name of the topic added to the repository"""
+  topicName: String
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The reasons a piece of content can be reported or minimized."""
+enum ReportedContentClassifiers {
+  """A spammy piece of content"""
+  SPAM
+
+  """An abusive or harassing piece of content"""
+  ABUSE
+
+  """An irrelevant piece of content"""
+  OFF_TOPIC
+
+  """An outdated piece of content"""
+  OUTDATED
+
+  """The content has been resolved"""
+  RESOLVED
+}
+
+"""A repository contains the content for a project."""
+type Repository implements Node & ProjectOwner & RegistryPackageOwner & RegistryPackageSearch & Subscribable & Starrable & UniformResourceLocatable & RepositoryInfo {
+  """A list of users that can be assigned to issues in this repository."""
+  assignableUsers(
+    """Filters users with query on user name and login"""
+    query: String
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+
+  """A list of branch protection rules for this repository."""
+  branchProtectionRules(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): BranchProtectionRuleConnection!
+
+  """Returns the code of conduct for this repository"""
+  codeOfConduct: CodeOfConduct
+
+  """A list of collaborators associated with the repository."""
+  collaborators(
+    """Collaborators affiliation level with a repository."""
+    affiliation: CollaboratorAffiliation
+
+    """Filters users with query on user name and login"""
+    query: String
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RepositoryCollaboratorConnection
+
+  """A list of commit comments associated with the repository."""
+  commitComments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): CommitCommentConnection!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The Ref associated with the repository's default branch."""
+  defaultBranchRef: Ref
+
+  """A list of deploy keys that are on this repository."""
+  deployKeys(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): DeployKeyConnection!
+
+  """Deployments associated with the repository"""
+  deployments(
+    """Environments to list deployments for"""
+    environments: [String!]
+
+    """Ordering options for deployments returned from the connection."""
+    orderBy: DeploymentOrder = {field: CREATED_AT, direction: ASC}
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): DeploymentConnection!
+
+  """The description of the repository."""
+  description: String
+
+  """The description of the repository rendered to HTML."""
+  descriptionHTML: HTML!
+
+  """The number of kilobytes this repository occupies on disk."""
+  diskUsage: Int
+
+  """
+  Returns how many forks there are of this repository in the whole network.
+  """
+  forkCount: Int!
+
+  """A list of direct forked repositories."""
+  forks(
+    """If non-null, filters repositories according to privacy"""
+    privacy: RepositoryPrivacy
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder
+
+    """
+    Array of viewer's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    current viewer owns.
+    """
+    affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    Array of owner's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    organization or user being viewed owns.
+    """
+    ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    If non-null, filters repositories according to whether they have been locked
+    """
+    isLocked: Boolean
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RepositoryConnection!
+
+  """Indicates if the repository has issues feature enabled."""
+  hasIssuesEnabled: Boolean!
+
+  """Indicates if the repository has wiki feature enabled."""
+  hasWikiEnabled: Boolean!
+
+  """The repository's URL."""
+  homepageUrl: URI
+  id: ID!
+
+  """Indicates if the repository is unmaintained."""
+  isArchived: Boolean!
+
+  """Returns whether or not this repository disabled."""
+  isDisabled: Boolean!
+
+  """Identifies if the repository is a fork."""
+  isFork: Boolean!
+
+  """Indicates if the repository has been locked or not."""
+  isLocked: Boolean!
+
+  """Identifies if the repository is a mirror."""
+  isMirror: Boolean!
+
+  """Identifies if the repository is private."""
+  isPrivate: Boolean!
+
+  """
+  Identifies if the repository is a template that can be used to generate new repositories.
+  """
+  isTemplate: Boolean!
+
+  """Returns a single issue from the current repository by number."""
+  issue(
+    """The number for the issue to be returned."""
+    number: Int!
+  ): Issue
+
+  """
+  Returns a single issue-like object from the current repository by number.
+  """
+  issueOrPullRequest(
+    """The number for the issue to be returned."""
+    number: Int!
+  ): IssueOrPullRequest
+
+  """A list of issues that have been opened in the repository."""
+  issues(
+    """Ordering options for issues returned from the connection."""
+    orderBy: IssueOrder
+
+    """A list of label names to filter the pull requests by."""
+    labels: [String!]
+
+    """A list of states to filter the issues by."""
+    states: [IssueState!]
+
+    """Filtering options for issues returned from the connection."""
+    filterBy: IssueFilters
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): IssueConnection!
+
+  """Returns a single label by name"""
+  label(
+    """Label name"""
+    name: String!
+  ): Label
+
+  """A list of labels associated with the repository."""
+  labels(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """If provided, searches labels by name and description."""
+    query: String
+  ): LabelConnection
+
+  """
+  A list containing a breakdown of the language composition of the repository.
+  """
+  languages(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Order for connection"""
+    orderBy: LanguageOrder
+  ): LanguageConnection
+
+  """The license associated with the repository"""
+  licenseInfo: License
+
+  """The reason the repository has been locked."""
+  lockReason: RepositoryLockReason
+
+  """
+  A list of Users that can be mentioned in the context of the repository.
+  """
+  mentionableUsers(
+    """Filters users with query on user name and login"""
+    query: String
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+
+  """Whether or not PRs are merged with a merge commit on this repository."""
+  mergeCommitAllowed: Boolean!
+
+  """Returns a single milestone from the current repository by number."""
+  milestone(
+    """The number for the milestone to be returned."""
+    number: Int!
+  ): Milestone
+
+  """A list of milestones associated with the repository."""
+  milestones(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Filter by the state of the milestones."""
+    states: [MilestoneState!]
+
+    """Ordering options for milestones."""
+    orderBy: MilestoneOrder
+  ): MilestoneConnection
+
+  """The repository's original mirror URL."""
+  mirrorUrl: URI
+
+  """The name of the repository."""
+  name: String!
+
+  """The repository's name with owner."""
+  nameWithOwner: String!
+
+  """A Git object in the repository"""
+  object(
+    """The Git object ID"""
+    oid: GitObjectID
+
+    """A Git revision expression suitable for rev-parse"""
+    expression: String
+  ): GitObject
+
+  """The image used to represent this repository in Open Graph data."""
+  openGraphImageUrl: URI!
+
+  """The User owner of the repository."""
+  owner: RepositoryOwner!
+
+  """The repository parent, if this is a fork."""
+  parent: Repository
+
+  """The primary language of the repository's code."""
+  primaryLanguage: Language
+
+  """Find project by number."""
+  project(
+    """The project number to find."""
+    number: Int!
+  ): Project
+
+  """A list of projects under the owner."""
+  projects(
+    """Ordering options for projects returned from the connection"""
+    orderBy: ProjectOrder
+
+    """Query to search projects by, currently only searching by name."""
+    search: String
+
+    """A list of states to filter the projects by."""
+    states: [ProjectState!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ProjectConnection!
+
+  """The HTTP path listing the repository's projects"""
+  projectsResourcePath: URI!
+
+  """The HTTP URL listing the repository's projects"""
+  projectsUrl: URI!
+
+  """Returns a single pull request from the current repository by number."""
+  pullRequest(
+    """The number for the pull request to be returned."""
+    number: Int!
+  ): PullRequest
+
+  """A list of pull requests that have been opened in the repository."""
+  pullRequests(
+    """A list of states to filter the pull requests by."""
+    states: [PullRequestState!]
+
+    """A list of label names to filter the pull requests by."""
+    labels: [String!]
+
+    """The head ref name to filter the pull requests by."""
+    headRefName: String
+
+    """The base ref name to filter the pull requests by."""
+    baseRefName: String
+
+    """Ordering options for pull requests returned from the connection."""
+    orderBy: IssueOrder
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestConnection!
+
+  """Identifies when the repository was last pushed to."""
+  pushedAt: DateTime
+
+  """Whether or not rebase-merging is enabled on this repository."""
+  rebaseMergeAllowed: Boolean!
+
+  """Fetch a given ref from the repository"""
+  ref(
+    """
+    The ref to retrieve. Fully qualified matches are checked in order
+    (`refs/heads/master`) before falling back onto checks for short name matches (`master`).
+    """
+    qualifiedName: String!
+  ): Ref
+
+  """Fetch a list of refs from the repository"""
+  refs(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """A ref name prefix like `refs/heads/`, `refs/tags/`, etc."""
+    refPrefix: String!
+
+    """DEPRECATED: use orderBy. The ordering direction."""
+    direction: OrderDirection
+
+    """Ordering options for refs returned from the connection."""
+    orderBy: RefOrder
+  ): RefConnection
+
+  """A list of registry packages under the owner."""
+  registryPackages(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Find registry package by name."""
+    name: String
+
+    """Find registry packages by their names."""
+    names: [String]
+
+    """Find registry packages in a repository."""
+    repositoryId: ID
+
+    """Filter registry package by type."""
+    packageType: RegistryPackageType
+
+    """Filter registry package by type (string)."""
+    registryPackageType: String
+
+    """Filter registry package by whether it is publicly visible"""
+    publicOnly: Boolean = false
+  ): RegistryPackageConnection!
+
+  """A list of registry packages for a particular search query."""
+  registryPackagesForQuery(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Find registry package by search query."""
+    query: String
+
+    """Filter registry package by type."""
+    packageType: RegistryPackageType
+  ): RegistryPackageConnection!
+
+  """Lookup a single release given various criteria."""
+  release(
+    """The name of the Tag the Release was created from"""
+    tagName: String!
+  ): Release
+
+  """List of releases which are dependent on this repository."""
+  releases(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Order for connection"""
+    orderBy: ReleaseOrder
+  ): ReleaseConnection!
+
+  """A list of applied repository-topic associations for this repository."""
+  repositoryTopics(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RepositoryTopicConnection!
+
+  """The HTTP path for this repository"""
+  resourcePath: URI!
+
+  """
+  A description of the repository, rendered to HTML without any links in it.
+  """
+  shortDescriptionHTML(
+    """How many characters to return."""
+    limit: Int = 200
+  ): HTML!
+
+  """Whether or not squash-merging is enabled on this repository."""
+  squashMergeAllowed: Boolean!
+
+  """The SSH URL to clone this repository"""
+  sshUrl: GitSSHRemote!
+
+  """A list of users who have starred this starrable."""
+  stargazers(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Order for connection"""
+    orderBy: StarOrder
+  ): StargazerConnection!
+
+  """The repository from which this repository was generated, if any."""
+  templateRepository: Repository
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this repository"""
+  url: URI!
+
+  """
+  Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar.
+  """
+  usesCustomOpenGraphImage: Boolean!
+
+  """Indicates whether the viewer has admin permissions on this repository."""
+  viewerCanAdminister: Boolean!
+
+  """Can the current viewer create new projects on this owner."""
+  viewerCanCreateProjects: Boolean!
+
+  """
+  Check if the viewer is able to change their subscription status for the repository.
+  """
+  viewerCanSubscribe: Boolean!
+
+  """Indicates whether the viewer can update the topics of this repository."""
+  viewerCanUpdateTopics: Boolean!
+
+  """
+  Returns a boolean indicating whether the viewing user has starred this starrable.
+  """
+  viewerHasStarred: Boolean!
+
+  """
+  The users permission level on the repository. Will return null if authenticated as an GitHub App.
+  """
+  viewerPermission: RepositoryPermission
+
+  """
+  Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
+  """
+  viewerSubscription: SubscriptionState
+
+  """A list of vulnerability alerts that are on this repository."""
+  vulnerabilityAlerts(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RepositoryVulnerabilityAlertConnection
+
+  """A list of users watching the repository."""
+  watchers(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserConnection!
+}
+
+"""The affiliation of a user to a repository"""
+enum RepositoryAffiliation {
+  """Repositories that are owned by the authenticated user."""
+  OWNER
+
+  """Repositories that the user has been added to as a collaborator."""
+  COLLABORATOR
+
+  """
+  Repositories that the user has access to through being a member of an
+  organization. This includes every repository on every team that the user is on.
+  """
+  ORGANIZATION_MEMBER
+}
+
+"""Metadata for an audit entry with action repo.*"""
+interface RepositoryAuditEntryData {
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+}
+
+"""The affiliation type between collaborator and repository."""
+enum RepositoryCollaboratorAffiliation {
+  """All collaborators of the repository."""
+  ALL
+
+  """All outside collaborators of an organization-owned repository."""
+  OUTSIDE
+}
+
+"""The connection type for User."""
+type RepositoryCollaboratorConnection {
+  """A list of edges."""
+  edges: [RepositoryCollaboratorEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents a user who is a collaborator of a repository."""
+type RepositoryCollaboratorEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+  node: User!
+
+  """The permission the user has on the repository."""
+  permission: RepositoryPermission!
+
+  """A list of sources for the user's access to the repository."""
+  permissionSources: [PermissionSource!]
+}
+
+"""A list of repositories owned by the subject."""
+type RepositoryConnection {
+  """A list of edges."""
+  edges: [RepositoryEdge]
+
+  """A list of nodes."""
+  nodes: [Repository]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+
+  """The total size in kilobytes of all repositories in the connection."""
+  totalDiskUsage: Int!
+}
+
+"""The reason a repository is listed as 'contributed'."""
+enum RepositoryContributionType {
+  """Created a commit"""
+  COMMIT
+
+  """Created an issue"""
+  ISSUE
+
+  """Created a pull request"""
+  PULL_REQUEST
+
+  """Created the repository"""
+  REPOSITORY
+
+  """Reviewed a pull request"""
+  PULL_REQUEST_REVIEW
+}
+
+"""An edge in a connection."""
+type RepositoryEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Repository
+}
+
+"""A subset of repository info."""
+interface RepositoryInfo {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The description of the repository."""
+  description: String
+
+  """The description of the repository rendered to HTML."""
+  descriptionHTML: HTML!
+
+  """
+  Returns how many forks there are of this repository in the whole network.
+  """
+  forkCount: Int!
+
+  """Indicates if the repository has issues feature enabled."""
+  hasIssuesEnabled: Boolean!
+
+  """Indicates if the repository has wiki feature enabled."""
+  hasWikiEnabled: Boolean!
+
+  """The repository's URL."""
+  homepageUrl: URI
+
+  """Indicates if the repository is unmaintained."""
+  isArchived: Boolean!
+
+  """Identifies if the repository is a fork."""
+  isFork: Boolean!
+
+  """Indicates if the repository has been locked or not."""
+  isLocked: Boolean!
+
+  """Identifies if the repository is a mirror."""
+  isMirror: Boolean!
+
+  """Identifies if the repository is private."""
+  isPrivate: Boolean!
+
+  """
+  Identifies if the repository is a template that can be used to generate new repositories.
+  """
+  isTemplate: Boolean!
+
+  """The license associated with the repository"""
+  licenseInfo: License
+
+  """The reason the repository has been locked."""
+  lockReason: RepositoryLockReason
+
+  """The repository's original mirror URL."""
+  mirrorUrl: URI
+
+  """The name of the repository."""
+  name: String!
+
+  """The repository's name with owner."""
+  nameWithOwner: String!
+
+  """The image used to represent this repository in Open Graph data."""
+  openGraphImageUrl: URI!
+
+  """The User owner of the repository."""
+  owner: RepositoryOwner!
+
+  """Identifies when the repository was last pushed to."""
+  pushedAt: DateTime
+
+  """The HTTP path for this repository"""
+  resourcePath: URI!
+
+  """
+  A description of the repository, rendered to HTML without any links in it.
+  """
+  shortDescriptionHTML(
+    """How many characters to return."""
+    limit: Int = 200
+  ): HTML!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this repository"""
+  url: URI!
+
+  """
+  Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar.
+  """
+  usesCustomOpenGraphImage: Boolean!
+}
+
+"""An invitation for a user to be added to a repository."""
+type RepositoryInvitation implements Node {
+  id: ID!
+
+  """The user who received the invitation."""
+  invitee: User!
+
+  """The user who created the invitation."""
+  inviter: User!
+
+  """The permission granted on this repository by this invitation."""
+  permission: RepositoryPermission!
+
+  """The Repository the user is invited to."""
+  repository: RepositoryInfo
+}
+
+"""An edge in a connection."""
+type RepositoryInvitationEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: RepositoryInvitation
+}
+
+"""Ordering options for repository invitation connections."""
+input RepositoryInvitationOrder {
+  """The field to order repository invitations by."""
+  field: RepositoryInvitationOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which repository invitation connections can be ordered."""
+enum RepositoryInvitationOrderField {
+  """Order repository invitations by creation time"""
+  CREATED_AT
+
+  """Order repository invitations by invitee login"""
+  INVITEE_LOGIN
+}
+
+"""The possible reasons a given repository could be in a locked state."""
+enum RepositoryLockReason {
+  """The repository is locked due to a move."""
+  MOVING
+
+  """The repository is locked due to a billing related reason."""
+  BILLING
+
+  """The repository is locked due to a rename."""
+  RENAME
+
+  """The repository is locked due to a migration."""
+  MIGRATING
+}
+
+"""Represents a object that belongs to a repository."""
+interface RepositoryNode {
+  """The repository associated with this node."""
+  repository: Repository!
+}
+
+"""Ordering options for repository connections"""
+input RepositoryOrder {
+  """The field to order repositories by."""
+  field: RepositoryOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which repository connections can be ordered."""
+enum RepositoryOrderField {
+  """Order repositories by creation time"""
+  CREATED_AT
+
+  """Order repositories by update time"""
+  UPDATED_AT
+
+  """Order repositories by push time"""
+  PUSHED_AT
+
+  """Order repositories by name"""
+  NAME
+
+  """Order repositories by number of stargazers"""
+  STARGAZERS
+}
+
+"""Represents an owner of a Repository."""
+interface RepositoryOwner {
+  """A URL pointing to the owner's public avatar."""
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int
+  ): URI!
+  id: ID!
+
+  """The username used to login."""
+  login: String!
+
+  """A list of repositories this user has pinned to their profile"""
+  pinnedRepositories(
+    """If non-null, filters repositories according to privacy"""
+    privacy: RepositoryPrivacy
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder
+
+    """
+    Array of viewer's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    current viewer owns.
+    """
+    affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    Array of owner's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    organization or user being viewed owns.
+    """
+    ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    If non-null, filters repositories according to whether they have been locked
+    """
+    isLocked: Boolean
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RepositoryConnection! @deprecated(reason: "pinnedRepositories will be removed Use ProfileOwner.pinnedItems instead. Removal on 2019-10-01 UTC.")
+
+  """A list of repositories that the user owns."""
+  repositories(
+    """If non-null, filters repositories according to privacy"""
+    privacy: RepositoryPrivacy
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder
+
+    """
+    Array of viewer's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    current viewer owns.
+    """
+    affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    Array of owner's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    organization or user being viewed owns.
+    """
+    ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    If non-null, filters repositories according to whether they have been locked
+    """
+    isLocked: Boolean
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    If non-null, filters repositories according to whether they are forks of another repository
+    """
+    isFork: Boolean
+  ): RepositoryConnection!
+
+  """Find Repository."""
+  repository(
+    """Name of Repository to find."""
+    name: String!
+  ): Repository
+
+  """The HTTP URL for the owner."""
+  resourcePath: URI!
+
+  """The HTTP URL for the owner."""
+  url: URI!
+}
+
+"""The access level to a repository"""
+enum RepositoryPermission {
+  """
+  Can read, clone, and push to this repository. Can also manage issues, pull
+  requests, and repository settings, including adding collaborators
+  """
+  ADMIN
+
+  """
+  Can read, clone, and push to this repository. They can also manage issues, pull requests, and some repository settings
+  """
+  MAINTAIN
+
+  """
+  Can read, clone, and push to this repository. Can also manage issues and pull requests
+  """
+  WRITE
+
+  """
+  Can read and clone this repository. Can also manage issues and pull requests
+  """
+  TRIAGE
+
+  """
+  Can read and clone this repository. Can also open and comment on issues and pull requests
+  """
+  READ
+}
+
+"""The privacy of a repository"""
+enum RepositoryPrivacy {
+  """Public"""
+  PUBLIC
+
+  """Private"""
+  PRIVATE
+}
+
+"""A repository-topic connects a repository to a topic."""
+type RepositoryTopic implements Node & UniformResourceLocatable {
+  id: ID!
+
+  """The HTTP path for this repository-topic."""
+  resourcePath: URI!
+
+  """The topic."""
+  topic: Topic!
+
+  """The HTTP URL for this repository-topic."""
+  url: URI!
+}
+
+"""The connection type for RepositoryTopic."""
+type RepositoryTopicConnection {
+  """A list of edges."""
+  edges: [RepositoryTopicEdge]
+
+  """A list of nodes."""
+  nodes: [RepositoryTopic]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type RepositoryTopicEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: RepositoryTopic
+}
+
+"""The repository's visibility level."""
+enum RepositoryVisibility {
+  """The repository is visible only to those with explicit access."""
+  PRIVATE
+
+  """The repository is visible to everyone."""
+  PUBLIC
+
+  """The repository is visible only to users in the same business."""
+  INTERNAL
+}
+
+"""Audit log entry for a repository_visibility_change.disable event."""
+type RepositoryVisibilityChangeDisableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The HTTP path for this enterprise."""
+  enterpriseResourcePath: URI
+
+  """The slug of the enterprise."""
+  enterpriseSlug: String
+
+  """The HTTP URL for this enterprise."""
+  enterpriseUrl: URI
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a repository_visibility_change.enable event."""
+type RepositoryVisibilityChangeEnableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+
+  """The HTTP path for this enterprise."""
+  enterpriseResourcePath: URI
+
+  """The slug of the enterprise."""
+  enterpriseSlug: String
+
+  """The HTTP URL for this enterprise."""
+  enterpriseUrl: URI
+  id: ID!
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""A alert for a repository with an affected vulnerability."""
+type RepositoryVulnerabilityAlert implements Node & RepositoryNode {
+  """The affected version"""
+  affectedRange: String! @deprecated(reason: "advisory specific fields are being removed from repositoryVulnerabilityAlert objects Use `securityVulnerability.vulnerableVersionRange` instead. Removal on 2019-10-01 UTC.")
+
+  """The reason the alert was dismissed"""
+  dismissReason: String
+
+  """When was the alert dimissed?"""
+  dismissedAt: DateTime
+
+  """The user who dismissed the alert"""
+  dismisser: User
+
+  """The external identifier for the vulnerability"""
+  externalIdentifier: String @deprecated(reason: "advisory specific fields are being removed from repositoryVulnerabilityAlert objects Use `securityAdvisory.identifiers` instead. Removal on 2019-10-01 UTC.")
+
+  """The external reference for the vulnerability"""
+  externalReference: String! @deprecated(reason: "advisory specific fields are being removed from repositoryVulnerabilityAlert objects Use `securityAdvisory.references` instead. Removal on 2019-10-01 UTC.")
+
+  """The fixed version"""
+  fixedIn: String @deprecated(reason: "advisory specific fields are being removed from repositoryVulnerabilityAlert objects Use `securityVulnerability.firstPatchedVersion` instead. Removal on 2019-10-01 UTC.")
+  id: ID!
+
+  """The affected package"""
+  packageName: String! @deprecated(reason: "advisory specific fields are being removed from repositoryVulnerabilityAlert objects Use `securityVulnerability.package` instead. Removal on 2019-10-01 UTC.")
+
+  """The associated repository"""
+  repository: Repository!
+
+  """The associated security advisory"""
+  securityAdvisory: SecurityAdvisory
+
+  """The associated security vulnerablity"""
+  securityVulnerability: SecurityVulnerability
+
+  """The vulnerable manifest filename"""
+  vulnerableManifestFilename: String!
+
+  """The vulnerable manifest path"""
+  vulnerableManifestPath: String!
+
+  """The vulnerable requirements"""
+  vulnerableRequirements: String
+}
+
+"""The connection type for RepositoryVulnerabilityAlert."""
+type RepositoryVulnerabilityAlertConnection {
+  """A list of edges."""
+  edges: [RepositoryVulnerabilityAlertEdge]
+
+  """A list of nodes."""
+  nodes: [RepositoryVulnerabilityAlert]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type RepositoryVulnerabilityAlertEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: RepositoryVulnerabilityAlert
+}
+
+"""Types that can be requested reviewers."""
+union RequestedReviewer = User | Team | Mannequin
+
+"""Autogenerated input type of RequestReviews"""
+input RequestReviewsInput {
+  """The Node ID of the pull request to modify."""
+  pullRequestId: ID!
+
+  """The Node IDs of the user to request."""
+  userIds: [ID!]
+
+  """The Node IDs of the team to request."""
+  teamIds: [ID!]
+
+  """Add users to the set rather than replace."""
+  union: Boolean
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of RequestReviews"""
+type RequestReviewsPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The pull request that is getting requests."""
+  pullRequest: PullRequest
+
+  """The edge from the pull request to the requested reviewers."""
+  requestedReviewersEdge: UserEdge
+}
+
+"""Autogenerated input type of ResolveReviewThread"""
+input ResolveReviewThreadInput {
+  """The ID of the thread to resolve"""
+  threadId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of ResolveReviewThread"""
+type ResolveReviewThreadPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The thread to resolve."""
+  thread: PullRequestReviewThread
+}
+
+"""Represents a private contribution a user made on GitHub."""
+type RestrictedContribution implements Contribution {
+  """
+  Whether this contribution is associated with a record you do not have access to. For
+  example, your own 'first issue' contribution may have been made on a repository you can no
+  longer access.
+  
+  """
+  isRestricted: Boolean!
+
+  """When this contribution was made."""
+  occurredAt: DateTime!
+
+  """The HTTP path for this contribution."""
+  resourcePath: URI!
+
+  """The HTTP URL for this contribution."""
+  url: URI!
+
+  """
+  The user who made this contribution.
+  
+  """
+  user: User!
+}
+
+"""
+A team or user who has the ability to dismiss a review on a protected branch.
+"""
+type ReviewDismissalAllowance implements Node {
+  """The actor that can dismiss."""
+  actor: ReviewDismissalAllowanceActor
+
+  """
+  Identifies the branch protection rule associated with the allowed user or team.
+  """
+  branchProtectionRule: BranchProtectionRule
+  id: ID!
+}
+
+"""Types that can be an actor."""
+union ReviewDismissalAllowanceActor = User | Team
+
+"""The connection type for ReviewDismissalAllowance."""
+type ReviewDismissalAllowanceConnection {
+  """A list of edges."""
+  edges: [ReviewDismissalAllowanceEdge]
+
+  """A list of nodes."""
+  nodes: [ReviewDismissalAllowance]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type ReviewDismissalAllowanceEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: ReviewDismissalAllowance
+}
+
+"""
+Represents a 'review_dismissed' event on a given issue or pull request.
+"""
+type ReviewDismissedEvent implements Node & UniformResourceLocatable {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """
+  Identifies the optional message associated with the 'review_dismissed' event.
+  """
+  dismissalMessage: String
+
+  """
+  Identifies the optional message associated with the event, rendered to HTML.
+  """
+  dismissalMessageHTML: String
+  id: ID!
+
+  """
+  Identifies the previous state of the review with the 'review_dismissed' event.
+  """
+  previousReviewState: PullRequestReviewState!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+
+  """Identifies the commit which caused the review to become stale."""
+  pullRequestCommit: PullRequestCommit
+
+  """The HTTP path for this review dismissed event."""
+  resourcePath: URI!
+
+  """Identifies the review associated with the 'review_dismissed' event."""
+  review: PullRequestReview
+
+  """The HTTP URL for this review dismissed event."""
+  url: URI!
+}
+
+"""A request for a user to review a pull request."""
+type ReviewRequest implements Node {
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+
+  """Identifies the pull request associated with this review request."""
+  pullRequest: PullRequest!
+
+  """The reviewer that is requested."""
+  requestedReviewer: RequestedReviewer
+}
+
+"""The connection type for ReviewRequest."""
+type ReviewRequestConnection {
+  """A list of edges."""
+  edges: [ReviewRequestEdge]
+
+  """A list of nodes."""
+  nodes: [ReviewRequest]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents an 'review_requested' event on a given pull request."""
+type ReviewRequestedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+
+  """Identifies the reviewer whose review was requested."""
+  requestedReviewer: RequestedReviewer
+}
+
+"""An edge in a connection."""
+type ReviewRequestEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: ReviewRequest
+}
+
+"""Represents an 'review_request_removed' event on a given pull request."""
+type ReviewRequestRemovedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """PullRequest referenced by event."""
+  pullRequest: PullRequest!
+
+  """Identifies the reviewer whose review request was removed."""
+  requestedReviewer: RequestedReviewer
+}
+
+"""
+A hovercard context with a message describing the current code review state of the pull
+request.
+
+"""
+type ReviewStatusHovercardContext implements HovercardContext {
+  """A string describing this context"""
+  message: String!
+
+  """An octicon to accompany this context"""
+  octicon: String!
+}
+
+"""
+The possible digest algorithms used to sign SAML requests for an identity provider.
+"""
+enum SamlDigestAlgorithm {
+  """SHA1"""
+  SHA1
+
+  """SHA256"""
+  SHA256
+
+  """SHA384"""
+  SHA384
+
+  """SHA512"""
+  SHA512
+}
+
+"""
+The possible signature algorithms used to sign SAML requests for a Identity Provider.
+"""
+enum SamlSignatureAlgorithm {
+  """RSA-SHA1"""
+  RSA_SHA1
+
+  """RSA-SHA256"""
+  RSA_SHA256
+
+  """RSA-SHA384"""
+  RSA_SHA384
+
+  """RSA-SHA512"""
+  RSA_SHA512
+}
+
+"""A Saved Reply is text a user can use to reply quickly."""
+type SavedReply implements Node {
+  """The body of the saved reply."""
+  body: String!
+
+  """The saved reply body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+  id: ID!
+
+  """The title of the saved reply."""
+  title: String!
+
+  """The user that saved this reply."""
+  user: Actor
+}
+
+"""The connection type for SavedReply."""
+type SavedReplyConnection {
+  """A list of edges."""
+  edges: [SavedReplyEdge]
+
+  """A list of nodes."""
+  nodes: [SavedReply]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type SavedReplyEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: SavedReply
+}
+
+"""Ordering options for saved reply connections."""
+input SavedReplyOrder {
+  """The field to order saved replies by."""
+  field: SavedReplyOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which saved reply connections can be ordered."""
+enum SavedReplyOrderField {
+  """Order saved reply by when they were updated."""
+  UPDATED_AT
+}
+
+"""The results of a search."""
+union SearchResultItem = Issue | PullRequest | Repository | User | Organization | MarketplaceListing | App
+
+"""A list of results that matched against a search query."""
+type SearchResultItemConnection {
+  """The number of pieces of code that matched the search query."""
+  codeCount: Int!
+
+  """A list of edges."""
+  edges: [SearchResultItemEdge]
+
+  """The number of issues that matched the search query."""
+  issueCount: Int!
+
+  """A list of nodes."""
+  nodes: [SearchResultItem]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """The number of repositories that matched the search query."""
+  repositoryCount: Int!
+
+  """The number of users that matched the search query."""
+  userCount: Int!
+
+  """The number of wiki pages that matched the search query."""
+  wikiCount: Int!
+}
+
+"""An edge in a connection."""
+type SearchResultItemEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: SearchResultItem
+
+  """Text matches on the result found."""
+  textMatches: [TextMatch]
+}
+
+"""Represents the individual results of a search."""
+enum SearchType {
+  """Returns results matching issues in repositories."""
+  ISSUE
+
+  """Returns results matching repositories."""
+  REPOSITORY
+
+  """Returns results matching users and organizations on GitHub."""
+  USER
+}
+
+"""A GitHub Security Advisory"""
+type SecurityAdvisory implements Node {
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """This is a long plaintext description of the advisory"""
+  description: String!
+
+  """The GitHub Security Advisory ID"""
+  ghsaId: String!
+  id: ID!
+
+  """A list of identifiers for this advisory"""
+  identifiers: [SecurityAdvisoryIdentifier!]!
+
+  """The organization that originated the advisory"""
+  origin: String!
+
+  """When the advisory was published"""
+  publishedAt: DateTime!
+
+  """A list of references for this advisory"""
+  references: [SecurityAdvisoryReference!]!
+
+  """The severity of the advisory"""
+  severity: SecurityAdvisorySeverity!
+
+  """A short plaintext summary of the advisory"""
+  summary: String!
+
+  """When the advisory was last updated"""
+  updatedAt: DateTime!
+
+  """Vulnerabilities associated with this Advisory"""
+  vulnerabilities(
+    """Ordering options for the returned topics."""
+    orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC}
+
+    """An ecosystem to filter vulnerabilities by."""
+    ecosystem: SecurityAdvisoryEcosystem
+
+    """A package name to filter vulnerabilities by."""
+    package: String
+
+    """A list of severities to filter vulnerabilities by."""
+    severities: [SecurityAdvisorySeverity!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): SecurityVulnerabilityConnection!
+
+  """When the advisory was withdrawn, if it has been withdrawn"""
+  withdrawnAt: DateTime
+}
+
+"""The connection type for SecurityAdvisory."""
+type SecurityAdvisoryConnection {
+  """A list of edges."""
+  edges: [SecurityAdvisoryEdge]
+
+  """A list of nodes."""
+  nodes: [SecurityAdvisory]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""The possible ecosystems of a security vulnerability's package."""
+enum SecurityAdvisoryEcosystem {
+  """Ruby gems hosted at RubyGems.org"""
+  RUBYGEMS
+
+  """JavaScript packages hosted at npmjs.com"""
+  NPM
+
+  """Python packages hosted at PyPI.org"""
+  PIP
+
+  """Java artifacts hosted at the Maven central repository"""
+  MAVEN
+
+  """.NET packages hosted at the NuGet Gallery"""
+  NUGET
+
+  """PHP packages hosted at packagist.org"""
+  COMPOSER
+}
+
+"""An edge in a connection."""
+type SecurityAdvisoryEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: SecurityAdvisory
+}
+
+"""A GitHub Security Advisory Identifier"""
+type SecurityAdvisoryIdentifier {
+  """The identifier type, e.g. GHSA, CVE"""
+  type: String!
+
+  """The identifier"""
+  value: String!
+}
+
+"""An advisory identifier to filter results on."""
+input SecurityAdvisoryIdentifierFilter {
+  """The identifier type."""
+  type: SecurityAdvisoryIdentifierType!
+
+  """The identifier string. Supports exact or partial matching."""
+  value: String!
+}
+
+"""Identifier formats available for advisories."""
+enum SecurityAdvisoryIdentifierType {
+  """Common Vulnerabilities and Exposures Identifier."""
+  CVE
+
+  """GitHub Security Advisory ID."""
+  GHSA
+}
+
+"""Ordering options for security advisory connections"""
+input SecurityAdvisoryOrder {
+  """The field to order security advisories by."""
+  field: SecurityAdvisoryOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which security advisory connections can be ordered."""
+enum SecurityAdvisoryOrderField {
+  """Order advisories by publication time"""
+  PUBLISHED_AT
+
+  """Order advisories by update time"""
+  UPDATED_AT
+}
+
+"""An individual package"""
+type SecurityAdvisoryPackage {
+  """The ecosystem the package belongs to, e.g. RUBYGEMS, NPM"""
+  ecosystem: SecurityAdvisoryEcosystem!
+
+  """The package name"""
+  name: String!
+}
+
+"""An individual package version"""
+type SecurityAdvisoryPackageVersion {
+  """The package name or version"""
+  identifier: String!
+}
+
+"""A GitHub Security Advisory Reference"""
+type SecurityAdvisoryReference {
+  """A publicly accessible reference"""
+  url: URI!
+}
+
+"""Severity of the vulnerability."""
+enum SecurityAdvisorySeverity {
+  """Low."""
+  LOW
+
+  """Moderate."""
+  MODERATE
+
+  """High."""
+  HIGH
+
+  """Critical."""
+  CRITICAL
+}
+
+"""An individual vulnerability within an Advisory"""
+type SecurityVulnerability {
+  """The Advisory associated with this Vulnerability"""
+  advisory: SecurityAdvisory!
+
+  """The first version containing a fix for the vulnerability"""
+  firstPatchedVersion: SecurityAdvisoryPackageVersion
+
+  """A description of the vulnerable package"""
+  package: SecurityAdvisoryPackage!
+
+  """The severity of the vulnerability within this package"""
+  severity: SecurityAdvisorySeverity!
+
+  """When the vulnerability was last updated"""
+  updatedAt: DateTime!
+
+  """
+  A string that describes the vulnerable package versions.
+  This string follows a basic syntax with a few forms.
+  + `= 0.2.0` denotes a single vulnerable version.
+  + `<= 1.0.8` denotes a version range up to and including the specified version
+  + `< 0.1.11` denotes a version range up to, but excluding, the specified version
+  + `>= 4.3.0, < 4.3.5` denotes a version range with a known minimum and maximum version.
+  + `>= 0.0.1` denotes a version range with a known minimum, but no known maximum
+  
+  """
+  vulnerableVersionRange: String!
+}
+
+"""The connection type for SecurityVulnerability."""
+type SecurityVulnerabilityConnection {
+  """A list of edges."""
+  edges: [SecurityVulnerabilityEdge]
+
+  """A list of nodes."""
+  nodes: [SecurityVulnerability]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type SecurityVulnerabilityEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: SecurityVulnerability
+}
+
+"""Ordering options for security vulnerability connections"""
+input SecurityVulnerabilityOrder {
+  """The field to order security vulnerabilities by."""
+  field: SecurityVulnerabilityOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which security vulnerability connections can be ordered."""
+enum SecurityVulnerabilityOrderField {
+  """Order vulnerability by update time"""
+  UPDATED_AT
+}
+
+"""Represents an S/MIME signature on a Commit or Tag."""
+type SmimeSignature implements GitSignature {
+  """Email used to sign this object."""
+  email: String!
+
+  """True if the signature is valid and verified by GitHub."""
+  isValid: Boolean!
+
+  """
+  Payload for GPG signing object. Raw ODB object without the signature header.
+  """
+  payload: String!
+
+  """ASCII-armored signature header from object."""
+  signature: String!
+
+  """GitHub user corresponding to the email signing this commit."""
+  signer: User
+
+  """
+  The state of this signature. `VALID` if signature is valid and verified by
+  GitHub, otherwise represents reason why signature is considered invalid.
+  """
+  state: GitSignatureState!
+
+  """True if the signature was made with GitHub's signing key."""
+  wasSignedByGitHub: Boolean!
+}
+
+"""Entities that can be sponsored through GitHub Sponsors"""
+interface Sponsorable {
+  """This object's sponsorships as the maintainer."""
+  sponsorshipsAsMaintainer(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Whether or not to include private sponsorships in the result set"""
+    includePrivate: Boolean = false
+
+    """
+    Ordering options for sponsorships returned from this connection. If left
+    blank, the sponsorships will be ordered based on relevancy to the viewer.
+    """
+    orderBy: SponsorshipOrder
+  ): SponsorshipConnection!
+
+  """This object's sponsorships as the sponsor."""
+  sponsorshipsAsSponsor(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    Ordering options for sponsorships returned from this connection. If left
+    blank, the sponsorships will be ordered based on relevancy to the viewer.
+    """
+    orderBy: SponsorshipOrder
+  ): SponsorshipConnection!
+}
+
+"""A sponsorship relationship between a sponsor and a maintainer"""
+type Sponsorship implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """The entity that is being sponsored"""
+  maintainer: User!
+
+  """The privacy level for this sponsorship."""
+  privacyLevel: SponsorshipPrivacy!
+
+  """
+  The entity that is sponsoring. Returns null if the sponsorship is private
+  """
+  sponsor: User
+}
+
+"""The connection type for Sponsorship."""
+type SponsorshipConnection {
+  """A list of edges."""
+  edges: [SponsorshipEdge]
+
+  """A list of nodes."""
+  nodes: [Sponsorship]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type SponsorshipEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Sponsorship
+}
+
+"""Ordering options for sponsorship connections."""
+input SponsorshipOrder {
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""The privacy of a sponsorship"""
+enum SponsorshipPrivacy {
+  """Public"""
+  PUBLIC
+
+  """Private"""
+  PRIVATE
+}
+
+"""A GitHub Sponsors listing."""
+type SponsorsListing implements Node {
+  """The full description of the listing."""
+  fullDescription: String!
+
+  """The full description of the listing rendered to HTML."""
+  fullDescriptionHTML: HTML!
+  id: ID!
+
+  """The listing's full name."""
+  name: String!
+
+  """The short description of the listing."""
+  shortDescription: String!
+
+  """The short name of the listing."""
+  slug: String!
+}
+
+"""The connection type for User."""
+type StargazerConnection {
+  """A list of edges."""
+  edges: [StargazerEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents a user that's starred a repository."""
+type StargazerEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+  node: User!
+
+  """Identifies when the item was starred."""
+  starredAt: DateTime!
+}
+
+"""Ways in which star connections can be ordered."""
+input StarOrder {
+  """The field in which to order nodes by."""
+  field: StarOrderField!
+
+  """The direction in which to order nodes."""
+  direction: OrderDirection!
+}
+
+"""Properties by which star connections can be ordered."""
+enum StarOrderField {
+  """Allows ordering a list of stars by when they were created."""
+  STARRED_AT
+}
+
+"""Things that can be starred."""
+interface Starrable {
+  id: ID!
+
+  """A list of users who have starred this starrable."""
+  stargazers(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Order for connection"""
+    orderBy: StarOrder
+  ): StargazerConnection!
+
+  """
+  Returns a boolean indicating whether the viewing user has starred this starrable.
+  """
+  viewerHasStarred: Boolean!
+}
+
+"""The connection type for Repository."""
+type StarredRepositoryConnection {
+  """A list of edges."""
+  edges: [StarredRepositoryEdge]
+
+  """A list of nodes."""
+  nodes: [Repository]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents a starred repository."""
+type StarredRepositoryEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+  node: Repository!
+
+  """Identifies when the item was starred."""
+  starredAt: DateTime!
+}
+
+"""Represents a commit status."""
+type Status implements Node {
+  """The commit this status is attached to."""
+  commit: Commit
+
+  """Looks up an individual status context by context name."""
+  context(
+    """The context name."""
+    name: String!
+  ): StatusContext
+
+  """The individual status contexts for this commit."""
+  contexts: [StatusContext!]!
+  id: ID!
+
+  """The combined commit status."""
+  state: StatusState!
+}
+
+"""Represents an individual commit status context"""
+type StatusContext implements Node {
+  """
+  The avatar of the OAuth application or the user that created the status
+  """
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int = 40
+  ): URI
+
+  """This commit this status context is attached to."""
+  commit: Commit
+
+  """The name of this status context."""
+  context: String!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The actor who created this status context."""
+  creator: Actor
+
+  """The description for this status context."""
+  description: String
+  id: ID!
+
+  """The state of this status context."""
+  state: StatusState!
+
+  """The URL for this status context."""
+  targetUrl: URI
+}
+
+"""The possible commit status states."""
+enum StatusState {
+  """Status is expected."""
+  EXPECTED
+
+  """Status is errored."""
+  ERROR
+
+  """Status is failing."""
+  FAILURE
+
+  """Status is pending."""
+  PENDING
+
+  """Status is successful."""
+  SUCCESS
+}
+
+"""Autogenerated input type of SubmitPullRequestReview"""
+input SubmitPullRequestReviewInput {
+  """The Pull Request Review ID to submit."""
+  pullRequestReviewId: ID!
+
+  """The event to send to the Pull Request Review."""
+  event: PullRequestReviewEvent!
+
+  """The text field to set on the Pull Request Review."""
+  body: String
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of SubmitPullRequestReview"""
+type SubmitPullRequestReviewPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The submitted pull request review."""
+  pullRequestReview: PullRequestReview
+}
+
+"""Entities that can be subscribed to for web and email notifications."""
+interface Subscribable {
+  id: ID!
+
+  """
+  Check if the viewer is able to change their subscription status for the repository.
+  """
+  viewerCanSubscribe: Boolean!
+
+  """
+  Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
+  """
+  viewerSubscription: SubscriptionState
+}
+
+"""Represents a 'subscribed' event on a given `Subscribable`."""
+type SubscribedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Object referenced by event."""
+  subscribable: Subscribable!
+}
+
+"""The possible states of a subscription."""
+enum SubscriptionState {
+  """The User is only notified when participating or @mentioned."""
+  UNSUBSCRIBED
+
+  """The User is notified of all conversations."""
+  SUBSCRIBED
+
+  """The User is never notified."""
+  IGNORED
+}
+
+"""
+A suggestion to review a pull request based on a user's commit history and review comments.
+"""
+type SuggestedReviewer {
+  """Is this suggestion based on past commits?"""
+  isAuthor: Boolean!
+
+  """Is this suggestion based on past review comments?"""
+  isCommenter: Boolean!
+
+  """Identifies the user suggested to review the pull request."""
+  reviewer: User!
+}
+
+"""Represents a Git tag."""
+type Tag implements Node & GitObject {
+  """An abbreviated version of the Git object ID"""
+  abbreviatedOid: String!
+
+  """The HTTP path for this Git object"""
+  commitResourcePath: URI!
+
+  """The HTTP URL for this Git object"""
+  commitUrl: URI!
+  id: ID!
+
+  """The Git tag message."""
+  message: String
+
+  """The Git tag name."""
+  name: String!
+
+  """The Git object ID"""
+  oid: GitObjectID!
+
+  """The Repository the Git object belongs to"""
+  repository: Repository!
+
+  """Details about the tag author."""
+  tagger: GitActor
+
+  """The Git object the tag points to."""
+  target: GitObject!
+}
+
+"""A team of users in an organization."""
+type Team implements Node & Subscribable & MemberStatusable {
+  """A list of teams that are ancestors of this team."""
+  ancestors(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): TeamConnection!
+
+  """A URL pointing to the team's avatar."""
+  avatarUrl(
+    """The size in pixels of the resulting square image."""
+    size: Int = 400
+  ): URI
+
+  """List of child teams belonging to this team"""
+  childTeams(
+    """Order for connection"""
+    orderBy: TeamOrder
+
+    """User logins to filter by"""
+    userLogins: [String!]
+
+    """Whether to list immediate child teams or all descendant child teams."""
+    immediateOnly: Boolean = true
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): TeamConnection!
+
+  """The slug corresponding to the organization and team."""
+  combinedSlug: String!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The description of the team."""
+  description: String
+
+  """Find a team discussion by its number."""
+  discussion(
+    """The sequence number of the discussion to find."""
+    number: Int!
+  ): TeamDiscussion
+
+  """A list of team discussions."""
+  discussions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    If provided, filters discussions according to whether or not they are pinned.
+    """
+    isPinned: Boolean
+
+    """Order for connection"""
+    orderBy: TeamDiscussionOrder
+  ): TeamDiscussionConnection!
+
+  """The HTTP path for team discussions"""
+  discussionsResourcePath: URI!
+
+  """The HTTP URL for team discussions"""
+  discussionsUrl: URI!
+
+  """The HTTP path for editing this team"""
+  editTeamResourcePath: URI!
+
+  """The HTTP URL for editing this team"""
+  editTeamUrl: URI!
+  id: ID!
+
+  """A list of pending invitations for users to this team"""
+  invitations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): OrganizationInvitationConnection
+
+  """
+  Get the status messages members of this entity have set that are either public or visible only to the organization.
+  """
+  memberStatuses(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for user statuses returned from the connection."""
+    orderBy: UserStatusOrder = {field: UPDATED_AT, direction: DESC}
+  ): UserStatusConnection!
+
+  """A list of users who are members of this team."""
+  members(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The search string to look for."""
+    query: String
+
+    """Filter by membership type"""
+    membership: TeamMembershipType = ALL
+
+    """Filter by team member role"""
+    role: TeamMemberRole
+
+    """Order for the connection."""
+    orderBy: TeamMemberOrder
+  ): TeamMemberConnection!
+
+  """The HTTP path for the team' members"""
+  membersResourcePath: URI!
+
+  """The HTTP URL for the team' members"""
+  membersUrl: URI!
+
+  """The name of the team."""
+  name: String!
+
+  """The HTTP path creating a new team"""
+  newTeamResourcePath: URI!
+
+  """The HTTP URL creating a new team"""
+  newTeamUrl: URI!
+
+  """The organization that owns this team."""
+  organization: Organization!
+
+  """The parent team of the team."""
+  parentTeam: Team
+
+  """The level of privacy the team has."""
+  privacy: TeamPrivacy!
+
+  """A list of repositories this team has access to."""
+  repositories(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The search string to look for."""
+    query: String
+
+    """Order for the connection."""
+    orderBy: TeamRepositoryOrder
+  ): TeamRepositoryConnection!
+
+  """The HTTP path for this team's repositories"""
+  repositoriesResourcePath: URI!
+
+  """The HTTP URL for this team's repositories"""
+  repositoriesUrl: URI!
+
+  """The HTTP path for this team"""
+  resourcePath: URI!
+
+  """The slug corresponding to the team."""
+  slug: String!
+
+  """The HTTP path for this team's teams"""
+  teamsResourcePath: URI!
+
+  """The HTTP URL for this team's teams"""
+  teamsUrl: URI!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this team"""
+  url: URI!
+
+  """Team is adminable by the viewer."""
+  viewerCanAdminister: Boolean!
+
+  """
+  Check if the viewer is able to change their subscription status for the repository.
+  """
+  viewerCanSubscribe: Boolean!
+
+  """
+  Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
+  """
+  viewerSubscription: SubscriptionState
+}
+
+"""Audit log entry for a team.add_member event."""
+type TeamAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & TeamAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """Whether the team was mapped to an LDAP Group."""
+  isLdapMapped: Boolean
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The team associated with the action"""
+  team: Team
+
+  """The name of the team"""
+  teamName: String
+
+  """The HTTP path for this team"""
+  teamResourcePath: URI
+
+  """The HTTP URL for this team"""
+  teamUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a team.add_repository event."""
+type TeamAddRepositoryAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData & TeamAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """Whether the team was mapped to an LDAP Group."""
+  isLdapMapped: Boolean
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The team associated with the action"""
+  team: Team
+
+  """The name of the team"""
+  teamName: String
+
+  """The HTTP path for this team"""
+  teamResourcePath: URI
+
+  """The HTTP URL for this team"""
+  teamUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Metadata for an audit entry with action team.*"""
+interface TeamAuditEntryData {
+  """The team associated with the action"""
+  team: Team
+
+  """The name of the team"""
+  teamName: String
+
+  """The HTTP path for this team"""
+  teamResourcePath: URI
+
+  """The HTTP URL for this team"""
+  teamUrl: URI
+}
+
+"""Audit log entry for a team.change_parent_team event."""
+type TeamChangeParentTeamAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & TeamAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """Whether the team was mapped to an LDAP Group."""
+  isLdapMapped: Boolean
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The new parent team."""
+  parentTeam: Team
+
+  """The name of the new parent team"""
+  parentTeamName: String
+
+  """The name of the former parent team"""
+  parentTeamNameWas: String
+
+  """The HTTP path for the parent team"""
+  parentTeamResourcePath: URI
+
+  """The HTTP URL for the parent team"""
+  parentTeamUrl: URI
+
+  """The former parent team."""
+  parentTeamWas: Team
+
+  """The HTTP path for the previous parent team"""
+  parentTeamWasResourcePath: URI
+
+  """The HTTP URL for the previous parent team"""
+  parentTeamWasUrl: URI
+
+  """The team associated with the action"""
+  team: Team
+
+  """The name of the team"""
+  teamName: String
+
+  """The HTTP path for this team"""
+  teamResourcePath: URI
+
+  """The HTTP URL for this team"""
+  teamUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The connection type for Team."""
+type TeamConnection {
+  """A list of edges."""
+  edges: [TeamEdge]
+
+  """A list of nodes."""
+  nodes: [Team]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""A team discussion."""
+type TeamDiscussion implements Node & Comment & Deletable & Reactable & Subscribable & UniformResourceLocatable & Updatable & UpdatableComment {
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the discussion's team."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """The body as Markdown."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """The body rendered to text."""
+  bodyText: String!
+
+  """Identifies the discussion body hash."""
+  bodyVersion: String!
+
+  """A list of comments on this discussion."""
+  comments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Order for connection"""
+    orderBy: TeamDiscussionCommentOrder
+
+    """
+    When provided, filters the connection such that results begin with the comment with this number.
+    """
+    fromComment: Int
+  ): TeamDiscussionCommentConnection!
+
+  """The HTTP path for discussion comments"""
+  commentsResourcePath: URI!
+
+  """The HTTP URL for discussion comments"""
+  commentsUrl: URI!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The actor who edited the comment."""
+  editor: Actor
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """Whether or not the discussion is pinned."""
+  isPinned: Boolean!
+
+  """
+  Whether or not the discussion is only visible to team members and org admins.
+  """
+  isPrivate: Boolean!
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """Identifies the discussion within its team."""
+  number: Int!
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """A list of reactions grouped by content left on the subject."""
+  reactionGroups: [ReactionGroup!]
+
+  """A list of Reactions left on the Issue."""
+  reactions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Allows filtering Reactions by emoji."""
+    content: ReactionContent
+
+    """Allows specifying the order in which reactions are returned."""
+    orderBy: ReactionOrder
+  ): ReactionConnection!
+
+  """The HTTP path for this discussion"""
+  resourcePath: URI!
+
+  """The team that defines the context of this discussion."""
+  team: Team!
+
+  """The title of the discussion"""
+  title: String!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this discussion"""
+  url: URI!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Check if the current viewer can delete this object."""
+  viewerCanDelete: Boolean!
+
+  """Whether or not the current viewer can pin this discussion."""
+  viewerCanPin: Boolean!
+
+  """Can user react to this subject"""
+  viewerCanReact: Boolean!
+
+  """
+  Check if the viewer is able to change their subscription status for the repository.
+  """
+  viewerCanSubscribe: Boolean!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+
+  """
+  Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
+  """
+  viewerSubscription: SubscriptionState
+}
+
+"""A comment on a team discussion."""
+type TeamDiscussionComment implements Node & Comment & Deletable & Reactable & UniformResourceLocatable & Updatable & UpdatableComment {
+  """The actor who authored the comment."""
+  author: Actor
+
+  """Author's association with the comment's team."""
+  authorAssociation: CommentAuthorAssociation!
+
+  """The body as Markdown."""
+  body: String!
+
+  """The body rendered to HTML."""
+  bodyHTML: HTML!
+
+  """The body rendered to text."""
+  bodyText: String!
+
+  """The current version of the body content."""
+  bodyVersion: String!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Check if this comment was created via an email reply."""
+  createdViaEmail: Boolean!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The discussion this comment is about."""
+  discussion: TeamDiscussion!
+
+  """The actor who edited the comment."""
+  editor: Actor
+  id: ID!
+
+  """
+  Check if this comment was edited and includes an edit with the creation data
+  """
+  includesCreatedEdit: Boolean!
+
+  """The moment the editor made the last edit"""
+  lastEditedAt: DateTime
+
+  """Identifies the comment number."""
+  number: Int!
+
+  """Identifies when the comment was published at."""
+  publishedAt: DateTime
+
+  """A list of reactions grouped by content left on the subject."""
+  reactionGroups: [ReactionGroup!]
+
+  """A list of Reactions left on the Issue."""
+  reactions(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Allows filtering Reactions by emoji."""
+    content: ReactionContent
+
+    """Allows specifying the order in which reactions are returned."""
+    orderBy: ReactionOrder
+  ): ReactionConnection!
+
+  """The HTTP path for this comment"""
+  resourcePath: URI!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this comment"""
+  url: URI!
+
+  """A list of edits to this content."""
+  userContentEdits(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): UserContentEditConnection
+
+  """Check if the current viewer can delete this object."""
+  viewerCanDelete: Boolean!
+
+  """Can user react to this subject"""
+  viewerCanReact: Boolean!
+
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+
+  """Did the viewer author this comment."""
+  viewerDidAuthor: Boolean!
+}
+
+"""The connection type for TeamDiscussionComment."""
+type TeamDiscussionCommentConnection {
+  """A list of edges."""
+  edges: [TeamDiscussionCommentEdge]
+
+  """A list of nodes."""
+  nodes: [TeamDiscussionComment]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type TeamDiscussionCommentEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: TeamDiscussionComment
+}
+
+"""Ways in which team discussion comment connections can be ordered."""
+input TeamDiscussionCommentOrder {
+  """The field by which to order nodes."""
+  field: TeamDiscussionCommentOrderField!
+
+  """The direction in which to order nodes."""
+  direction: OrderDirection!
+}
+
+"""
+Properties by which team discussion comment connections can be ordered.
+"""
+enum TeamDiscussionCommentOrderField {
+  """
+  Allows sequential ordering of team discussion comments (which is equivalent to chronological ordering).
+  """
+  NUMBER
+}
+
+"""The connection type for TeamDiscussion."""
+type TeamDiscussionConnection {
+  """A list of edges."""
+  edges: [TeamDiscussionEdge]
+
+  """A list of nodes."""
+  nodes: [TeamDiscussion]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type TeamDiscussionEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: TeamDiscussion
+}
+
+"""Ways in which team discussion connections can be ordered."""
+input TeamDiscussionOrder {
+  """The field by which to order nodes."""
+  field: TeamDiscussionOrderField!
+
+  """The direction in which to order nodes."""
+  direction: OrderDirection!
+}
+
+"""Properties by which team discussion connections can be ordered."""
+enum TeamDiscussionOrderField {
+  """Allows chronological ordering of team discussions."""
+  CREATED_AT
+}
+
+"""An edge in a connection."""
+type TeamEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Team
+}
+
+"""The connection type for User."""
+type TeamMemberConnection {
+  """A list of edges."""
+  edges: [TeamMemberEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents a user who is a member of a team."""
+type TeamMemberEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The HTTP path to the organization's member access page."""
+  memberAccessResourcePath: URI!
+
+  """The HTTP URL to the organization's member access page."""
+  memberAccessUrl: URI!
+  node: User!
+
+  """The role the member has on the team."""
+  role: TeamMemberRole!
+}
+
+"""Ordering options for team member connections"""
+input TeamMemberOrder {
+  """The field to order team members by."""
+  field: TeamMemberOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which team member connections can be ordered."""
+enum TeamMemberOrderField {
+  """Order team members by login"""
+  LOGIN
+
+  """Order team members by creation time"""
+  CREATED_AT
+}
+
+"""The possible team member roles; either 'maintainer' or 'member'."""
+enum TeamMemberRole {
+  """A team maintainer has permission to add and remove team members."""
+  MAINTAINER
+
+  """A team member has no administrative permissions on the team."""
+  MEMBER
+}
+
+"""
+Defines which types of team members are included in the returned list. Can be one of IMMEDIATE, CHILD_TEAM or ALL.
+"""
+enum TeamMembershipType {
+  """Includes only immediate members of the team."""
+  IMMEDIATE
+
+  """Includes only child team members for the team."""
+  CHILD_TEAM
+
+  """Includes immediate and child team members for the team."""
+  ALL
+}
+
+"""Ways in which team connections can be ordered."""
+input TeamOrder {
+  """The field in which to order nodes by."""
+  field: TeamOrderField!
+
+  """The direction in which to order nodes."""
+  direction: OrderDirection!
+}
+
+"""Properties by which team connections can be ordered."""
+enum TeamOrderField {
+  """Allows ordering a list of teams by name."""
+  NAME
+}
+
+"""The possible team privacy values."""
+enum TeamPrivacy {
+  """A secret team can only be seen by its members."""
+  SECRET
+
+  """
+  A visible team can be seen and @mentioned by every member of the organization.
+  """
+  VISIBLE
+}
+
+"""Audit log entry for a team.remove_member event."""
+type TeamRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & TeamAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """Whether the team was mapped to an LDAP Group."""
+  isLdapMapped: Boolean
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The team associated with the action"""
+  team: Team
+
+  """The name of the team"""
+  teamName: String
+
+  """The HTTP path for this team"""
+  teamResourcePath: URI
+
+  """The HTTP URL for this team"""
+  teamUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""Audit log entry for a team.remove_repository event."""
+type TeamRemoveRepositoryAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData & TeamAuditEntryData {
+  """The action name"""
+  action: String!
+
+  """The user who initiated the action"""
+  actor: AuditEntryActor
+
+  """The IP address of the actor"""
+  actorIp: String
+
+  """A readable representation of the actor's location"""
+  actorLocation: ActorLocation
+
+  """The username of the user who initiated the action"""
+  actorLogin: String
+
+  """The HTTP path for the actor."""
+  actorResourcePath: URI
+
+  """The HTTP URL for the actor."""
+  actorUrl: URI
+
+  """The time the action was initiated"""
+  createdAt: PreciseDateTime!
+  id: ID!
+
+  """Whether the team was mapped to an LDAP Group."""
+  isLdapMapped: Boolean
+
+  """The corresponding operation type for the action"""
+  operationType: OperationType
+
+  """The Organization associated with the Audit Entry."""
+  organization: Organization
+
+  """The name of the Organization."""
+  organizationName: String
+
+  """The HTTP path for the organization"""
+  organizationResourcePath: URI
+
+  """The HTTP URL for the organization"""
+  organizationUrl: URI
+
+  """The repository associated with the action"""
+  repository: Repository
+
+  """The name of the repository"""
+  repositoryName: String
+
+  """The HTTP path for the repository"""
+  repositoryResourcePath: URI
+
+  """The HTTP URL for the repository"""
+  repositoryUrl: URI
+
+  """The team associated with the action"""
+  team: Team
+
+  """The name of the team"""
+  teamName: String
+
+  """The HTTP path for this team"""
+  teamResourcePath: URI
+
+  """The HTTP URL for this team"""
+  teamUrl: URI
+
+  """The user affected by the action"""
+  user: User
+
+  """
+  For actions involving two users, the actor is the initiator and the user is the affected user.
+  """
+  userLogin: String
+
+  """The HTTP path for the user."""
+  userResourcePath: URI
+
+  """The HTTP URL for the user."""
+  userUrl: URI
+}
+
+"""The connection type for Repository."""
+type TeamRepositoryConnection {
+  """A list of edges."""
+  edges: [TeamRepositoryEdge]
+
+  """A list of nodes."""
+  nodes: [Repository]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""Represents a team repository."""
+type TeamRepositoryEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+  node: Repository!
+
+  """The permission level the team has on the repository"""
+  permission: RepositoryPermission!
+}
+
+"""Ordering options for team repository connections"""
+input TeamRepositoryOrder {
+  """The field to order repositories by."""
+  field: TeamRepositoryOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which team repository connections can be ordered."""
+enum TeamRepositoryOrderField {
+  """Order repositories by creation time"""
+  CREATED_AT
+
+  """Order repositories by update time"""
+  UPDATED_AT
+
+  """Order repositories by push time"""
+  PUSHED_AT
+
+  """Order repositories by name"""
+  NAME
+
+  """Order repositories by permission"""
+  PERMISSION
+
+  """Order repositories by number of stargazers"""
+  STARGAZERS
+}
+
+"""The role of a user on a team."""
+enum TeamRole {
+  """User has admin rights on the team."""
+  ADMIN
+
+  """User is a member of the team."""
+  MEMBER
+}
+
+"""A text match within a search result."""
+type TextMatch {
+  """The specific text fragment within the property matched on."""
+  fragment: String!
+
+  """Highlights within the matched fragment."""
+  highlights: [TextMatchHighlight!]!
+
+  """The property matched on."""
+  property: String!
+}
+
+"""Represents a single highlight in a search result match."""
+type TextMatchHighlight {
+  """The indice in the fragment where the matched text begins."""
+  beginIndice: Int!
+
+  """The indice in the fragment where the matched text ends."""
+  endIndice: Int!
+
+  """The text matched."""
+  text: String!
+}
+
+"""A topic aggregates entities that are related to a subject."""
+type Topic implements Node & Starrable {
+  id: ID!
+
+  """The topic's name."""
+  name: String!
+
+  """
+  A list of related topics, including aliases of this topic, sorted with the most relevant
+  first. Returns up to 10 Topics.
+  
+  """
+  relatedTopics(
+    """How many topics to return."""
+    first: Int = 3
+  ): [Topic!]!
+
+  """A list of users who have starred this starrable."""
+  stargazers(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Order for connection"""
+    orderBy: StarOrder
+  ): StargazerConnection!
+
+  """
+  Returns a boolean indicating whether the viewing user has starred this starrable.
+  """
+  viewerHasStarred: Boolean!
+}
+
+"""Metadata for an audit entry with a topic."""
+interface TopicAuditEntryData {
+  """The name of the topic added to the repository"""
+  topic: Topic
+
+  """The name of the topic added to the repository"""
+  topicName: String
+}
+
+"""The connection type for Topic."""
+type TopicConnection {
+  """A list of edges."""
+  edges: [TopicEdge]
+
+  """A list of nodes."""
+  nodes: [Topic]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type TopicEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: Topic
+}
+
+"""Reason that the suggested topic is declined."""
+enum TopicSuggestionDeclineReason {
+  """The suggested topic is not relevant to the repository."""
+  NOT_RELEVANT
+
+  """
+  The suggested topic is too specific for the repository (e.g. #ruby-on-rails-version-4-2-1).
+  """
+  TOO_SPECIFIC
+
+  """The viewer does not like the suggested topic."""
+  PERSONAL_PREFERENCE
+
+  """The suggested topic is too general for the repository."""
+  TOO_GENERAL
+}
+
+"""Autogenerated input type of TransferIssue"""
+input TransferIssueInput {
+  """The Node ID of the issue to be transferred"""
+  issueId: ID!
+
+  """The Node ID of the repository the issue should be transferred to"""
+  repositoryId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of TransferIssue"""
+type TransferIssuePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The issue that was transferred"""
+  issue: Issue
+}
+
+"""Represents a 'transferred' event on a given issue or pull request."""
+type TransferredEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """The repository this came from"""
+  fromRepository: Repository
+  id: ID!
+
+  """Identifies the issue associated with the event."""
+  issue: Issue!
+}
+
+"""Represents a Git tree."""
+type Tree implements Node & GitObject {
+  """An abbreviated version of the Git object ID"""
+  abbreviatedOid: String!
+
+  """The HTTP path for this Git object"""
+  commitResourcePath: URI!
+
+  """The HTTP URL for this Git object"""
+  commitUrl: URI!
+
+  """A list of tree entries."""
+  entries: [TreeEntry!]
+  id: ID!
+
+  """The Git object ID"""
+  oid: GitObjectID!
+
+  """The Repository the Git object belongs to"""
+  repository: Repository!
+}
+
+"""Represents a Git tree entry."""
+type TreeEntry {
+  """Entry file mode."""
+  mode: Int!
+
+  """Entry file name."""
+  name: String!
+
+  """Entry file object."""
+  object: GitObject
+
+  """Entry file Git object ID."""
+  oid: GitObjectID!
+
+  """The Repository the tree entry belongs to"""
+  repository: Repository!
+
+  """Entry file type."""
+  type: String!
+}
+
+"""Represents an 'unassigned' event on any assignable object."""
+type UnassignedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the assignable associated with the event."""
+  assignable: Assignable!
+
+  """Identifies the user or mannequin that was unassigned."""
+  assignee: Assignee
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Identifies the subject (user) who was unassigned."""
+  user: User @deprecated(reason: "Assignees can now be mannequins. Use the `assignee` field instead. Removal on 2020-01-01 UTC.")
+}
+
+"""Autogenerated input type of UnfollowUser"""
+input UnfollowUserInput {
+  """ID of the user to unfollow."""
+  userId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UnfollowUser"""
+type UnfollowUserPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The user that was unfollowed."""
+  user: User
+}
+
+"""Represents a type that can be retrieved by a URL."""
+interface UniformResourceLocatable {
+  """The HTML path to this resource."""
+  resourcePath: URI!
+
+  """The URL to this resource."""
+  url: URI!
+}
+
+"""Represents an unknown signature on a Commit or Tag."""
+type UnknownSignature implements GitSignature {
+  """Email used to sign this object."""
+  email: String!
+
+  """True if the signature is valid and verified by GitHub."""
+  isValid: Boolean!
+
+  """
+  Payload for GPG signing object. Raw ODB object without the signature header.
+  """
+  payload: String!
+
+  """ASCII-armored signature header from object."""
+  signature: String!
+
+  """GitHub user corresponding to the email signing this commit."""
+  signer: User
+
+  """
+  The state of this signature. `VALID` if signature is valid and verified by
+  GitHub, otherwise represents reason why signature is considered invalid.
+  """
+  state: GitSignatureState!
+
+  """True if the signature was made with GitHub's signing key."""
+  wasSignedByGitHub: Boolean!
+}
+
+"""Represents an 'unlabeled' event on a given issue or pull request."""
+type UnlabeledEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Identifies the label associated with the 'unlabeled' event."""
+  label: Label!
+
+  """Identifies the `Labelable` associated with the event."""
+  labelable: Labelable!
+}
+
+"""Autogenerated input type of UnlinkRepositoryFromProject"""
+input UnlinkRepositoryFromProjectInput {
+  """The ID of the Project linked to the Repository."""
+  projectId: ID!
+
+  """The ID of the Repository linked to the Project."""
+  repositoryId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UnlinkRepositoryFromProject"""
+type UnlinkRepositoryFromProjectPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The linked Project."""
+  project: Project
+
+  """The linked Repository."""
+  repository: Repository
+}
+
+"""Represents an 'unlocked' event on a given issue or pull request."""
+type UnlockedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Object that was unlocked."""
+  lockable: Lockable!
+}
+
+"""Autogenerated input type of UnlockLockable"""
+input UnlockLockableInput {
+  """ID of the issue or pull request to be unlocked."""
+  lockableId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UnlockLockable"""
+type UnlockLockablePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The item that was unlocked."""
+  unlockedRecord: Lockable
+}
+
+"""Autogenerated input type of UnmarkIssueAsDuplicate"""
+input UnmarkIssueAsDuplicateInput {
+  """ID of the issue or pull request currently marked as a duplicate."""
+  duplicateId: ID!
+
+  """
+  ID of the issue or pull request currently considered canonical/authoritative/original.
+  """
+  canonicalId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UnmarkIssueAsDuplicate"""
+type UnmarkIssueAsDuplicatePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The issue or pull request that was marked as a duplicate."""
+  duplicate: IssueOrPullRequest
+}
+
+"""Autogenerated input type of UnminimizeComment"""
+input UnminimizeCommentInput {
+  """The Node ID of the subject to modify."""
+  subjectId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated input type of UnpinIssue"""
+input UnpinIssueInput {
+  """The ID of the issue to be unpinned"""
+  issueId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Represents an 'unpinned' event on a given issue or pull request."""
+type UnpinnedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Identifies the issue associated with the event."""
+  issue: Issue!
+}
+
+"""Autogenerated input type of UnresolveReviewThread"""
+input UnresolveReviewThreadInput {
+  """The ID of the thread to unresolve"""
+  threadId: ID!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UnresolveReviewThread"""
+type UnresolveReviewThreadPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The thread to resolve."""
+  thread: PullRequestReviewThread
+}
+
+"""Represents an 'unsubscribed' event on a given `Subscribable`."""
+type UnsubscribedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """Object referenced by event."""
+  subscribable: Subscribable!
+}
+
+"""Entities that can be updated."""
+interface Updatable {
+  """Check if the current viewer can update this object."""
+  viewerCanUpdate: Boolean!
+}
+
+"""Comments that can be updated."""
+interface UpdatableComment {
+  """Reasons why the current viewer can not update this comment."""
+  viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
+}
+
+"""Autogenerated input type of UpdateBranchProtectionRule"""
+input UpdateBranchProtectionRuleInput {
+  """The global relay id of the branch protection rule to be updated."""
+  branchProtectionRuleId: ID!
+
+  """The glob-like pattern used to determine matching branches."""
+  pattern: String
+
+  """Are approving reviews required to update matching branches."""
+  requiresApprovingReviews: Boolean
+
+  """Number of approving reviews required to update matching branches."""
+  requiredApprovingReviewCount: Int
+
+  """Are commits required to be signed."""
+  requiresCommitSignatures: Boolean
+
+  """Can admins overwrite branch protection."""
+  isAdminEnforced: Boolean
+
+  """Are status checks required to update matching branches."""
+  requiresStatusChecks: Boolean
+
+  """Are branches required to be up to date before merging."""
+  requiresStrictStatusChecks: Boolean
+
+  """Are reviews from code owners required to update matching branches."""
+  requiresCodeOwnerReviews: Boolean
+
+  """
+  Will new commits pushed to matching branches dismiss pull request review approvals.
+  """
+  dismissesStaleReviews: Boolean
+
+  """Is dismissal of pull request reviews restricted."""
+  restrictsReviewDismissals: Boolean
+
+  """
+  A list of User or Team IDs allowed to dismiss reviews on pull requests targeting matching branches.
+  """
+  reviewDismissalActorIds: [ID!]
+
+  """Is pushing to matching branches restricted."""
+  restrictsPushes: Boolean
+
+  """A list of User, Team or App IDs allowed to push to matching branches."""
+  pushActorIds: [ID!]
+
+  """
+  List of required status check contexts that must pass for commits to be accepted to matching branches.
+  """
+  requiredStatusCheckContexts: [String!]
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateBranchProtectionRule"""
+type UpdateBranchProtectionRulePayload {
+  """The newly created BranchProtectionRule."""
+  branchProtectionRule: BranchProtectionRule
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseActionExecutionCapabilitySetting
+"""
+input UpdateEnterpriseActionExecutionCapabilitySettingInput {
+  """
+  The ID of the enterprise on which to set the members can create repositories setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the action execution capability setting on the enterprise.
+  """
+  capability: ActionExecutionCapabilitySetting!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseActionExecutionCapabilitySetting
+"""
+type UpdateEnterpriseActionExecutionCapabilitySettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The enterprise with the updated action execution capability setting."""
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the action execution capability setting.
+  """
+  message: String
+}
+
+"""Autogenerated input type of UpdateEnterpriseAdministratorRole"""
+input UpdateEnterpriseAdministratorRoleInput {
+  """The ID of the Enterprise which the admin belongs to."""
+  enterpriseId: ID!
+
+  """The login of a administrator whose role is being changed."""
+  login: String!
+
+  """The new role for the Enterprise administrator."""
+  role: EnterpriseAdministratorRole!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateEnterpriseAdministratorRole"""
+type UpdateEnterpriseAdministratorRolePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """A message confirming the result of changing the administrator's role."""
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseAllowPrivateRepositoryForkingSetting
+"""
+input UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput {
+  """
+  The ID of the enterprise on which to set the allow private repository forking setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the allow private repository forking setting on the enterprise.
+  """
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseAllowPrivateRepositoryForkingSetting
+"""
+type UpdateEnterpriseAllowPrivateRepositoryForkingSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """
+  The enterprise with the updated allow private repository forking setting.
+  """
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the allow private repository forking setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseDefaultRepositoryPermissionSetting
+"""
+input UpdateEnterpriseDefaultRepositoryPermissionSettingInput {
+  """
+  The ID of the enterprise on which to set the default repository permission setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the default repository permission setting on the enterprise.
+  """
+  settingValue: EnterpriseDefaultRepositoryPermissionSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseDefaultRepositoryPermissionSetting
+"""
+type UpdateEnterpriseDefaultRepositoryPermissionSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The enterprise with the updated default repository permission setting."""
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the default repository permission setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseMembersCanChangeRepositoryVisibilitySetting
+"""
+input UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput {
+  """
+  The ID of the enterprise on which to set the members can change repository visibility setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the members can change repository visibility setting on the enterprise.
+  """
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseMembersCanChangeRepositoryVisibilitySetting
+"""
+type UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """
+  The enterprise with the updated members can change repository visibility setting.
+  """
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the members can change repository visibility setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseMembersCanCreateRepositoriesSetting
+"""
+input UpdateEnterpriseMembersCanCreateRepositoriesSettingInput {
+  """
+  The ID of the enterprise on which to set the members can create repositories setting.
+  """
+  enterpriseId: ID!
+
+  """
+  Value for the members can create repositories setting on the enterprise. This
+  or the granular public/private/internal allowed fields (but not both) must be provided.
+  """
+  settingValue: EnterpriseMembersCanCreateRepositoriesSettingValue
+
+  """
+  When false, allow member organizations to set their own repository creation member privileges.
+  """
+  membersCanCreateRepositoriesPolicyEnabled: Boolean
+
+  """
+  Allow members to create public repositories. Defaults to current value.
+  """
+  membersCanCreatePublicRepositories: Boolean
+
+  """
+  Allow members to create private repositories. Defaults to current value.
+  """
+  membersCanCreatePrivateRepositories: Boolean
+
+  """
+  Allow members to create internal repositories. Defaults to current value.
+  """
+  membersCanCreateInternalRepositories: Boolean
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseMembersCanCreateRepositoriesSetting
+"""
+type UpdateEnterpriseMembersCanCreateRepositoriesSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """
+  The enterprise with the updated members can create repositories setting.
+  """
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the members can create repositories setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseMembersCanDeleteIssuesSetting
+"""
+input UpdateEnterpriseMembersCanDeleteIssuesSettingInput {
+  """
+  The ID of the enterprise on which to set the members can delete issues setting.
+  """
+  enterpriseId: ID!
+
+  """The value for the members can delete issues setting on the enterprise."""
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseMembersCanDeleteIssuesSetting
+"""
+type UpdateEnterpriseMembersCanDeleteIssuesSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The enterprise with the updated members can delete issues setting."""
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the members can delete issues setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseMembersCanDeleteRepositoriesSetting
+"""
+input UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput {
+  """
+  The ID of the enterprise on which to set the members can delete repositories setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the members can delete repositories setting on the enterprise.
+  """
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseMembersCanDeleteRepositoriesSetting
+"""
+type UpdateEnterpriseMembersCanDeleteRepositoriesSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """
+  The enterprise with the updated members can delete repositories setting.
+  """
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the members can delete repositories setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseMembersCanInviteCollaboratorsSetting
+"""
+input UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput {
+  """
+  The ID of the enterprise on which to set the members can invite collaborators setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the members can invite collaborators setting on the enterprise.
+  """
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseMembersCanInviteCollaboratorsSetting
+"""
+type UpdateEnterpriseMembersCanInviteCollaboratorsSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """
+  The enterprise with the updated members can invite collaborators setting.
+  """
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the members can invite collaborators setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseMembersCanMakePurchasesSetting
+"""
+input UpdateEnterpriseMembersCanMakePurchasesSettingInput {
+  """
+  The ID of the enterprise on which to set the members can make purchases setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the members can make purchases setting on the enterprise.
+  """
+  settingValue: EnterpriseMembersCanMakePurchasesSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseMembersCanMakePurchasesSetting
+"""
+type UpdateEnterpriseMembersCanMakePurchasesSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The enterprise with the updated members can make purchases setting."""
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the members can make purchases setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseMembersCanUpdateProtectedBranchesSetting
+"""
+input UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput {
+  """
+  The ID of the enterprise on which to set the members can update protected branches setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the members can update protected branches setting on the enterprise.
+  """
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseMembersCanUpdateProtectedBranchesSetting
+"""
+type UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """
+  The enterprise with the updated members can update protected branches setting.
+  """
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the members can update protected branches setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseMembersCanViewDependencyInsightsSetting
+"""
+input UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput {
+  """
+  The ID of the enterprise on which to set the members can view dependency insights setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the members can view dependency insights setting on the enterprise.
+  """
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseMembersCanViewDependencyInsightsSetting
+"""
+type UpdateEnterpriseMembersCanViewDependencyInsightsSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """
+  The enterprise with the updated members can view dependency insights setting.
+  """
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the members can view dependency insights setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseOrganizationProjectsSetting
+"""
+input UpdateEnterpriseOrganizationProjectsSettingInput {
+  """
+  The ID of the enterprise on which to set the organization projects setting.
+  """
+  enterpriseId: ID!
+
+  """The value for the organization projects setting on the enterprise."""
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseOrganizationProjectsSetting
+"""
+type UpdateEnterpriseOrganizationProjectsSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The enterprise with the updated organization projects setting."""
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the organization projects setting.
+  """
+  message: String
+}
+
+"""Autogenerated input type of UpdateEnterpriseProfile"""
+input UpdateEnterpriseProfileInput {
+  """The Enterprise ID to update."""
+  enterpriseId: ID!
+
+  """The name of the enterprise."""
+  name: String
+
+  """The description of the enterprise."""
+  description: String
+
+  """The URL of the enterprise's website."""
+  websiteUrl: String
+
+  """The location of the enterprise."""
+  location: String
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateEnterpriseProfile"""
+type UpdateEnterpriseProfilePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated enterprise."""
+  enterprise: Enterprise
+}
+
+"""Autogenerated input type of UpdateEnterpriseRepositoryProjectsSetting"""
+input UpdateEnterpriseRepositoryProjectsSettingInput {
+  """
+  The ID of the enterprise on which to set the repository projects setting.
+  """
+  enterpriseId: ID!
+
+  """The value for the repository projects setting on the enterprise."""
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateEnterpriseRepositoryProjectsSetting"""
+type UpdateEnterpriseRepositoryProjectsSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The enterprise with the updated repository projects setting."""
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the repository projects setting.
+  """
+  message: String
+}
+
+"""Autogenerated input type of UpdateEnterpriseTeamDiscussionsSetting"""
+input UpdateEnterpriseTeamDiscussionsSettingInput {
+  """The ID of the enterprise on which to set the team discussions setting."""
+  enterpriseId: ID!
+
+  """The value for the team discussions setting on the enterprise."""
+  settingValue: EnterpriseEnabledDisabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateEnterpriseTeamDiscussionsSetting"""
+type UpdateEnterpriseTeamDiscussionsSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The enterprise with the updated team discussions setting."""
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the team discussions setting.
+  """
+  message: String
+}
+
+"""
+Autogenerated input type of UpdateEnterpriseTwoFactorAuthenticationRequiredSetting
+"""
+input UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput {
+  """
+  The ID of the enterprise on which to set the two factor authentication required setting.
+  """
+  enterpriseId: ID!
+
+  """
+  The value for the two factor authentication required setting on the enterprise.
+  """
+  settingValue: EnterpriseEnabledSettingValue!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""
+Autogenerated return type of UpdateEnterpriseTwoFactorAuthenticationRequiredSetting
+"""
+type UpdateEnterpriseTwoFactorAuthenticationRequiredSettingPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """
+  The enterprise with the updated two factor authentication required setting.
+  """
+  enterprise: Enterprise
+
+  """
+  A message confirming the result of updating the two factor authentication required setting.
+  """
+  message: String
+}
+
+"""Autogenerated input type of UpdateIssueComment"""
+input UpdateIssueCommentInput {
+  """The ID of the IssueComment to modify."""
+  id: ID!
+
+  """The updated text of the comment."""
+  body: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateIssueComment"""
+type UpdateIssueCommentPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated comment."""
+  issueComment: IssueComment
+}
+
+"""Autogenerated input type of UpdateIssue"""
+input UpdateIssueInput {
+  """The ID of the Issue to modify."""
+  id: ID!
+
+  """The title for the issue."""
+  title: String
+
+  """The body for the issue description."""
+  body: String
+
+  """An array of Node IDs of users for this issue."""
+  assigneeIds: [ID!]
+
+  """The Node ID of the milestone for this issue."""
+  milestoneId: ID
+
+  """An array of Node IDs of labels for this issue."""
+  labelIds: [ID!]
+
+  """The desired issue state."""
+  state: IssueState
+
+  """An array of Node IDs for projects associated with this issue."""
+  projectIds: [ID!]
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateIssue"""
+type UpdateIssuePayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The issue."""
+  issue: Issue
+}
+
+"""Autogenerated input type of UpdateProjectCard"""
+input UpdateProjectCardInput {
+  """The ProjectCard ID to update."""
+  projectCardId: ID!
+
+  """Whether or not the ProjectCard should be archived"""
+  isArchived: Boolean
+
+  """The note of ProjectCard."""
+  note: String
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateProjectCard"""
+type UpdateProjectCardPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated ProjectCard."""
+  projectCard: ProjectCard
+}
+
+"""Autogenerated input type of UpdateProjectColumn"""
+input UpdateProjectColumnInput {
+  """The ProjectColumn ID to update."""
+  projectColumnId: ID!
+
+  """The name of project column."""
+  name: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateProjectColumn"""
+type UpdateProjectColumnPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated project column."""
+  projectColumn: ProjectColumn
+}
+
+"""Autogenerated input type of UpdateProject"""
+input UpdateProjectInput {
+  """The Project ID to update."""
+  projectId: ID!
+
+  """The name of project."""
+  name: String
+
+  """The description of project."""
+  body: String
+
+  """Whether the project is open or closed."""
+  state: ProjectState
+
+  """Whether the project is public or not."""
+  public: Boolean
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateProject"""
+type UpdateProjectPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated project."""
+  project: Project
+}
+
+"""Autogenerated input type of UpdatePullRequest"""
+input UpdatePullRequestInput {
+  """The Node ID of the pull request."""
+  pullRequestId: ID!
+
+  """
+  The name of the branch you want your changes pulled into. This should be an existing branch
+  on the current repository.
+  
+  """
+  baseRefName: String
+
+  """The title of the pull request."""
+  title: String
+
+  """The contents of the pull request."""
+  body: String
+
+  """The target state of the pull request."""
+  state: PullRequestUpdateState
+
+  """Indicates whether maintainers can modify the pull request."""
+  maintainerCanModify: Boolean
+
+  """An array of Node IDs of users for this pull request."""
+  assigneeIds: [ID!]
+
+  """The Node ID of the milestone for this pull request."""
+  milestoneId: ID
+
+  """An array of Node IDs of labels for this pull request."""
+  labelIds: [ID!]
+
+  """An array of Node IDs for projects associated with this pull request."""
+  projectIds: [ID!]
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdatePullRequest"""
+type UpdatePullRequestPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated pull request."""
+  pullRequest: PullRequest
+}
+
+"""Autogenerated input type of UpdatePullRequestReviewComment"""
+input UpdatePullRequestReviewCommentInput {
+  """The Node ID of the comment to modify."""
+  pullRequestReviewCommentId: ID!
+
+  """The text of the comment."""
+  body: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdatePullRequestReviewComment"""
+type UpdatePullRequestReviewCommentPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated comment."""
+  pullRequestReviewComment: PullRequestReviewComment
+}
+
+"""Autogenerated input type of UpdatePullRequestReview"""
+input UpdatePullRequestReviewInput {
+  """The Node ID of the pull request review to modify."""
+  pullRequestReviewId: ID!
+
+  """The contents of the pull request review body."""
+  body: String!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdatePullRequestReview"""
+type UpdatePullRequestReviewPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated pull request review."""
+  pullRequestReview: PullRequestReview
+}
+
+"""Autogenerated input type of UpdateRef"""
+input UpdateRefInput {
+  """The Node ID of the Ref to be updated."""
+  refId: ID!
+
+  """The GitObjectID that the Ref shall be updated to target."""
+  oid: GitObjectID!
+
+  """Permit updates of branch Refs that are not fast-forwards?"""
+  force: Boolean = false
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateRef"""
+type UpdateRefPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated Ref."""
+  ref: Ref
+}
+
+"""Autogenerated input type of UpdateRepository"""
+input UpdateRepositoryInput {
+  """The ID of the repository to update."""
+  repositoryId: ID!
+
+  """The new name of the repository."""
+  name: String
+
+  """
+  A new description for the repository. Pass an empty string to erase the existing description.
+  """
+  description: String
+
+  """
+  Whether this repository should be marked as a template such that anyone who
+  can access it can create new repositories with the same files and directory structure.
+  """
+  template: Boolean
+
+  """
+  The URL for a web page about this repository. Pass an empty string to erase the existing URL.
+  """
+  homepageUrl: URI
+
+  """Indicates if the repository should have the wiki feature enabled."""
+  hasWikiEnabled: Boolean
+
+  """Indicates if the repository should have the issues feature enabled."""
+  hasIssuesEnabled: Boolean
+
+  """
+  Indicates if the repository should have the project boards feature enabled.
+  """
+  hasProjectsEnabled: Boolean
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateRepository"""
+type UpdateRepositoryPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated repository."""
+  repository: Repository
+}
+
+"""Autogenerated input type of UpdateSubscription"""
+input UpdateSubscriptionInput {
+  """The Node ID of the subscribable object to modify."""
+  subscribableId: ID!
+
+  """The new state of the subscription."""
+  state: SubscriptionState!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateSubscription"""
+type UpdateSubscriptionPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The input subscribable entity."""
+  subscribable: Subscribable
+}
+
+"""Autogenerated input type of UpdateTeamDiscussionComment"""
+input UpdateTeamDiscussionCommentInput {
+  """The ID of the comment to modify."""
+  id: ID!
+
+  """The updated text of the comment."""
+  body: String!
+
+  """The current version of the body content."""
+  bodyVersion: String
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateTeamDiscussionComment"""
+type UpdateTeamDiscussionCommentPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated comment."""
+  teamDiscussionComment: TeamDiscussionComment
+}
+
+"""Autogenerated input type of UpdateTeamDiscussion"""
+input UpdateTeamDiscussionInput {
+  """The Node ID of the discussion to modify."""
+  id: ID!
+
+  """The updated title of the discussion."""
+  title: String
+
+  """The updated text of the discussion."""
+  body: String
+
+  """
+  The current version of the body content. If provided, this update operation
+  will be rejected if the given version does not match the latest version on the server.
+  """
+  bodyVersion: String
+
+  """If provided, sets the pinned state of the updated discussion."""
+  pinned: Boolean
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateTeamDiscussion"""
+type UpdateTeamDiscussionPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """The updated discussion."""
+  teamDiscussion: TeamDiscussion
+}
+
+"""Autogenerated input type of UpdateTopics"""
+input UpdateTopicsInput {
+  """The Node ID of the repository."""
+  repositoryId: ID!
+
+  """An array of topic names."""
+  topicNames: [String!]!
+
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+}
+
+"""Autogenerated return type of UpdateTopics"""
+type UpdateTopicsPayload {
+  """A unique identifier for the client performing the mutation."""
+  clientMutationId: String
+
+  """Names of the provided topics that are not valid."""
+  invalidTopicNames: [String!]
+
+  """The updated repository."""
+  repository: Repository
+}
+
+"""An RFC 3986, RFC 3987, and RFC 6570 (level 4) compliant URI string."""
+scalar URI
+
+"""
+A user is an individual's account on GitHub that owns repositories and can make new content.
+"""
+type User implements Node & Actor & RegistryPackageOwner & RegistryPackageSearch & ProjectOwner & RepositoryOwner & UniformResourceLocatable & ProfileOwner & Sponsorable {
+  """
+  Determine if this repository owner has any items that can be pinned to their profile.
+  """
+  anyPinnableItems(
+    """Filter to only a particular kind of pinnable item."""
+    type: PinnableItemType
+  ): Boolean!
+
+  """A URL pointing to the user's public avatar."""
+  avatarUrl(
+    """The size of the resulting square image."""
+    size: Int
+  ): URI!
+
+  """The user's public profile bio."""
+  bio: String
+
+  """The user's public profile bio as HTML."""
+  bioHTML: HTML!
+
+  """A list of commit comments made by this user."""
+  commitComments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): CommitCommentConnection!
+
+  """The user's public profile company."""
+  company: String
+
+  """The user's public profile company as HTML."""
+  companyHTML: HTML!
+
+  """
+  The collection of contributions this user has made to different repositories.
+  """
+  contributionsCollection(
+    """The ID of the organization used to filter contributions."""
+    organizationID: ID
+
+    """
+    Only contributions made at this time or later will be counted. If omitted, defaults to a year ago.
+    """
+    from: DateTime
+
+    """
+    Only contributions made before and up to and including this time will be
+    counted. If omitted, defaults to the current time.
+    """
+    to: DateTime
+  ): ContributionsCollection!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the primary key from the database."""
+  databaseId: Int
+
+  """The user's publicly visible profile email."""
+  email: String!
+
+  """A list of users the given user is followed by."""
+  followers(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): FollowerConnection!
+
+  """A list of users the given user is following."""
+  following(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): FollowingConnection!
+
+  """Find gist by repo name."""
+  gist(
+    """The gist name to find."""
+    name: String!
+  ): Gist
+
+  """A list of gist comments made by this user."""
+  gistComments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): GistCommentConnection!
+
+  """A list of the Gists the user has created."""
+  gists(
+    """Filters Gists according to privacy."""
+    privacy: GistPrivacy
+
+    """Ordering options for gists returned from the connection"""
+    orderBy: GistOrder
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): GistConnection!
+
+  """The hovercard information for this user in a given context"""
+  hovercard(
+    """The ID of the subject to get the hovercard in the context of"""
+    primarySubjectId: ID
+  ): Hovercard!
+  id: ID!
+
+  """
+  Whether or not this user is a participant in the GitHub Security Bug Bounty.
+  """
+  isBountyHunter: Boolean!
+
+  """
+  Whether or not this user is a participant in the GitHub Campus Experts Program.
+  """
+  isCampusExpert: Boolean!
+
+  """Whether or not this user is a GitHub Developer Program member."""
+  isDeveloperProgramMember: Boolean!
+
+  """Whether or not this user is a GitHub employee."""
+  isEmployee: Boolean!
+
+  """Whether or not the user has marked themselves as for hire."""
+  isHireable: Boolean!
+
+  """Whether or not this user is a site administrator."""
+  isSiteAdmin: Boolean!
+
+  """Whether or not this user is the viewing user."""
+  isViewer: Boolean!
+
+  """A list of issue comments made by this user."""
+  issueComments(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): IssueCommentConnection!
+
+  """A list of issues associated with this user."""
+  issues(
+    """Ordering options for issues returned from the connection."""
+    orderBy: IssueOrder
+
+    """A list of label names to filter the pull requests by."""
+    labels: [String!]
+
+    """A list of states to filter the issues by."""
+    states: [IssueState!]
+
+    """Filtering options for issues returned from the connection."""
+    filterBy: IssueFilters
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): IssueConnection!
+
+  """
+  Showcases a selection of repositories and gists that the profile owner has
+  either curated or that have been selected automatically based on popularity.
+  """
+  itemShowcase: ProfileItemShowcase!
+
+  """The user's public profile location."""
+  location: String
+
+  """The username used to login."""
+  login: String!
+
+  """The user's public profile name."""
+  name: String
+
+  """Find an organization by its login that the user belongs to."""
+  organization(
+    """The login of the organization to find."""
+    login: String!
+  ): Organization
+
+  """A list of organizations the user belongs to."""
+  organizations(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): OrganizationConnection!
+
+  """
+  A list of repositories and gists this profile owner can pin to their profile.
+  """
+  pinnableItems(
+    """Filter the types of pinnable items that are returned."""
+    types: [PinnableItemType!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PinnableItemConnection!
+
+  """
+  A list of repositories and gists this profile owner has pinned to their profile
+  """
+  pinnedItems(
+    """Filter the types of pinned items that are returned."""
+    types: [PinnableItemType!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PinnableItemConnection!
+
+  """
+  Returns how many more items this profile owner can pin to their profile.
+  """
+  pinnedItemsRemaining: Int!
+
+  """A list of repositories this user has pinned to their profile"""
+  pinnedRepositories(
+    """If non-null, filters repositories according to privacy"""
+    privacy: RepositoryPrivacy
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder
+
+    """
+    Array of viewer's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    current viewer owns.
+    """
+    affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    Array of owner's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    organization or user being viewed owns.
+    """
+    ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    If non-null, filters repositories according to whether they have been locked
+    """
+    isLocked: Boolean
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RepositoryConnection! @deprecated(reason: "pinnedRepositories will be removed Use ProfileOwner.pinnedItems instead. Removal on 2019-10-01 UTC.")
+
+  """Find project by number."""
+  project(
+    """The project number to find."""
+    number: Int!
+  ): Project
+
+  """A list of projects under the owner."""
+  projects(
+    """Ordering options for projects returned from the connection"""
+    orderBy: ProjectOrder
+
+    """Query to search projects by, currently only searching by name."""
+    search: String
+
+    """A list of states to filter the projects by."""
+    states: [ProjectState!]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): ProjectConnection!
+
+  """The HTTP path listing user's projects"""
+  projectsResourcePath: URI!
+
+  """The HTTP URL listing user's projects"""
+  projectsUrl: URI!
+
+  """A list of public keys associated with this user."""
+  publicKeys(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PublicKeyConnection!
+
+  """A list of pull requests associated with this user."""
+  pullRequests(
+    """A list of states to filter the pull requests by."""
+    states: [PullRequestState!]
+
+    """A list of label names to filter the pull requests by."""
+    labels: [String!]
+
+    """The head ref name to filter the pull requests by."""
+    headRefName: String
+
+    """The base ref name to filter the pull requests by."""
+    baseRefName: String
+
+    """Ordering options for pull requests returned from the connection."""
+    orderBy: IssueOrder
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): PullRequestConnection!
+
+  """A list of registry packages under the owner."""
+  registryPackages(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Find registry package by name."""
+    name: String
+
+    """Find registry packages by their names."""
+    names: [String]
+
+    """Find registry packages in a repository."""
+    repositoryId: ID
+
+    """Filter registry package by type."""
+    packageType: RegistryPackageType
+
+    """Filter registry package by type (string)."""
+    registryPackageType: String
+
+    """Filter registry package by whether it is publicly visible"""
+    publicOnly: Boolean = false
+  ): RegistryPackageConnection!
+
+  """A list of registry packages for a particular search query."""
+  registryPackagesForQuery(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Find registry package by search query."""
+    query: String
+
+    """Filter registry package by type."""
+    packageType: RegistryPackageType
+  ): RegistryPackageConnection!
+
+  """A list of repositories that the user owns."""
+  repositories(
+    """If non-null, filters repositories according to privacy"""
+    privacy: RepositoryPrivacy
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder
+
+    """
+    Array of viewer's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    current viewer owns.
+    """
+    affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    Array of owner's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    organization or user being viewed owns.
+    """
+    ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    If non-null, filters repositories according to whether they have been locked
+    """
+    isLocked: Boolean
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    If non-null, filters repositories according to whether they are forks of another repository
+    """
+    isFork: Boolean
+  ): RepositoryConnection!
+
+  """A list of repositories that the user recently contributed to."""
+  repositoriesContributedTo(
+    """If non-null, filters repositories according to privacy"""
+    privacy: RepositoryPrivacy
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder
+
+    """
+    If non-null, filters repositories according to whether they have been locked
+    """
+    isLocked: Boolean
+
+    """If true, include user repositories"""
+    includeUserRepositories: Boolean
+
+    """
+    If non-null, include only the specified types of contributions. The
+    GitHub.com UI uses [COMMIT, ISSUE, PULL_REQUEST, REPOSITORY]
+    """
+    contributionTypes: [RepositoryContributionType]
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RepositoryConnection!
+
+  """Find Repository."""
+  repository(
+    """Name of Repository to find."""
+    name: String!
+  ): Repository
+
+  """The HTTP path for this user"""
+  resourcePath: URI!
+
+  """Replies this user has saved"""
+  savedReplies(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """The field to order saved replies by."""
+    orderBy: SavedReplyOrder = {field: UPDATED_AT, direction: DESC}
+  ): SavedReplyConnection
+
+  """This object's sponsorships as the maintainer."""
+  sponsorshipsAsMaintainer(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Whether or not to include private sponsorships in the result set"""
+    includePrivate: Boolean = false
+
+    """
+    Ordering options for sponsorships returned from this connection. If left
+    blank, the sponsorships will be ordered based on relevancy to the viewer.
+    """
+    orderBy: SponsorshipOrder
+  ): SponsorshipConnection!
+
+  """This object's sponsorships as the sponsor."""
+  sponsorshipsAsSponsor(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """
+    Ordering options for sponsorships returned from this connection. If left
+    blank, the sponsorships will be ordered based on relevancy to the viewer.
+    """
+    orderBy: SponsorshipOrder
+  ): SponsorshipConnection!
+
+  """Repositories the user has starred."""
+  starredRepositories(
+    """
+    Filters starred repositories to only return repositories owned by the viewer.
+    """
+    ownedByViewer: Boolean
+
+    """Order for connection"""
+    orderBy: StarOrder
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): StarredRepositoryConnection!
+
+  """The user's description of what they're currently doing."""
+  status: UserStatus
+
+  """
+  Repositories the user has contributed to, ordered by contribution rank, plus repositories the user has created
+  
+  """
+  topRepositories(
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder!
+
+    """How far back in time to fetch contributed repositories"""
+    since: DateTime
+  ): RepositoryConnection!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The HTTP URL for this user"""
+  url: URI!
+
+  """Can the viewer pin repositories and gists to the profile?"""
+  viewerCanChangePinnedItems: Boolean!
+
+  """Can the current viewer create new projects on this owner."""
+  viewerCanCreateProjects: Boolean!
+
+  """Whether or not the viewer is able to follow the user."""
+  viewerCanFollow: Boolean!
+
+  """Whether or not this user is followed by the viewer."""
+  viewerIsFollowing: Boolean!
+
+  """A list of repositories the given user is watching."""
+  watching(
+    """If non-null, filters repositories according to privacy"""
+    privacy: RepositoryPrivacy
+
+    """Ordering options for repositories returned from the connection"""
+    orderBy: RepositoryOrder
+
+    """Affiliation options for repositories returned from the connection"""
+    affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR, ORGANIZATION_MEMBER]
+
+    """
+    Array of owner's affiliation options for repositories returned from the
+    connection. For example, OWNER will include only repositories that the
+    organization or user being viewed owns.
+    """
+    ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
+
+    """
+    If non-null, filters repositories according to whether they have been locked
+    """
+    isLocked: Boolean
+
+    """Returns the elements in the list that come after the specified cursor."""
+    after: String
+
+    """
+    Returns the elements in the list that come before the specified cursor.
+    """
+    before: String
+
+    """Returns the first _n_ elements from the list."""
+    first: Int
+
+    """Returns the last _n_ elements from the list."""
+    last: Int
+  ): RepositoryConnection!
+
+  """A URL pointing to the user's public website/blog."""
+  websiteUrl: URI
+}
+
+"""The possible durations that a user can be blocked for."""
+enum UserBlockDuration {
+  """The user was blocked for 1 day"""
+  ONE_DAY
+
+  """The user was blocked for 3 days"""
+  THREE_DAYS
+
+  """The user was blocked for 7 days"""
+  ONE_WEEK
+
+  """The user was blocked for 30 days"""
+  ONE_MONTH
+
+  """The user was blocked permanently"""
+  PERMANENT
+}
+
+"""Represents a 'user_blocked' event on a given user."""
+type UserBlockedEvent implements Node {
+  """Identifies the actor who performed the event."""
+  actor: Actor
+
+  """Number of days that the user was blocked for."""
+  blockDuration: UserBlockDuration!
+
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+  id: ID!
+
+  """The user who was blocked."""
+  subject: User
+}
+
+"""The connection type for User."""
+type UserConnection {
+  """A list of edges."""
+  edges: [UserEdge]
+
+  """A list of nodes."""
+  nodes: [User]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edit on user content"""
+type UserContentEdit implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """Identifies the date and time when the object was deleted."""
+  deletedAt: DateTime
+
+  """The actor who deleted this content"""
+  deletedBy: Actor
+
+  """A summary of the changes for this edit"""
+  diff: String
+
+  """When this content was edited"""
+  editedAt: DateTime!
+
+  """The actor who edited this content"""
+  editor: Actor
+  id: ID!
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+}
+
+"""A list of edits to content."""
+type UserContentEditConnection {
+  """A list of edges."""
+  edges: [UserContentEditEdge]
+
+  """A list of nodes."""
+  nodes: [UserContentEdit]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type UserContentEditEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: UserContentEdit
+}
+
+"""Represents a user."""
+type UserEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: User
+}
+
+"""The user's description of what they're currently doing."""
+type UserStatus implements Node {
+  """Identifies the date and time when the object was created."""
+  createdAt: DateTime!
+
+  """An emoji summarizing the user's status."""
+  emoji: String
+
+  """The status emoji as HTML."""
+  emojiHTML: HTML
+
+  """If set, the status will not be shown after this date."""
+  expiresAt: DateTime
+
+  """ID of the object."""
+  id: ID!
+
+  """
+  Whether this status indicates the user is not fully available on GitHub.
+  """
+  indicatesLimitedAvailability: Boolean!
+
+  """A brief message describing what the user is doing."""
+  message: String
+
+  """
+  The organization whose members can see this status. If null, this status is publicly visible.
+  """
+  organization: Organization
+
+  """Identifies the date and time when the object was last updated."""
+  updatedAt: DateTime!
+
+  """The user who has this status."""
+  user: User!
+}
+
+"""The connection type for UserStatus."""
+type UserStatusConnection {
+  """A list of edges."""
+  edges: [UserStatusEdge]
+
+  """A list of nodes."""
+  nodes: [UserStatus]
+
+  """Information to aid in pagination."""
+  pageInfo: PageInfo!
+
+  """Identifies the total count of items in the connection."""
+  totalCount: Int!
+}
+
+"""An edge in a connection."""
+type UserStatusEdge {
+  """A cursor for use in pagination."""
+  cursor: String!
+
+  """The item at the end of the edge."""
+  node: UserStatus
+}
+
+"""Ordering options for user status connections."""
+input UserStatusOrder {
+  """The field to order user statuses by."""
+  field: UserStatusOrderField!
+
+  """The ordering direction."""
+  direction: OrderDirection!
+}
+
+"""Properties by which user status connections can be ordered."""
+enum UserStatusOrderField {
+  """Order user statuses by when they were updated."""
+  UPDATED_AT
+}
+
+"""
+A hovercard context with a message describing how the viewer is related.
+"""
+type ViewerHovercardContext implements HovercardContext {
+  """A string describing this context"""
+  message: String!
+
+  """An octicon to accompany this context"""
+  octicon: String!
+
+  """Identifies the user who is related to this context."""
+  viewer: User!
+}
+
+"""A valid x509 certificate string"""
+scalar X509Certificate
+
diff --git a/tsconfig.json b/tsconfig.json
index 254e3b2..8b43e42 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,7 +1,11 @@
 {
   "compilerOptions": {
     "target": "es5",
-    "lib": ["dom", "dom.iterable", "esnext"],
+    "lib": [
+      "dom",
+      "dom.iterable",
+      "esnext"
+    ],
     "allowJs": true,
     "skipLibCheck": true,
     "strict": false,
@@ -12,8 +16,19 @@
     "moduleResolution": "node",
     "resolveJsonModule": true,
     "isolatedModules": true,
-    "jsx": "preserve"
+    "jsx": "preserve",
+    "incremental": true
   },
-  "exclude": ["node_modules", ".next", "out", "cypress"],
-  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.js"]
+  "exclude": [
+    "node_modules",
+    ".next",
+    "out",
+    "cypress"
+  ],
+  "include": [
+    "next-env.d.ts",
+    "**/*.ts",
+    "**/*.tsx",
+    "**/*.js"
+  ]
 }
diff --git a/yarn.lock b/yarn.lock
index c37d636..3e7a1ab 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,93 +2,26 @@
 # yarn lockfile v1
 
 
-"@ampproject/toolbox-core@^2.4.0-alpha.1", "@ampproject/toolbox-core@^2.5.4":
-  version "2.5.4"
-  resolved "https://registry.npmjs.org/@ampproject/toolbox-core/-/toolbox-core-2.5.4.tgz#8554c5398b6d65d240085a6b0abb94f9a3276dce"
-  integrity sha512-KjHyR0XpQyloTu59IaatU2NCGT5zOhWJtVXQ4Uj/NUaRriN6LlJlzHBxtXmPIb0YHETdD63ITtDvqZizZPYFag==
+"@babel/code-frame@7.12.11":
+  version "7.12.11"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
+  integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
   dependencies:
-    cross-fetch "3.0.5"
-    lru-cache "5.1.1"
-
-"@ampproject/toolbox-optimizer@2.4.0":
-  version "2.4.0"
-  resolved "https://registry.npmjs.org/@ampproject/toolbox-optimizer/-/toolbox-optimizer-2.4.0.tgz#16bde73913f8b58a9bf617d37cdc1f21a1222f38"
-  integrity sha512-Bmb+eMF9/VB3H0qPdZy0V5yPSkWe5RwuGbXiMxzqYdJgmMat+NL75EtozQnlpa0uBlESnOGe7bMojm/SA1ImrA==
-  dependencies:
-    "@ampproject/toolbox-core" "^2.4.0-alpha.1"
-    "@ampproject/toolbox-runtime-version" "^2.4.0-alpha.1"
-    "@ampproject/toolbox-script-csp" "^2.3.0"
-    "@ampproject/toolbox-validator-rules" "^2.3.0"
-    cssnano "4.1.10"
-    domhandler "3.0.0"
-    domutils "2.1.0"
-    htmlparser2 "4.1.0"
-    lru-cache "5.1.1"
-    normalize-html-whitespace "1.0.0"
-    postcss-safe-parser "4.0.2"
-    terser "4.6.13"
-
-"@ampproject/toolbox-runtime-version@^2.4.0-alpha.1":
-  version "2.5.4"
-  resolved "https://registry.npmjs.org/@ampproject/toolbox-runtime-version/-/toolbox-runtime-version-2.5.4.tgz#ed6e77df3832f551337bca3706b5a4e2f36d66f9"
-  integrity sha512-7vi/F91Zb+h1CwR8/on/JxZhp3Hhz6xJOOHxRA025aUFEFHV5c35B4QbTdt2MObWZrysogXFOT8M95dgU/hsKw==
-  dependencies:
-    "@ampproject/toolbox-core" "^2.5.4"
-
-"@ampproject/toolbox-script-csp@^2.3.0":
-  version "2.5.4"
-  resolved "https://registry.npmjs.org/@ampproject/toolbox-script-csp/-/toolbox-script-csp-2.5.4.tgz#d8b7b91a678ae8f263cb36d9b74e441b7d633aad"
-  integrity sha512-+knTYetI5nWllRZ9wFcj7mYxelkiiFVRAAW/hl0ad8EnKHMH82tRlk40CapEnUHhp6Er5sCYkumQ8dngs3Q4zQ==
-
-"@ampproject/toolbox-validator-rules@^2.3.0":
-  version "2.5.4"
-  resolved "https://registry.npmjs.org/@ampproject/toolbox-validator-rules/-/toolbox-validator-rules-2.5.4.tgz#7dee3a3edceefea459d060571db8cc6e7bbf0dd6"
-  integrity sha512-bS7uF+h0s5aiklc/iRaujiSsiladOsZBLrJ6QImJDXvubCAQtvE7om7ShlGSXixkMAO0OVMDWyuwLlEy8V1Ing==
-  dependencies:
-    cross-fetch "3.0.5"
-
-"@babel/code-frame@7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
-  integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
-  dependencies:
-    "@babel/highlight" "^7.8.3"
+    "@babel/highlight" "^7.10.4"
 
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.5.5":
+"@babel/code-frame@^7.0.0":
   version "7.10.4"
   resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
   integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
   dependencies:
     "@babel/highlight" "^7.10.4"
 
-"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.9.6":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.5.tgz#d38425e67ea96b1480a3f50404d1bf85676301a6"
-  integrity sha512-mPVoWNzIpYJHbWje0if7Ck36bpbtTvIxOi9+6WSK9wjGEXearAqlwBoTQvVjsAY2VIwgcs8V940geY3okzRCEw==
+"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
+  integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
   dependencies:
-    browserslist "^4.12.0"
-    invariant "^2.2.4"
-    semver "^5.5.0"
-
-"@babel/core@7.7.7":
-  version "7.7.7"
-  resolved "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz#ee155d2e12300bcc0cff6a8ad46f2af5063803e9"
-  integrity sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==
-  dependencies:
-    "@babel/code-frame" "^7.5.5"
-    "@babel/generator" "^7.7.7"
-    "@babel/helpers" "^7.7.4"
-    "@babel/parser" "^7.7.7"
-    "@babel/template" "^7.7.4"
-    "@babel/traverse" "^7.7.4"
-    "@babel/types" "^7.7.4"
-    convert-source-map "^1.7.0"
-    debug "^4.1.0"
-    json5 "^2.1.0"
-    lodash "^4.17.13"
-    resolve "^1.3.2"
-    semver "^5.4.1"
-    source-map "^0.5.0"
+    "@babel/highlight" "^7.16.7"
 
 "@babel/core@^7.1.0", "@babel/core@^7.7.5":
   version "7.10.5"
@@ -112,217 +45,91 @@
     semver "^5.4.1"
     source-map "^0.5.0"
 
-"@babel/generator@^7.10.5", "@babel/generator@^7.7.7":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.10.5.tgz#1b903554bc8c583ee8d25f1e8969732e6b829a69"
-  integrity sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==
+"@babel/generator@^7.10.5", "@babel/generator@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe"
+  integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==
   dependencies:
-    "@babel/types" "^7.10.5"
+    "@babel/types" "^7.16.8"
     jsesc "^2.5.1"
     source-map "^0.5.0"
 
-"@babel/helper-annotate-as-pure@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3"
-  integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==
-  dependencies:
-    "@babel/types" "^7.10.4"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3"
-  integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==
-  dependencies:
-    "@babel/helper-explode-assignable-expression" "^7.10.4"
-    "@babel/types" "^7.10.4"
-
-"@babel/helper-builder-react-jsx-experimental@^7.10.4":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.10.5.tgz#f35e956a19955ff08c1258e44a515a6d6248646b"
-  integrity sha512-Buewnx6M4ttG+NLkKyt7baQn7ScC/Td+e99G914fRU8fGIUivDDgVIQeDHFa5e4CRSJQt58WpNHhsAZgtzVhsg==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.10.4"
-    "@babel/helper-module-imports" "^7.10.4"
-    "@babel/types" "^7.10.5"
-
-"@babel/helper-builder-react-jsx@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d"
-  integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.10.4"
-    "@babel/types" "^7.10.4"
-
-"@babel/helper-compilation-targets@^7.9.6":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2"
-  integrity sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==
-  dependencies:
-    "@babel/compat-data" "^7.10.4"
-    browserslist "^4.12.0"
-    invariant "^2.2.4"
-    levenary "^1.1.1"
-    semver "^5.5.0"
-
-"@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.8.3":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d"
-  integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==
-  dependencies:
-    "@babel/helper-function-name" "^7.10.4"
-    "@babel/helper-member-expression-to-functions" "^7.10.5"
-    "@babel/helper-optimise-call-expression" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/helper-replace-supers" "^7.10.4"
-    "@babel/helper-split-export-declaration" "^7.10.4"
-
-"@babel/helper-create-regexp-features-plugin@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8"
-  integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.10.4"
-    "@babel/helper-regex" "^7.10.4"
-    regexpu-core "^4.7.0"
-
-"@babel/helper-define-map@^7.10.4":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30"
-  integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==
-  dependencies:
-    "@babel/helper-function-name" "^7.10.4"
-    "@babel/types" "^7.10.5"
-    lodash "^4.17.19"
-
-"@babel/helper-explode-assignable-expression@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c"
-  integrity sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==
-  dependencies:
-    "@babel/traverse" "^7.10.4"
-    "@babel/types" "^7.10.4"
-
-"@babel/helper-function-name@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
-  integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
-  dependencies:
-    "@babel/helper-get-function-arity" "^7.10.4"
-    "@babel/template" "^7.10.4"
-    "@babel/types" "^7.10.4"
-
-"@babel/helper-get-function-arity@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2"
-  integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==
+"@babel/helper-environment-visitor@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7"
+  integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
   dependencies:
-    "@babel/types" "^7.10.4"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-hoist-variables@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e"
-  integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==
+"@babel/helper-function-name@^7.10.4", "@babel/helper-function-name@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
+  integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
   dependencies:
-    "@babel/types" "^7.10.4"
+    "@babel/helper-get-function-arity" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz#172f56e7a63e78112f3a04055f24365af702e7ee"
-  integrity sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==
+"@babel/helper-get-function-arity@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
+  integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
   dependencies:
-    "@babel/types" "^7.10.5"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620"
-  integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==
+"@babel/helper-hoist-variables@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
+  integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
   dependencies:
-    "@babel/types" "^7.10.4"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.9.0":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz#120c271c0b3353673fcdfd8c053db3c544a260d6"
-  integrity sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA==
+"@babel/helper-module-imports@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
+  integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
   dependencies:
-    "@babel/helper-module-imports" "^7.10.4"
-    "@babel/helper-replace-supers" "^7.10.4"
-    "@babel/helper-simple-access" "^7.10.4"
-    "@babel/helper-split-export-declaration" "^7.10.4"
-    "@babel/template" "^7.10.4"
-    "@babel/types" "^7.10.5"
-    lodash "^4.17.19"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-optimise-call-expression@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
-  integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==
+"@babel/helper-module-transforms@^7.10.5":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41"
+  integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==
   dependencies:
-    "@babel/types" "^7.10.4"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-module-imports" "^7.16.7"
+    "@babel/helper-simple-access" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+    "@babel/helper-validator-identifier" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.16.7"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
-  integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5"
+  integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
 
-"@babel/helper-regex@^7.10.4":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0"
-  integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==
+"@babel/helper-simple-access@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7"
+  integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==
   dependencies:
-    lodash "^4.17.19"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-remap-async-to-generator@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5"
-  integrity sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==
+"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
+  integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.10.4"
-    "@babel/helper-wrap-function" "^7.10.4"
-    "@babel/template" "^7.10.4"
-    "@babel/traverse" "^7.10.4"
-    "@babel/types" "^7.10.4"
-
-"@babel/helper-replace-supers@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf"
-  integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==
-  dependencies:
-    "@babel/helper-member-expression-to-functions" "^7.10.4"
-    "@babel/helper-optimise-call-expression" "^7.10.4"
-    "@babel/traverse" "^7.10.4"
-    "@babel/types" "^7.10.4"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-simple-access@^7.10.4", "@babel/helper-simple-access@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461"
-  integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==
-  dependencies:
-    "@babel/template" "^7.10.4"
-    "@babel/types" "^7.10.4"
+"@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
+  integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
 
-"@babel/helper-split-export-declaration@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1"
-  integrity sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==
-  dependencies:
-    "@babel/types" "^7.10.4"
-
-"@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.9.5":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
-  integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
-
-"@babel/helper-wrap-function@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87"
-  integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==
-  dependencies:
-    "@babel/helper-function-name" "^7.10.4"
-    "@babel/template" "^7.10.4"
-    "@babel/traverse" "^7.10.4"
-    "@babel/types" "^7.10.4"
-
-"@babel/helpers@^7.10.4", "@babel/helpers@^7.7.4":
+"@babel/helpers@^7.10.4":
   version "7.10.4"
   resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044"
   integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==
@@ -331,143 +138,33 @@
     "@babel/traverse" "^7.10.4"
     "@babel/types" "^7.10.4"
 
-"@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
-  integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
+"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b"
+  integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.10.4"
+    "@babel/helper-validator-identifier" "^7.16.7"
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.10.5", "@babel/parser@^7.7.7":
+"@babel/parser@^7.1.0":
   version "7.10.5"
   resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz#e7c6bf5a7deff957cec9f04b551e2762909d826b"
   integrity sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==
 
-"@babel/plugin-proposal-async-generator-functions@^7.8.3":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558"
-  integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/helper-remap-async-to-generator" "^7.10.4"
-    "@babel/plugin-syntax-async-generators" "^7.8.0"
-
-"@babel/plugin-proposal-class-properties@7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e"
-  integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==
-  dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.8.3"
-    "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-proposal-dynamic-import@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e"
-  integrity sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-dynamic-import" "^7.8.0"
-
-"@babel/plugin-proposal-json-strings@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db"
-  integrity sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-json-strings" "^7.8.0"
+"@babel/parser@^7.10.4", "@babel/parser@^7.10.5", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17"
+  integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==
 
-"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2"
-  integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.3"
-    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a"
-  integrity sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-
-"@babel/plugin-proposal-numeric-separator@7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8"
-  integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.3"
-    "@babel/plugin-syntax-numeric-separator" "^7.8.3"
-
-"@babel/plugin-proposal-numeric-separator@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06"
-  integrity sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-
-"@babel/plugin-proposal-object-rest-spread@7.9.6":
-  version "7.9.6"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz#7a093586fcb18b08266eb1a7177da671ac575b63"
-  integrity sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.3"
-    "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
-    "@babel/plugin-transform-parameters" "^7.9.5"
-
-"@babel/plugin-proposal-object-rest-spread@^7.9.6":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz#50129ac216b9a6a55b3853fdd923e74bf553a4c0"
-  integrity sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
-    "@babel/plugin-transform-parameters" "^7.10.4"
-
-"@babel/plugin-proposal-optional-catch-binding@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd"
-  integrity sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
-
-"@babel/plugin-proposal-optional-chaining@7.9.0":
-  version "7.9.0"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58"
-  integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.3"
-    "@babel/plugin-syntax-optional-chaining" "^7.8.0"
-
-"@babel/plugin-proposal-optional-chaining@^7.9.0":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz#750f1255e930a1f82d8cdde45031f81a0d0adff7"
-  integrity sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-optional-chaining" "^7.8.0"
-
-"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d"
-  integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4":
+"@babel/plugin-syntax-async-generators@^7.8.4":
   version "7.8.4"
   resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
   integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-bigint@7.8.3", "@babel/plugin-syntax-bigint@^7.8.3":
+"@babel/plugin-syntax-bigint@^7.8.3":
   version "7.8.3"
   resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea"
   integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
@@ -481,13 +178,6 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.10.4"
 
-"@babel/plugin-syntax-dynamic-import@7.8.3", "@babel/plugin-syntax-dynamic-import@^7.8.0":
-  version "7.8.3"
-  resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
-  integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
 "@babel/plugin-syntax-import-meta@^7.8.3":
   version "7.10.4"
   resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
@@ -495,19 +185,19 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.10.4"
 
-"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3":
+"@babel/plugin-syntax-json-strings@^7.8.3":
   version "7.8.3"
   resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
   integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-jsx@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c"
-  integrity sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==
+"@babel/plugin-syntax-jsx@7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201"
+  integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
+    "@babel/helper-plugin-utils" "^7.14.5"
 
 "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
   version "7.10.4"
@@ -516,466 +206,41 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.10.4"
 
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
   version "7.8.3"
   resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
   integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3":
+"@babel/plugin-syntax-numeric-separator@^7.8.3":
   version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
   integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
   dependencies:
     "@babel/helper-plugin-utils" "^7.10.4"
 
-"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3":
+"@babel/plugin-syntax-object-rest-spread@^7.8.3":
   version "7.8.3"
   resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
   integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3":
+"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
   version "7.8.3"
   resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
   integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3":
+"@babel/plugin-syntax-optional-chaining@^7.8.3":
   version "7.8.3"
   resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
   integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-top-level-await@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d"
-  integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-typescript@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz#2f55e770d3501e83af217d782cb7517d7bb34d25"
-  integrity sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-arrow-functions@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd"
-  integrity sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-async-to-generator@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37"
-  integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==
-  dependencies:
-    "@babel/helper-module-imports" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/helper-remap-async-to-generator" "^7.10.4"
-
-"@babel/plugin-transform-block-scoped-functions@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8"
-  integrity sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-block-scoping@^7.8.3":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz#b81b8aafefbfe68f0f65f7ef397b9ece68a6037d"
-  integrity sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-classes@^7.9.5":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7"
-  integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.10.4"
-    "@babel/helper-define-map" "^7.10.4"
-    "@babel/helper-function-name" "^7.10.4"
-    "@babel/helper-optimise-call-expression" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/helper-replace-supers" "^7.10.4"
-    "@babel/helper-split-export-declaration" "^7.10.4"
-    globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb"
-  integrity sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-destructuring@^7.9.5":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5"
-  integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee"
-  integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-duplicate-keys@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47"
-  integrity sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-exponentiation-operator@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e"
-  integrity sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==
-  dependencies:
-    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-for-of@^7.9.0":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9"
-  integrity sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-function-name@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7"
-  integrity sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==
-  dependencies:
-    "@babel/helper-function-name" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-literals@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c"
-  integrity sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-member-expression-literals@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7"
-  integrity sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-modules-amd@^7.9.6":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1"
-  integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==
-  dependencies:
-    "@babel/helper-module-transforms" "^7.10.5"
-    "@babel/helper-plugin-utils" "^7.10.4"
-    babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-commonjs@7.9.6":
-  version "7.9.6"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277"
-  integrity sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==
-  dependencies:
-    "@babel/helper-module-transforms" "^7.9.0"
-    "@babel/helper-plugin-utils" "^7.8.3"
-    "@babel/helper-simple-access" "^7.8.3"
-    babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-commonjs@^7.9.6":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0"
-  integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==
-  dependencies:
-    "@babel/helper-module-transforms" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/helper-simple-access" "^7.10.4"
-    babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-systemjs@^7.9.6":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85"
-  integrity sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==
-  dependencies:
-    "@babel/helper-hoist-variables" "^7.10.4"
-    "@babel/helper-module-transforms" "^7.10.5"
-    "@babel/helper-plugin-utils" "^7.10.4"
-    babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-umd@^7.9.0":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e"
-  integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==
-  dependencies:
-    "@babel/helper-module-transforms" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6"
-  integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-
-"@babel/plugin-transform-new-target@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888"
-  integrity sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-object-super@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894"
-  integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/helper-replace-supers" "^7.10.4"
-
-"@babel/plugin-transform-parameters@^7.10.4", "@babel/plugin-transform-parameters@^7.9.5":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a"
-  integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==
-  dependencies:
-    "@babel/helper-get-function-arity" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-property-literals@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0"
-  integrity sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-react-display-name@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz#b5795f4e3e3140419c3611b7a2a3832b9aef328d"
-  integrity sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-react-jsx-development@^7.9.0":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.10.4.tgz#6ec90f244394604623880e15ebc3c34c356258ba"
-  integrity sha512-RM3ZAd1sU1iQ7rI2dhrZRZGv0aqzNQMbkIUCS1txYpi9wHQ2ZHNjo5TwX+UD6pvFW4AbWqLVYvKy5qJSAyRGjQ==
-  dependencies:
-    "@babel/helper-builder-react-jsx-experimental" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-jsx" "^7.10.4"
-
-"@babel/plugin-transform-react-jsx-self@^7.9.0":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369"
-  integrity sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-jsx" "^7.10.4"
-
-"@babel/plugin-transform-react-jsx-source@^7.9.0":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz#34f1779117520a779c054f2cdd9680435b9222b4"
-  integrity sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-jsx" "^7.10.4"
-
-"@babel/plugin-transform-react-jsx@^7.9.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2"
-  integrity sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A==
-  dependencies:
-    "@babel/helper-builder-react-jsx" "^7.10.4"
-    "@babel/helper-builder-react-jsx-experimental" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-jsx" "^7.10.4"
-
-"@babel/plugin-transform-regenerator@^7.8.7":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63"
-  integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==
-  dependencies:
-    regenerator-transform "^0.14.2"
-
-"@babel/plugin-transform-reserved-words@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd"
-  integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-runtime@7.9.6":
-  version "7.9.6"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.6.tgz#3ba804438ad0d880a17bca5eaa0cdf1edeedb2fd"
-  integrity sha512-qcmiECD0mYOjOIt8YHNsAP1SxPooC/rDmfmiSK9BNY72EitdSc7l44WTEklaWuFtbOEBjNhWWyph/kOImbNJ4w==
-  dependencies:
-    "@babel/helper-module-imports" "^7.8.3"
-    "@babel/helper-plugin-utils" "^7.8.3"
-    resolve "^1.8.1"
-    semver "^5.5.1"
-
-"@babel/plugin-transform-shorthand-properties@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6"
-  integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-spread@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz#4e2c85ea0d6abaee1b24dcfbbae426fe8d674cff"
-  integrity sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-sticky-regex@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d"
-  integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/helper-regex" "^7.10.4"
-
-"@babel/plugin-transform-template-literals@^7.8.3":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c"
-  integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-typeof-symbol@^7.8.4":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc"
-  integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-typescript@^7.9.0":
-  version "7.10.5"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.10.5.tgz#edf353944e979f40d8ff9fe4e9975d0a465037c5"
-  integrity sha512-YCyYsFrrRMZ3qR7wRwtSSJovPG5vGyG4ZdcSAivGwTfoasMp3VOB/AKhohu3dFtmB4cCDcsndCSxGtrdliCsZQ==
-  dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.10.5"
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/plugin-syntax-typescript" "^7.10.4"
-
-"@babel/plugin-transform-unicode-regex@^7.8.3":
-  version "7.10.4"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8"
-  integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/preset-env@7.9.6":
-  version "7.9.6"
-  resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz#df063b276c6455ec6fcfc6e53aacc38da9b0aea6"
-  integrity sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==
-  dependencies:
-    "@babel/compat-data" "^7.9.6"
-    "@babel/helper-compilation-targets" "^7.9.6"
-    "@babel/helper-module-imports" "^7.8.3"
-    "@babel/helper-plugin-utils" "^7.8.3"
-    "@babel/plugin-proposal-async-generator-functions" "^7.8.3"
-    "@babel/plugin-proposal-dynamic-import" "^7.8.3"
-    "@babel/plugin-proposal-json-strings" "^7.8.3"
-    "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3"
-    "@babel/plugin-proposal-numeric-separator" "^7.8.3"
-    "@babel/plugin-proposal-object-rest-spread" "^7.9.6"
-    "@babel/plugin-proposal-optional-catch-binding" "^7.8.3"
-    "@babel/plugin-proposal-optional-chaining" "^7.9.0"
-    "@babel/plugin-proposal-unicode-property-regex" "^7.8.3"
-    "@babel/plugin-syntax-async-generators" "^7.8.0"
-    "@babel/plugin-syntax-dynamic-import" "^7.8.0"
-    "@babel/plugin-syntax-json-strings" "^7.8.0"
-    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-    "@babel/plugin-syntax-numeric-separator" "^7.8.0"
-    "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
-    "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
-    "@babel/plugin-syntax-optional-chaining" "^7.8.0"
-    "@babel/plugin-syntax-top-level-await" "^7.8.3"
-    "@babel/plugin-transform-arrow-functions" "^7.8.3"
-    "@babel/plugin-transform-async-to-generator" "^7.8.3"
-    "@babel/plugin-transform-block-scoped-functions" "^7.8.3"
-    "@babel/plugin-transform-block-scoping" "^7.8.3"
-    "@babel/plugin-transform-classes" "^7.9.5"
-    "@babel/plugin-transform-computed-properties" "^7.8.3"
-    "@babel/plugin-transform-destructuring" "^7.9.5"
-    "@babel/plugin-transform-dotall-regex" "^7.8.3"
-    "@babel/plugin-transform-duplicate-keys" "^7.8.3"
-    "@babel/plugin-transform-exponentiation-operator" "^7.8.3"
-    "@babel/plugin-transform-for-of" "^7.9.0"
-    "@babel/plugin-transform-function-name" "^7.8.3"
-    "@babel/plugin-transform-literals" "^7.8.3"
-    "@babel/plugin-transform-member-expression-literals" "^7.8.3"
-    "@babel/plugin-transform-modules-amd" "^7.9.6"
-    "@babel/plugin-transform-modules-commonjs" "^7.9.6"
-    "@babel/plugin-transform-modules-systemjs" "^7.9.6"
-    "@babel/plugin-transform-modules-umd" "^7.9.0"
-    "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3"
-    "@babel/plugin-transform-new-target" "^7.8.3"
-    "@babel/plugin-transform-object-super" "^7.8.3"
-    "@babel/plugin-transform-parameters" "^7.9.5"
-    "@babel/plugin-transform-property-literals" "^7.8.3"
-    "@babel/plugin-transform-regenerator" "^7.8.7"
-    "@babel/plugin-transform-reserved-words" "^7.8.3"
-    "@babel/plugin-transform-shorthand-properties" "^7.8.3"
-    "@babel/plugin-transform-spread" "^7.8.3"
-    "@babel/plugin-transform-sticky-regex" "^7.8.3"
-    "@babel/plugin-transform-template-literals" "^7.8.3"
-    "@babel/plugin-transform-typeof-symbol" "^7.8.4"
-    "@babel/plugin-transform-unicode-regex" "^7.8.3"
-    "@babel/preset-modules" "^0.1.3"
-    "@babel/types" "^7.9.6"
-    browserslist "^4.11.1"
-    core-js-compat "^3.6.2"
-    invariant "^2.2.2"
-    levenary "^1.1.1"
-    semver "^5.5.0"
-
-"@babel/preset-modules@0.1.3", "@babel/preset-modules@^0.1.3":
-  version "0.1.3"
-  resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72"
-  integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.0.0"
-    "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
-    "@babel/plugin-transform-dotall-regex" "^7.4.4"
-    "@babel/types" "^7.4.4"
-    esutils "^2.0.2"
-
-"@babel/preset-react@7.9.4":
-  version "7.9.4"
-  resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d"
-  integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.3"
-    "@babel/plugin-transform-react-display-name" "^7.8.3"
-    "@babel/plugin-transform-react-jsx" "^7.9.4"
-    "@babel/plugin-transform-react-jsx-development" "^7.9.0"
-    "@babel/plugin-transform-react-jsx-self" "^7.9.0"
-    "@babel/plugin-transform-react-jsx-source" "^7.9.0"
-
-"@babel/preset-typescript@7.9.0":
-  version "7.9.0"
-  resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192"
-  integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.3"
-    "@babel/plugin-transform-typescript" "^7.9.0"
-
 "@babel/runtime-corejs3@^7.10.2":
   version "7.10.5"
   resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.5.tgz#a57fe6c13045ca33768a2aa527ead795146febe1"
@@ -984,10 +249,10 @@
     core-js-pure "^3.0.0"
     regenerator-runtime "^0.13.4"
 
-"@babel/runtime@7.9.6":
-  version "7.9.6"
-  resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f"
-  integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==
+"@babel/runtime@7.15.4":
+  version "7.15.4"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a"
+  integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==
   dependencies:
     regenerator-runtime "^0.13.4"
 
@@ -998,14 +263,30 @@
   dependencies:
     regenerator-runtime "^0.13.4"
 
-"@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.8.4":
+"@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3":
   version "7.10.5"
   resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz#303d8bd440ecd5a491eae6117fd3367698674c5c"
   integrity sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==
   dependencies:
     regenerator-runtime "^0.13.4"
 
-"@babel/template@^7.10.4", "@babel/template@^7.3.3", "@babel/template@^7.7.4":
+"@babel/runtime@^7.7.2":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa"
+  integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==
+  dependencies:
+    regenerator-runtime "^0.13.4"
+
+"@babel/template@^7.10.4", "@babel/template@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
+  integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    "@babel/parser" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
+"@babel/template@^7.3.3":
   version "7.10.4"
   resolved "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
   integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==
@@ -1014,7 +295,7 @@
     "@babel/parser" "^7.10.4"
     "@babel/types" "^7.10.4"
 
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.10.5", "@babel/traverse@^7.7.4":
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.5":
   version "7.10.5"
   resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz#77ce464f5b258be265af618d8fddf0536f20b564"
   integrity sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==
@@ -1029,25 +310,31 @@
     globals "^11.1.0"
     lodash "^4.17.19"
 
-"@babel/types@7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c"
-  integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==
-  dependencies:
-    esutils "^2.0.2"
-    lodash "^4.17.13"
-    to-fast-properties "^2.0.0"
+"@babel/traverse@^7.10.4", "@babel/traverse@^7.16.7":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c"
+  integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    "@babel/generator" "^7.16.8"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-hoist-variables" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+    "@babel/parser" "^7.16.8"
+    "@babel/types" "^7.16.8"
+    debug "^4.1.0"
+    globals "^11.1.0"
 
-"@babel/types@7.9.6":
-  version "7.9.6"
-  resolved "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
-  integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==
+"@babel/types@7.15.0":
+  version "7.15.0"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
+  integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.9.5"
-    lodash "^4.17.13"
+    "@babel/helper-validator-identifier" "^7.14.9"
     to-fast-properties "^2.0.0"
 
-"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.4", "@babel/types@^7.9.6":
+"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
   version "7.10.5"
   resolved "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz#d88ae7e2fde86bfbfe851d4d81afa70a997b5d15"
   integrity sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==
@@ -1056,6 +343,14 @@
     lodash "^4.17.19"
     to-fast-properties "^2.0.0"
 
+"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.16.7", "@babel/types@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1"
+  integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.16.7"
+    to-fast-properties "^2.0.0"
+
 "@bcoe/v8-coverage@^0.2.3":
   version "0.2.3"
   resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@@ -1191,6 +486,26 @@
     postcss "7.0.32"
     purgecss "^2.3.0"
 
+"@hapi/accept@5.0.2":
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.2.tgz#ab7043b037e68b722f93f376afb05e85c0699523"
+  integrity sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw==
+  dependencies:
+    "@hapi/boom" "9.x.x"
+    "@hapi/hoek" "9.x.x"
+
+"@hapi/boom@9.x.x":
+  version "9.1.4"
+  resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.4.tgz#1f9dad367c6a7da9f8def24b4a986fc5a7bd9db6"
+  integrity sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==
+  dependencies:
+    "@hapi/hoek" "9.x.x"
+
+"@hapi/hoek@9.x.x":
+  version "9.2.1"
+  resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17"
+  integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==
+
 "@istanbuljs/load-nyc-config@^1.0.0":
   version "1.1.0"
   resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -1375,26 +690,97 @@
     "@types/yargs" "^15.0.0"
     chalk "^3.0.0"
 
-"@next/react-dev-overlay@9.4.4":
-  version "9.4.4"
-  resolved "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-9.4.4.tgz#4ae03ac839ff022b3ce5c695bd24b179d4ef459d"
-  integrity sha512-UUAa8RbH7BeWDPCkagIkR4sUsyvTPlEdFrPZ9kGjf2+p8HkLHpcVY7y+XRnNvJQs4PsAF0Plh20FBz7t54U2iQ==
+"@napi-rs/triples@1.0.3":
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c"
+  integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==
+
+"@next/env@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/env/-/env-12.0.7.tgz#316f7bd1b6b69f554d2676cfc91a16bc7e32ee79"
+  integrity sha512-TNDqBV37wd95SiNdZsSUq8gnnrTwr+aN9wqy4Zxrxw4bC/jCHNsbK94DxjkG99VL30VCRXXDBTA1/Wa2jIpF9Q==
+
+"@next/polyfill-module@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-12.0.7.tgz#140e698557113cd3a3c0833f15ca8af1b608f2dc"
+  integrity sha512-sA8LAMMlmcspIZw/jeQuJTyA3uGrqOhTBaQE+G9u6DPohqrBFRkaz7RzzJeqXkUXw600occsIBknSjyVd1R67A==
+
+"@next/react-dev-overlay@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-12.0.7.tgz#ae8f9bd14b1786e52330b729ff63061735d21c77"
+  integrity sha512-dSQLgpZ5uzyittFtIHlJCLAbc0LlMFbRBSYuGsIlrtGyjYN+WMcnz8lK48VLxNPFGuB/hEzkWV4TW5Zu75+Fzg==
   dependencies:
-    "@babel/code-frame" "7.8.3"
-    ally.js "1.4.1"
+    "@babel/code-frame" "7.12.11"
     anser "1.4.9"
     chalk "4.0.0"
     classnames "2.2.6"
-    data-uri-to-buffer "3.0.0"
-    shell-quote "1.7.2"
+    css.escape "1.5.1"
+    data-uri-to-buffer "3.0.1"
+    platform "1.3.6"
+    shell-quote "1.7.3"
     source-map "0.8.0-beta.0"
     stacktrace-parser "0.1.10"
-    strip-ansi "6.0.0"
-
-"@next/react-refresh-utils@9.4.4":
-  version "9.4.4"
-  resolved "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-9.4.4.tgz#d94cbb3b354a07f1f5b80e554d6b9e34aba99e41"
-  integrity sha512-9nKENeWRI6kQk44TbeqleIVtNLfcS3klVUepzl/ZCqzR5Bi06uqBCD277hdVvG/wL1pxA+R/pgJQLqnF5E2wPQ==
+    strip-ansi "6.0.1"
+
+"@next/react-refresh-utils@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-12.0.7.tgz#921c403798e188b4f1d9e609283c0e8d3e532f89"
+  integrity sha512-Pglj1t+7RxH0txEqVcD8ZxrJgqLDmKvQDqxKq3ZPRWxMv7LTl7FVT2Pnb36QFeBwCvMVl67jxsADKsW0idz8sA==
+
+"@next/swc-android-arm64@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.0.7.tgz#9b0a9e4bc646a045eef725764112096f0a6ea204"
+  integrity sha512-yViT7EEc7JqxncRT+ZTeTsrAYXLlcefo0Y0eAfYmmalGD2605L4FWAVrJi4WnrSLji7l+veczw1WBmNeHICKKA==
+
+"@next/swc-darwin-arm64@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.7.tgz#2fd506dba91e4a35036b9fc7930a4d6b8895f16a"
+  integrity sha512-vhAyW2rDEUcQesRVaj0z1hSoz7QhDzzGd0V1/5/5i9YJOfOtyrPsVJ82tlf7BfXl6/Ep+eKNfWVIb5/Jv89EKg==
+
+"@next/swc-darwin-x64@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.7.tgz#b3016503caa5ed5cc6a20051517d5b2a79cfdc58"
+  integrity sha512-km+6Rx6TvbraoQ1f0MXa69ol/x0RxzucFGa2OgZaYJERas0spy0iwW8hpASsGcf597D8VRW1x+R2C7ZdjVBSTw==
+
+"@next/swc-linux-arm-gnueabihf@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.7.tgz#8e91ecddc2d6d26946949a67d481110db3063d09"
+  integrity sha512-d0zWr877YqZ2cf/DQy6obouaR39r0FPebcXj2nws9AC99m68CO2xVpWv9jT7mFvpY+T40HJisLH80jSZ2iQ9sA==
+
+"@next/swc-linux-arm64-gnu@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.7.tgz#1eefcf7b063610315b74e5c7dc24c3437370e49d"
+  integrity sha512-fdobh5u6gG13Gd5LkHhJ+W8tF9hbaFolRW99FhzArMe5/nMKlLdBymOxvitE3K4gSFQxbXJA6TbU0Vv0e59Kww==
+
+"@next/swc-linux-arm64-musl@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.7.tgz#e9e764519dfb75e43355c442181346cd6e72459b"
+  integrity sha512-vx0c5Q3oIScFNT/4jI9rCe0yPzKuCqWOkiO/OOV0ixSI2gLhbrwDIcdkm79fKVn3i8JOJunxE4zDoFeR/g8xqQ==
+
+"@next/swc-linux-x64-gnu@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.7.tgz#fef02e14ed8f9c114479dabba1475ae2d3bb040d"
+  integrity sha512-9ITyp6s6uGVKNx3C/GP7GrYycbcwTADG7TdIXzXUxOOZORrdB1GNg3w/EL3Am4VMPPEpO6v1RfKo2IKZpVKfTA==
+
+"@next/swc-linux-x64-musl@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.7.tgz#07dc334b1924d9f5a8c4a891b91562af19ff5de4"
+  integrity sha512-C+k+cygbIZXYfc+Hx2fNPUBEg7jzio+mniP5ywZevuTXW14zodIfQ3ZMoMJR8EpOVvYpjWFk2uAjiwqgx8vo/g==
+
+"@next/swc-win32-arm64-msvc@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.7.tgz#6c559d87ce142693173039a18b1c1d65519762dd"
+  integrity sha512-7jTRjOKkDVnb5s7VoHT7eX+eyT/5BQJ/ljP2G56riAgKGqPL63/V7FXemLhhLT67D+OjoP8DRA2E2ne6IPHk4w==
+
+"@next/swc-win32-ia32-msvc@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.7.tgz#16b23f2301b16877b3623f0e8364e8177e2ef7db"
+  integrity sha512-2u5pGDsk7H6gGxob2ATIojzlwKzgYsrijo7RRpXOiPePVqwPWg6/pmhaJzLdpfjaBgRg1NFmwSp/7Ump9X8Ijg==
+
+"@next/swc-win32-x64-msvc@12.0.7":
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.7.tgz#8d75d3b6a872ab97ab73e3b4173d56dbb2991917"
+  integrity sha512-frEWtbf+q8Oz4e2UqKJrNssk6DZ6/NLCQXn5/ORWE9dPAfe9XS6aK5FRZ6DuEPmmKd5gOoRkKJFFz5nYd+TeyQ==
 
 "@nivo/annotations@0.62.0":
   version "0.62.0"
@@ -1577,7 +963,7 @@
 
 "@types/color-name@^1.1.1":
   version "1.1.1"
-  resolved "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
+  resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
   integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
 
 "@types/domhandler@*", "@types/domhandler@2.4.1":
@@ -1641,7 +1027,7 @@
     jest-diff "^25.2.1"
     pretty-format "^25.2.1"
 
-"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4":
+"@types/json-schema@^7.0.3":
   version "7.0.5"
   resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd"
   integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==
@@ -1676,10 +1062,22 @@
   resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
   integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
 
-"@types/q@^1.5.1":
-  version "1.5.4"
-  resolved "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
-  integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==
+"@types/react-relay@^13.0.0":
+  version "13.0.0"
+  resolved "https://registry.yarnpkg.com/@types/react-relay/-/react-relay-13.0.0.tgz#906a63fcb618e597c884545d89017855f4c73a40"
+  integrity sha512-1m1ngK2AUAzxw9gM+KUKJSley3Ih94uyErsoTx8ILethlPbWvm4EFmlxdVir5qkHDn98cMEKwuUEkidrIcTGVQ==
+  dependencies:
+    "@types/react" "*"
+    "@types/relay-runtime" "*"
+
+"@types/react@*":
+  version "17.0.38"
+  resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.38.tgz#f24249fefd89357d5fa71f739a686b8d7c7202bd"
+  integrity sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==
+  dependencies:
+    "@types/prop-types" "*"
+    "@types/scheduler" "*"
+    csstype "^3.0.2"
 
 "@types/react@^16.9.27":
   version "16.9.43"
@@ -1689,6 +1087,16 @@
     "@types/prop-types" "*"
     csstype "^2.2.0"
 
+"@types/relay-runtime@*":
+  version "13.0.0"
+  resolved "https://registry.yarnpkg.com/@types/relay-runtime/-/relay-runtime-13.0.0.tgz#d0009275522ff826f2e4dab40419f2db58417ecf"
+  integrity sha512-yzv6F8EZPWA2rtfFP2qMluS8tsz1q4lfdYxLegCshdAjX5uqxTR2pAliATj9wrzD6OMZF4fl9aU+Y+zmSfm2EA==
+
+"@types/scheduler@*":
+  version "0.16.2"
+  resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
+  integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
+
 "@types/sinonjs__fake-timers@6.0.1":
   version "6.0.1"
   resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.1.tgz#681df970358c82836b42f989188d133e218c458e"
@@ -1766,161 +1174,6 @@
     semver "^7.3.2"
     tsutils "^3.17.1"
 
-"@webassemblyjs/ast@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
-  integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
-  dependencies:
-    "@webassemblyjs/helper-module-context" "1.9.0"
-    "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-    "@webassemblyjs/wast-parser" "1.9.0"
-
-"@webassemblyjs/floating-point-hex-parser@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
-  integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
-
-"@webassemblyjs/helper-api-error@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
-  integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
-
-"@webassemblyjs/helper-buffer@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
-  integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
-
-"@webassemblyjs/helper-code-frame@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
-  integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
-  dependencies:
-    "@webassemblyjs/wast-printer" "1.9.0"
-
-"@webassemblyjs/helper-fsm@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
-  integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
-
-"@webassemblyjs/helper-module-context@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
-  integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
-  dependencies:
-    "@webassemblyjs/ast" "1.9.0"
-
-"@webassemblyjs/helper-wasm-bytecode@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
-  integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
-
-"@webassemblyjs/helper-wasm-section@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
-  integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
-  dependencies:
-    "@webassemblyjs/ast" "1.9.0"
-    "@webassemblyjs/helper-buffer" "1.9.0"
-    "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-    "@webassemblyjs/wasm-gen" "1.9.0"
-
-"@webassemblyjs/ieee754@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
-  integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
-  dependencies:
-    "@xtuc/ieee754" "^1.2.0"
-
-"@webassemblyjs/leb128@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
-  integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
-  dependencies:
-    "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/utf8@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
-  integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
-
-"@webassemblyjs/wasm-edit@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
-  integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
-  dependencies:
-    "@webassemblyjs/ast" "1.9.0"
-    "@webassemblyjs/helper-buffer" "1.9.0"
-    "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-    "@webassemblyjs/helper-wasm-section" "1.9.0"
-    "@webassemblyjs/wasm-gen" "1.9.0"
-    "@webassemblyjs/wasm-opt" "1.9.0"
-    "@webassemblyjs/wasm-parser" "1.9.0"
-    "@webassemblyjs/wast-printer" "1.9.0"
-
-"@webassemblyjs/wasm-gen@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
-  integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
-  dependencies:
-    "@webassemblyjs/ast" "1.9.0"
-    "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-    "@webassemblyjs/ieee754" "1.9.0"
-    "@webassemblyjs/leb128" "1.9.0"
-    "@webassemblyjs/utf8" "1.9.0"
-
-"@webassemblyjs/wasm-opt@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
-  integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
-  dependencies:
-    "@webassemblyjs/ast" "1.9.0"
-    "@webassemblyjs/helper-buffer" "1.9.0"
-    "@webassemblyjs/wasm-gen" "1.9.0"
-    "@webassemblyjs/wasm-parser" "1.9.0"
-
-"@webassemblyjs/wasm-parser@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
-  integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
-  dependencies:
-    "@webassemblyjs/ast" "1.9.0"
-    "@webassemblyjs/helper-api-error" "1.9.0"
-    "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-    "@webassemblyjs/ieee754" "1.9.0"
-    "@webassemblyjs/leb128" "1.9.0"
-    "@webassemblyjs/utf8" "1.9.0"
-
-"@webassemblyjs/wast-parser@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
-  integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
-  dependencies:
-    "@webassemblyjs/ast" "1.9.0"
-    "@webassemblyjs/floating-point-hex-parser" "1.9.0"
-    "@webassemblyjs/helper-api-error" "1.9.0"
-    "@webassemblyjs/helper-code-frame" "1.9.0"
-    "@webassemblyjs/helper-fsm" "1.9.0"
-    "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/wast-printer@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
-  integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
-  dependencies:
-    "@webassemblyjs/ast" "1.9.0"
-    "@webassemblyjs/wast-parser" "1.9.0"
-    "@xtuc/long" "4.2.2"
-
-"@xtuc/ieee754@^1.2.0":
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
-  integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
-
-"@xtuc/long@4.2.2":
-  version "4.2.2"
-  resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
-  integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
-
 abab@^2.0.0:
   version "2.0.3"
   resolved "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a"
@@ -1958,7 +1211,12 @@ acorn-walk@^7.0.0:
   resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
   integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
 
-acorn@^6.0.1, acorn@^6.4.1:
+acorn@8.5.0:
+  version "8.5.0"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2"
+  integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
+
+acorn@^6.0.1:
   version "6.4.1"
   resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
   integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
@@ -1973,36 +1231,15 @@ acorn@^7.1.0, acorn@^7.1.1:
   resolved "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
   integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
 
-adjust-sourcemap-loader@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4"
-  integrity sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==
-  dependencies:
-    assert "1.4.1"
-    camelcase "5.0.0"
-    loader-utils "1.2.3"
-    object-path "0.11.4"
-    regex-parser "2.2.10"
-
 aggregate-error@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
-  integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
+  integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
   dependencies:
     clean-stack "^2.0.0"
     indent-string "^4.0.0"
 
-ajv-errors@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
-  integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-
-ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
-  version "3.5.1"
-  resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.1.tgz#b83ca89c5d42d69031f424cad49aada0236c6957"
-  integrity sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA==
-
-ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.5.5:
+ajv@^6.10.0, ajv@^6.5.5:
   version "6.12.3"
   resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
   integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
@@ -2012,22 +1249,19 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.5.5:
     json-schema-traverse "^0.4.1"
     uri-js "^4.2.2"
 
-ally.js@1.4.1:
-  version "1.4.1"
-  resolved "https://registry.npmjs.org/ally.js/-/ally.js-1.4.1.tgz#9fb7e6ba58efac4ee9131cb29aa9ee3b540bcf1e"
-  integrity sha1-n7fmuljvrE7pExyymqnuO1QLzx4=
+ajv@^6.10.2:
+  version "6.12.6"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
   dependencies:
-    css.escape "^1.5.0"
-    platform "1.3.3"
-
-alphanum-sort@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
-  integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
+    fast-deep-equal "^3.1.1"
+    fast-json-stable-stringify "^2.0.0"
+    json-schema-traverse "^0.4.1"
+    uri-js "^4.2.2"
 
 anser@1.4.9:
   version "1.4.9"
-  resolved "https://registry.npmjs.org/anser/-/anser-1.4.9.tgz#1f85423a5dcf8da4631a341665ff675b96845760"
+  resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.9.tgz#1f85423a5dcf8da4631a341665ff675b96845760"
   integrity sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA==
 
 ansi-colors@^4.1.1:
@@ -2049,7 +1283,7 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
 
 ansi-regex@^2.0.0:
   version "2.1.1"
-  resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
   integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
 
 ansi-regex@^3.0.0:
@@ -2062,24 +1296,24 @@ ansi-regex@^4.1.0:
   resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
   integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
 
-ansi-regex@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
-  integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+ansi-regex@^5.0.0, ansi-regex@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+  integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
 
 ansi-styles@^2.2.1:
   version "2.2.1"
-  resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
   integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
 
 ansi-styles@^3.2.0, ansi-styles@^3.2.1:
   version "3.2.1"
-  resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
   integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
   dependencies:
     color-convert "^1.9.0"
 
-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ansi-styles@^4.0.0:
   version "4.2.1"
   resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
   integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
@@ -2087,6 +1321,13 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
     "@types/color-name" "^1.1.1"
     color-convert "^2.0.1"
 
+ansi-styles@^4.1.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+  dependencies:
+    color-convert "^2.0.1"
+
 any-observable@^0.3.0:
   version "0.3.0"
   resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
@@ -2094,13 +1335,13 @@ any-observable@^0.3.0:
 
 anymatch@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
   integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
   dependencies:
     micromatch "^3.1.4"
     normalize-path "^2.1.1"
 
-anymatch@^3.0.3, anymatch@~3.1.1:
+anymatch@^3.0.3:
   version "3.1.1"
   resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
   integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
@@ -2108,10 +1349,13 @@ anymatch@^3.0.3, anymatch@~3.1.1:
     normalize-path "^3.0.0"
     picomatch "^2.0.4"
 
-aproba@^1.1.1:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
-  integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+anymatch@~3.1.1:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+  integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
+  dependencies:
+    normalize-path "^3.0.0"
+    picomatch "^2.0.4"
 
 arch@2.1.2:
   version "2.1.2"
@@ -2120,7 +1364,7 @@ arch@2.1.2:
 
 argparse@^1.0.7:
   version "1.0.10"
-  resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
   integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
   dependencies:
     sprintf-js "~1.0.2"
@@ -2133,24 +1377,19 @@ aria-query@^4.2.2:
     "@babel/runtime" "^7.10.2"
     "@babel/runtime-corejs3" "^7.10.2"
 
-arity-n@^1.0.4:
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745"
-  integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U=
-
 arr-diff@^4.0.0:
   version "4.0.0"
-  resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
   integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
 
 arr-flatten@^1.1.0:
   version "1.1.0"
-  resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+  resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
   integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
 
 arr-union@^3.1.0:
   version "3.1.0"
-  resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+  resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
   integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
 
 array-equal@^1.0.0:
@@ -2169,7 +1408,7 @@ array-includes@^3.1.1:
 
 array-unique@^0.3.2:
   version "0.3.2"
-  resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+  resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
   integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
 
 array.prototype.flatmap@^1.2.3:
@@ -2186,14 +1425,15 @@ asap@~2.0.3:
   resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
   integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
 
-asn1.js@^4.0.0:
-  version "4.10.1"
-  resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
-  integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
+asn1.js@^5.2.0:
+  version "5.4.1"
+  resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
+  integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
   dependencies:
     bn.js "^4.0.0"
     inherits "^2.0.1"
     minimalistic-assert "^1.0.0"
+    safer-buffer "^2.1.0"
 
 asn1@~0.2.3:
   version "0.2.4"
@@ -2207,24 +1447,19 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
   resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
   integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
 
-assert@1.4.1:
-  version "1.4.1"
-  resolved "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
-  integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=
-  dependencies:
-    util "0.10.3"
-
-assert@^1.1.1:
-  version "1.5.0"
-  resolved "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
-  integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
+assert@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32"
+  integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==
   dependencies:
-    object-assign "^4.1.1"
-    util "0.10.3"
+    es6-object-assign "^1.1.0"
+    is-nan "^1.2.1"
+    object-is "^1.0.1"
+    util "^0.12.0"
 
 assign-symbols@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+  resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
   integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
 
 astral-regex@^1.0.0:
@@ -2237,11 +1472,6 @@ astral-regex@^2.0.0:
   resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
   integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
 
-async-each@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
-  integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
-
 async@^3.2.0:
   version "3.2.0"
   resolved "https://registry.npmjs.org/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
@@ -2254,7 +1484,7 @@ asynckit@^0.4.0:
 
 atob@^2.1.2:
   version "2.1.2"
-  resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+  resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
   integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
 
 autoprefixer@^9.4.5, autoprefixer@^9.6.1:
@@ -2270,6 +1500,11 @@ autoprefixer@^9.4.5, autoprefixer@^9.6.1:
     postcss "^7.0.32"
     postcss-value-parser "^4.1.0"
 
+available-typed-arrays@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
+  integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
+
 aws-sign2@~0.7.0:
   version "0.7.0"
   resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
@@ -2280,15 +1515,6 @@ aws4@^1.8.0:
   resolved "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2"
   integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==
 
-babel-code-frame@^6.22.0:
-  version "6.26.0"
-  resolved "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
-  integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
-  dependencies:
-    chalk "^1.1.3"
-    esutils "^2.0.2"
-    js-tokens "^3.0.2"
-
 babel-jest@^25.2.3, babel-jest@^25.5.1:
   version "25.5.1"
   resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853"
@@ -2303,13 +1529,6 @@ babel-jest@^25.2.3, babel-jest@^25.5.1:
     graceful-fs "^4.2.4"
     slash "^3.0.0"
 
-babel-plugin-dynamic-import-node@^2.3.3:
-  version "2.3.3"
-  resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
-  integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
-  dependencies:
-    object.assign "^4.1.0"
-
 babel-plugin-istanbul@^6.0.0:
   version "6.0.0"
   resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765"
@@ -2330,23 +1549,23 @@ babel-plugin-jest-hoist@^25.5.0:
     "@babel/types" "^7.3.3"
     "@types/babel__traverse" "^7.0.6"
 
-babel-plugin-syntax-jsx@6.18.0:
-  version "6.18.0"
-  resolved "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
-  integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
-
-babel-plugin-transform-define@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/babel-plugin-transform-define/-/babel-plugin-transform-define-2.0.0.tgz#79c3536635f899aabaf830b194b25519465675a4"
-  integrity sha512-0dv5RNRUlUKxGYIIErl01lpvi8b7W2R04Qcl1mCj70ahwZcgiklfXnFlh4FGnRh6aayCfSZKdhiMryVzcq5Dmg==
+babel-plugin-macros@^2.0.0:
+  version "2.8.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138"
+  integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
   dependencies:
-    lodash "^4.17.11"
-    traverse "0.6.6"
+    "@babel/runtime" "^7.7.2"
+    cosmiconfig "^6.0.0"
+    resolve "^1.12.0"
 
-babel-plugin-transform-react-remove-prop-types@0.4.24:
-  version "0.4.24"
-  resolved "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
-  integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
+babel-plugin-relay@^13.0.1:
+  version "13.0.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-relay/-/babel-plugin-relay-13.0.1.tgz#d62f27a12cc8f6b1fc77a4e5d22fb52e1415d3a1"
+  integrity sha512-iiNjcfDDeoTfqNbb3e0uZvfcFxf0BK1q7VY78PrMCDZCONLE2Jsa5gLt0Gm2r84rv4mt+iEWi+oU+UF5CfcsXg==
+  dependencies:
+    babel-plugin-macros "^2.0.0"
+    cosmiconfig "^5.0.5"
+    graphql "15.3.0"
 
 babel-preset-current-node-syntax@^0.1.2:
   version "0.1.3"
@@ -2374,18 +1593,18 @@ babel-preset-jest@^25.5.0:
     babel-preset-current-node-syntax "^0.1.2"
 
 balanced-match@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
-  integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+  integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
 
 base64-js@^1.0.2:
-  version "1.3.1"
-  resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
-  integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+  integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
 
 base@^0.11.1:
   version "0.11.2"
-  resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+  resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
   integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
   dependencies:
     cache-base "^1.0.1"
@@ -2405,57 +1624,40 @@ bcrypt-pbkdf@^1.0.0:
 
 big.js@^5.2.2:
   version "5.2.2"
-  resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+  resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
   integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
 
-binary-extensions@^1.0.0:
-  version "1.13.1"
-  resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
-  integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
-
 binary-extensions@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
-  integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
-
-bindings@^1.5.0:
-  version "1.5.0"
-  resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
-  integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
-  dependencies:
-    file-uri-to-path "1.0.0"
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
 
-bluebird@3.7.2, bluebird@^3.5.5:
+bluebird@3.7.2:
   version "3.7.2"
   resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
   integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
 
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
-  version "4.11.9"
-  resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
-  integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
-
-bn.js@^5.1.1:
-  version "5.1.2"
-  resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0"
-  integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
+  version "4.12.0"
+  resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
+  integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
 
-boolbase@^1.0.0, boolbase@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
-  integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+bn.js@^5.0.0, bn.js@^5.1.1:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
+  integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
 
 brace-expansion@^1.1.7:
   version "1.1.11"
-  resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
   integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
   dependencies:
     balanced-match "^1.0.0"
     concat-map "0.0.1"
 
-braces@^2.3.1, braces@^2.3.2:
+braces@^2.3.1:
   version "2.3.2"
-  resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+  resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
   integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
   dependencies:
     arr-flatten "^1.1.0"
@@ -2476,9 +1678,9 @@ braces@^3.0.1, braces@~3.0.2:
   dependencies:
     fill-range "^7.0.1"
 
-brorand@^1.0.1:
+brorand@^1.0.1, brorand@^1.1.0:
   version "1.1.0"
-  resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+  resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
   integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
 
 browser-process-hrtime@^1.0.0:
@@ -2495,7 +1697,7 @@ browser-resolve@^1.11.3:
 
 browserify-aes@^1.0.0, browserify-aes@^1.0.4:
   version "1.2.0"
-  resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
+  resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
   integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
   dependencies:
     buffer-xor "^1.0.3"
@@ -2507,7 +1709,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4:
 
 browserify-cipher@^1.0.0:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
+  resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
   integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
   dependencies:
     browserify-aes "^1.0.4"
@@ -2516,7 +1718,7 @@ browserify-cipher@^1.0.0:
 
 browserify-des@^1.0.0:
   version "1.0.2"
-  resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
+  resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
   integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
   dependencies:
     cipher-base "^1.0.1"
@@ -2525,54 +1727,56 @@ browserify-des@^1.0.0:
     safe-buffer "^5.1.2"
 
 browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
-  integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d"
+  integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
   dependencies:
-    bn.js "^4.1.0"
+    bn.js "^5.0.0"
     randombytes "^2.0.1"
 
 browserify-sign@^4.0.0:
-  version "4.2.0"
-  resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11"
-  integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3"
+  integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==
   dependencies:
     bn.js "^5.1.1"
     browserify-rsa "^4.0.1"
     create-hash "^1.2.0"
     create-hmac "^1.1.7"
-    elliptic "^6.5.2"
+    elliptic "^6.5.3"
     inherits "^2.0.4"
     parse-asn1 "^5.1.5"
     readable-stream "^3.6.0"
     safe-buffer "^5.2.0"
 
-browserify-zlib@^0.2.0:
+browserify-zlib@0.2.0:
   version "0.2.0"
-  resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+  resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
   integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
   dependencies:
     pako "~1.0.5"
 
-browserslist@4.12.0:
-  version "4.12.0"
-  resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d"
-  integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==
+browserslist@4.16.6:
+  version "4.16.6"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
+  integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==
   dependencies:
-    caniuse-lite "^1.0.30001043"
-    electron-to-chromium "^1.3.413"
-    node-releases "^1.1.53"
-    pkg-up "^2.0.0"
+    caniuse-lite "^1.0.30001219"
+    colorette "^1.2.2"
+    electron-to-chromium "^1.3.723"
+    escalade "^3.1.1"
+    node-releases "^1.1.71"
 
-browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.12.0, browserslist@^4.8.5:
-  version "4.13.0"
-  resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d"
-  integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==
+browserslist@^4.12.0:
+  version "4.19.1"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3"
+  integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
   dependencies:
-    caniuse-lite "^1.0.30001093"
-    electron-to-chromium "^1.3.488"
-    escalade "^3.0.1"
-    node-releases "^1.1.58"
+    caniuse-lite "^1.0.30001286"
+    electron-to-chromium "^1.4.17"
+    escalade "^3.1.1"
+    node-releases "^2.0.1"
+    picocolors "^1.0.0"
 
 browserslist@^4.6.4:
   version "4.14.1"
@@ -2596,83 +1800,37 @@ buffer-crc32@~0.2.3:
   resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
   integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
 
-buffer-from@^1.0.0, buffer-from@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
-  integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+buffer-from@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+  integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
 
 buffer-xor@^1.0.3:
   version "1.0.3"
-  resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+  resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
   integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
 
-buffer@^4.3.0:
-  version "4.9.2"
-  resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
-  integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
+buffer@5.6.0:
+  version "5.6.0"
+  resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
+  integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==
   dependencies:
     base64-js "^1.0.2"
     ieee754 "^1.1.4"
-    isarray "^1.0.0"
 
 builtin-status-codes@^3.0.0:
   version "3.0.0"
-  resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+  resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
   integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
 
-bytes@^3.0.0:
+bytes@3.1.0, bytes@^3.0.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
   integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
 
-cacache@13.0.1:
-  version "13.0.1"
-  resolved "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c"
-  integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==
-  dependencies:
-    chownr "^1.1.2"
-    figgy-pudding "^3.5.1"
-    fs-minipass "^2.0.0"
-    glob "^7.1.4"
-    graceful-fs "^4.2.2"
-    infer-owner "^1.0.4"
-    lru-cache "^5.1.1"
-    minipass "^3.0.0"
-    minipass-collect "^1.0.2"
-    minipass-flush "^1.0.5"
-    minipass-pipeline "^1.2.2"
-    mkdirp "^0.5.1"
-    move-concurrently "^1.0.1"
-    p-map "^3.0.0"
-    promise-inflight "^1.0.1"
-    rimraf "^2.7.1"
-    ssri "^7.0.0"
-    unique-filename "^1.1.1"
-
-cacache@^12.0.2:
-  version "12.0.4"
-  resolved "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
-  integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
-  dependencies:
-    bluebird "^3.5.5"
-    chownr "^1.1.1"
-    figgy-pudding "^3.5.1"
-    glob "^7.1.4"
-    graceful-fs "^4.1.15"
-    infer-owner "^1.0.3"
-    lru-cache "^5.1.1"
-    mississippi "^3.0.0"
-    mkdirp "^0.5.1"
-    move-concurrently "^1.0.1"
-    promise-inflight "^1.0.1"
-    rimraf "^2.6.3"
-    ssri "^6.0.1"
-    unique-filename "^1.1.1"
-    y18n "^4.0.0"
-
 cache-base@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+  resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
   integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
   dependencies:
     collection-visit "^1.0.0"
@@ -2690,23 +1848,31 @@ cachedir@2.3.0:
   resolved "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8"
   integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==
 
+call-bind@^1.0.0, call-bind@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+  integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+  dependencies:
+    function-bind "^1.1.1"
+    get-intrinsic "^1.0.2"
+
 caller-callsite@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
+  resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
   integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
   dependencies:
     callsites "^2.0.0"
 
 caller-path@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
+  resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
   integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
   dependencies:
     caller-callsite "^2.0.0"
 
 callsites@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+  resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
   integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
 
 callsites@^3.0.0:
@@ -2719,36 +1885,21 @@ camelcase-css@^2.0.1:
   resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
   integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
 
-camelcase@5.0.0:
-  version "5.0.0"
-  resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42"
-  integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==
-
-camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1:
+camelcase@^5.0.0, camelcase@^5.3.1:
   version "5.3.1"
-  resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
   integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
 
-caniuse-api@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
-  integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
-  dependencies:
-    browserslist "^4.0.0"
-    caniuse-lite "^1.0.0"
-    lodash.memoize "^4.1.2"
-    lodash.uniq "^4.5.0"
-
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001093:
-  version "1.0.30001106"
-  resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001106.tgz#7e2132711295ef30ffe5ee45b71936354d105d8c"
-  integrity sha512-XqSQKt9Fd3Z9BoN0cpSaITcTInKhMNGkaWtQ4rDnyQU1BJzzWDWCUi3cJflaPWk2kbrkYkfMrMrjIFzb3kd6NQ==
-
 caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001124:
   version "1.0.30001124"
   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001124.tgz#5d9998190258e11630d674fc50ea8e579ae0ced2"
   integrity sha512-zQW8V3CdND7GHRH6rxm6s59Ww4g/qGWTheoboW9nfeMg7sUoopIfKCcNZUjwYRCOrvereh3kwDpZj4VLQ7zGtA==
 
+caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001286:
+  version "1.0.30001298"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz#0e690039f62e91c3ea581673d716890512e7ec52"
+  integrity sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ==
+
 capture-exit@^2.0.0:
   version "2.0.0"
   resolved "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4"
@@ -2763,7 +1914,7 @@ caseless@~0.12.0:
 
 chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
   version "2.4.2"
-  resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
   integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
   dependencies:
     ansi-styles "^3.2.1"
@@ -2772,7 +1923,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
 
 chalk@4.0.0:
   version "4.0.0"
-  resolved "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
   integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==
   dependencies:
     ansi-styles "^4.1.0"
@@ -2780,7 +1931,7 @@ chalk@4.0.0:
 
 chalk@^1.0.0, chalk@^1.1.3:
   version "1.1.3"
-  resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
   integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
   dependencies:
     ansi-styles "^2.2.1"
@@ -2820,29 +1971,10 @@ check-more-types@2.24.0:
   resolved "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600"
   integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=
 
-chokidar@2.1.8, chokidar@^2.1.8:
-  version "2.1.8"
-  resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
-  integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
-  dependencies:
-    anymatch "^2.0.0"
-    async-each "^1.0.1"
-    braces "^2.3.2"
-    glob-parent "^3.1.0"
-    inherits "^2.0.3"
-    is-binary-path "^1.0.0"
-    is-glob "^4.0.0"
-    normalize-path "^3.0.0"
-    path-is-absolute "^1.0.0"
-    readdirp "^2.2.1"
-    upath "^1.1.1"
-  optionalDependencies:
-    fsevents "^1.2.7"
-
-chokidar@^3.3.0, chokidar@^3.4.1:
-  version "3.4.1"
-  resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1"
-  integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==
+chokidar@3.5.1:
+  version "3.5.1"
+  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
+  integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
   dependencies:
     anymatch "~3.1.1"
     braces "~3.0.2"
@@ -2850,21 +1982,9 @@ chokidar@^3.3.0, chokidar@^3.4.1:
     is-binary-path "~2.1.0"
     is-glob "~4.0.1"
     normalize-path "~3.0.0"
-    readdirp "~3.4.0"
+    readdirp "~3.5.0"
   optionalDependencies:
-    fsevents "~2.1.2"
-
-chownr@^1.1.1, chownr@^1.1.2:
-  version "1.1.4"
-  resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
-  integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
-chrome-trace-event@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
-  integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
-  dependencies:
-    tslib "^1.9.0"
+    fsevents "~2.3.1"
 
 ci-info@^2.0.0:
   version "2.0.0"
@@ -2873,7 +1993,7 @@ ci-info@^2.0.0:
 
 cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
   version "1.0.4"
-  resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+  resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
   integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
   dependencies:
     inherits "^2.0.1"
@@ -2881,7 +2001,7 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
 
 class-utils@^0.3.5:
   version "0.3.6"
-  resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+  resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
   integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
   dependencies:
     arr-union "^3.1.0"
@@ -2891,12 +2011,12 @@ class-utils@^0.3.5:
 
 classnames@2.2.6:
   version "2.2.6"
-  resolved "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
+  resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
   integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
 
 clean-stack@^2.0.0:
   version "2.2.0"
-  resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+  resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
   integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
 
 cli-cursor@^1.0.2:
@@ -2960,29 +2080,11 @@ cliui@^6.0.0:
     strip-ansi "^6.0.0"
     wrap-ansi "^6.2.0"
 
-clone-deep@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
-  integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
-  dependencies:
-    is-plain-object "^2.0.4"
-    kind-of "^6.0.2"
-    shallow-clone "^3.0.0"
-
 co@^4.6.0:
   version "4.6.0"
   resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
   integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
 
-coa@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
-  integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
-  dependencies:
-    "@types/q" "^1.5.1"
-    chalk "^2.4.1"
-    q "^1.1.2"
-
 code-point-at@^1.0.0:
   version "1.1.0"
   resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
@@ -3005,7 +2107,7 @@ collect-v8-coverage@^1.0.0:
 
 collection-visit@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+  resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
   integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
   dependencies:
     map-visit "^1.0.0"
@@ -3013,37 +2115,37 @@ collection-visit@^1.0.0:
 
 color-convert@^1.9.0, color-convert@^1.9.1:
   version "1.9.3"
-  resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
   integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
   dependencies:
     color-name "1.1.3"
 
 color-convert@^2.0.1:
   version "2.0.1"
-  resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
   integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
   dependencies:
     color-name "~1.1.4"
 
 color-name@1.1.3:
   version "1.1.3"
-  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
   integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
 
 color-name@^1.0.0, color-name@~1.1.4:
   version "1.1.4"
-  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
 color-string@^1.5.2:
-  version "1.5.3"
-  resolved "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
-  integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
+  version "1.9.0"
+  resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa"
+  integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==
   dependencies:
     color-name "^1.0.0"
     simple-swizzle "^0.2.2"
 
-color@^3.0.0, color@^3.1.2:
+color@^3.1.2:
   version "3.1.2"
   resolved "https://registry.npmjs.org/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
   integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
@@ -3056,6 +2158,11 @@ colorette@^1.2.1:
   resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
   integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
 
+colorette@^1.2.2:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
+  integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+
 colors@^1.1.2:
   version "1.4.0"
   resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
@@ -3073,11 +2180,6 @@ commander@4.1.1:
   resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
   integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
 
-commander@^2.20.0:
-  version "2.20.3"
-  resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
-  integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-
 commander@^5.0.0, commander@^5.1.0:
   version "5.1.0"
   resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
@@ -3090,7 +2192,7 @@ common-tags@1.8.0:
 
 commondir@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+  resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
   integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
 
 compare-versions@^3.6.0:
@@ -3100,22 +2202,15 @@ compare-versions@^3.6.0:
 
 component-emitter@^1.2.1:
   version "1.3.0"
-  resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
+  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
   integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
 
-compose-function@3.0.3:
-  version "3.0.3"
-  resolved "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f"
-  integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=
-  dependencies:
-    arity-n "^1.0.4"
-
 concat-map@0.0.1:
   version "0.0.1"
-  resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
   integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
 
-concat-stream@^1.5.0, concat-stream@^1.6.2:
+concat-stream@^1.6.2:
   version "1.6.2"
   resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
   integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
@@ -3125,53 +2220,30 @@ concat-stream@^1.5.0, concat-stream@^1.6.2:
     readable-stream "^2.2.2"
     typedarray "^0.0.6"
 
-console-browserify@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
-  integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
-
-constants-browserify@^1.0.0:
+constants-browserify@1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+  resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
   integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
 
-convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
+convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0:
   version "1.7.0"
   resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
   integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
   dependencies:
     safe-buffer "~5.1.1"
 
-convert-source-map@^0.3.3:
-  version "0.3.5"
-  resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190"
-  integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA=
-
-copy-concurrently@^1.0.0:
-  version "1.0.5"
-  resolved "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
-  integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
+convert-source-map@^1.7.0:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
+  integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
   dependencies:
-    aproba "^1.1.1"
-    fs-write-stream-atomic "^1.0.8"
-    iferr "^0.1.5"
-    mkdirp "^0.5.1"
-    rimraf "^2.5.4"
-    run-queue "^1.0.0"
+    safe-buffer "~5.1.1"
 
 copy-descriptor@^0.1.0:
   version "0.1.1"
-  resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+  resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
   integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
 
-core-js-compat@^3.6.2:
-  version "3.6.5"
-  resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"
-  integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==
-  dependencies:
-    browserslist "^4.8.5"
-    semver "7.0.0"
-
 core-js-pure@^3.0.0:
   version "3.6.5"
   resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813"
@@ -3182,12 +2254,17 @@ core-js@^1.0.0:
   resolved "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
   integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
 
-core-util-is@1.0.2, core-util-is@~1.0.0:
+core-util-is@1.0.2:
   version "1.0.2"
   resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
   integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
 
-cosmiconfig@^5.0.0:
+core-util-is@~1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+  integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cosmiconfig@^5.0.5:
   version "5.2.1"
   resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
   integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
@@ -3209,16 +2286,16 @@ cosmiconfig@^6.0.0:
     yaml "^1.7.2"
 
 create-ecdh@^4.0.0:
-  version "4.0.3"
-  resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
-  integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
+  integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
   dependencies:
     bn.js "^4.1.0"
-    elliptic "^6.0.0"
+    elliptic "^6.5.3"
 
 create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
   version "1.2.0"
-  resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+  resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
   integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
   dependencies:
     cipher-base "^1.0.1"
@@ -3229,7 +2306,7 @@ create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
 
 create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
   version "1.1.7"
-  resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+  resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
   integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
   dependencies:
     cipher-base "^1.0.3"
@@ -3239,12 +2316,12 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
     safe-buffer "^5.0.1"
     sha.js "^2.4.8"
 
-cross-fetch@3.0.5:
-  version "3.0.5"
-  resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.5.tgz#2739d2981892e7ab488a7ad03b92df2816e03f4c"
-  integrity sha512-FFLcLtraisj5eteosnX1gf01qYDCOc4fDy0+euOt8Kn9YBY2NtXL/pCoYPavw24NIQkQqm5ZOLsGD5Zzj0gyew==
+cross-fetch@^3.0.4:
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39"
+  integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==
   dependencies:
-    node-fetch "2.6.0"
+    node-fetch "2.6.1"
 
 cross-spawn@^6.0.0, cross-spawn@^6.0.5:
   version "6.0.5"
@@ -3266,9 +2343,9 @@ cross-spawn@^7.0.0:
     shebang-command "^2.0.0"
     which "^2.0.1"
 
-crypto-browserify@^3.11.0:
+crypto-browserify@3.12.0:
   version "3.12.0"
-  resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+  resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
   integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
   dependencies:
     browserify-cipher "^1.0.0"
@@ -3290,19 +2367,6 @@ css-blank-pseudo@^0.1.4:
   dependencies:
     postcss "^7.0.5"
 
-css-color-names@0.0.4, css-color-names@^0.0.4:
-  version "0.0.4"
-  resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
-  integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=
-
-css-declaration-sorter@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22"
-  integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==
-  dependencies:
-    postcss "^7.0.1"
-    timsort "^0.3.0"
-
 css-has-pseudo@^0.10.0:
   version "0.10.0"
   resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee"
@@ -3311,25 +2375,6 @@ css-has-pseudo@^0.10.0:
     postcss "^7.0.6"
     postcss-selector-parser "^5.0.0-rc.4"
 
-css-loader@3.5.3:
-  version "3.5.3"
-  resolved "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz#95ac16468e1adcd95c844729e0bb167639eb0bcf"
-  integrity sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==
-  dependencies:
-    camelcase "^5.3.1"
-    cssesc "^3.0.0"
-    icss-utils "^4.1.1"
-    loader-utils "^1.2.3"
-    normalize-path "^3.0.0"
-    postcss "^7.0.27"
-    postcss-modules-extract-imports "^2.0.0"
-    postcss-modules-local-by-default "^3.0.2"
-    postcss-modules-scope "^2.2.0"
-    postcss-modules-values "^3.0.0"
-    postcss-value-parser "^4.0.3"
-    schema-utils "^2.6.6"
-    semver "^6.3.0"
-
 css-prefers-color-scheme@^3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4"
@@ -3337,62 +2382,16 @@ css-prefers-color-scheme@^3.1.1:
   dependencies:
     postcss "^7.0.5"
 
-css-select-base-adapter@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
-  integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
-
-css-select@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
-  integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
-  dependencies:
-    boolbase "^1.0.0"
-    css-what "^3.2.1"
-    domutils "^1.7.0"
-    nth-check "^1.0.2"
-
-css-tree@1.0.0-alpha.37:
-  version "1.0.0-alpha.37"
-  resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
-  integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
-  dependencies:
-    mdn-data "2.0.4"
-    source-map "^0.6.1"
-
-css-tree@1.0.0-alpha.39:
-  version "1.0.0-alpha.39"
-  resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb"
-  integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==
-  dependencies:
-    mdn-data "2.0.6"
-    source-map "^0.6.1"
-
 css-unit-converter@^1.1.1:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21"
   integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==
 
-css-what@^3.2.1:
-  version "3.3.0"
-  resolved "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39"
-  integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==
-
-css.escape@^1.5.0:
+css.escape@1.5.1:
   version "1.5.1"
-  resolved "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
+  resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
   integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=
 
-css@^2.0.0:
-  version "2.2.4"
-  resolved "https://registry.npmjs.org/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
-  integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==
-  dependencies:
-    inherits "^2.0.3"
-    source-map "^0.6.1"
-    source-map-resolve "^0.5.2"
-    urix "^0.1.0"
-
 cssdb@^4.4.0:
   version "4.4.0"
   resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0"
@@ -3405,83 +2404,22 @@ cssesc@^2.0.0:
 
 cssesc@^3.0.0:
   version "3.0.0"
-  resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+  resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
   integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
 
-cssnano-preset-default@^4.0.7:
-  version "4.0.7"
-  resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76"
-  integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==
-  dependencies:
-    css-declaration-sorter "^4.0.1"
-    cssnano-util-raw-cache "^4.0.1"
-    postcss "^7.0.0"
-    postcss-calc "^7.0.1"
-    postcss-colormin "^4.0.3"
-    postcss-convert-values "^4.0.1"
-    postcss-discard-comments "^4.0.2"
-    postcss-discard-duplicates "^4.0.2"
-    postcss-discard-empty "^4.0.1"
-    postcss-discard-overridden "^4.0.1"
-    postcss-merge-longhand "^4.0.11"
-    postcss-merge-rules "^4.0.3"
-    postcss-minify-font-values "^4.0.2"
-    postcss-minify-gradients "^4.0.2"
-    postcss-minify-params "^4.0.2"
-    postcss-minify-selectors "^4.0.2"
-    postcss-normalize-charset "^4.0.1"
-    postcss-normalize-display-values "^4.0.2"
-    postcss-normalize-positions "^4.0.2"
-    postcss-normalize-repeat-style "^4.0.2"
-    postcss-normalize-string "^4.0.2"
-    postcss-normalize-timing-functions "^4.0.2"
-    postcss-normalize-unicode "^4.0.1"
-    postcss-normalize-url "^4.0.1"
-    postcss-normalize-whitespace "^4.0.2"
-    postcss-ordered-values "^4.1.2"
-    postcss-reduce-initial "^4.0.3"
-    postcss-reduce-transforms "^4.0.2"
-    postcss-svgo "^4.0.2"
-    postcss-unique-selectors "^4.0.1"
-
-cssnano-util-get-arguments@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f"
-  integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=
-
-cssnano-util-get-match@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d"
-  integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=
-
-cssnano-util-raw-cache@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"
-  integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==
-  dependencies:
-    postcss "^7.0.0"
-
-cssnano-util-same-parent@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
-  integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
-
-cssnano@4.1.10:
-  version "4.1.10"
-  resolved "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
-  integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==
+cssnano-preset-simple@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-3.0.0.tgz#e95d0012699ca2c741306e9a3b8eeb495a348dbe"
+  integrity sha512-vxQPeoMRqUT3c/9f0vWeVa2nKQIHFpogtoBvFdW4GQ3IvEJ6uauCP6p3Y5zQDLFcI7/+40FTgX12o7XUL0Ko+w==
   dependencies:
-    cosmiconfig "^5.0.0"
-    cssnano-preset-default "^4.0.7"
-    is-resolvable "^1.0.0"
-    postcss "^7.0.0"
+    caniuse-lite "^1.0.30001202"
 
-csso@^4.0.2:
-  version "4.0.3"
-  resolved "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903"
-  integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==
+cssnano-simple@3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-3.0.0.tgz#a4b8ccdef4c7084af97e19bc5b93b4ecf211e90f"
+  integrity sha512-oU3ueli5Dtwgh0DyeohcIEE00QVfbPR3HzyXdAl89SfnQG3y0/qcpfLVW+jPIh3/rgMZGwuW96rejZGaYE9eUg==
   dependencies:
-    css-tree "1.0.0-alpha.39"
+    cssnano-preset-simple "^3.0.0"
 
 cssom@^0.4.1:
   version "0.4.4"
@@ -3505,10 +2443,10 @@ csstype@^2.2.0:
   resolved "https://registry.npmjs.org/csstype/-/csstype-2.6.11.tgz#452f4d024149ecf260a852b025e36562a253ffc5"
   integrity sha512-l8YyEC9NBkSm783PFTvh0FmJy7s5pFKrDp49ZL7zBGX3fWkO+N4EEyan1qqp8cwPLDcD0OSdyY6hAMoxp34JFw==
 
-cyclist@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
-  integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
+csstype@^3.0.2:
+  version "3.0.10"
+  resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5"
+  integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==
 
 cypress@^4.11.0:
   version "4.11.0"
@@ -3630,14 +2568,6 @@ d3-time@1, d3-time@^1.0.11:
   resolved "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1"
   integrity sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==
 
-d@1, d@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
-  integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
-  dependencies:
-    es5-ext "^0.10.50"
-    type "^1.0.1"
-
 dashdash@^1.12.0:
   version "1.14.1"
   resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@@ -3645,12 +2575,10 @@ dashdash@^1.12.0:
   dependencies:
     assert-plus "^1.0.0"
 
-data-uri-to-buffer@3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.0.tgz#8a3088a5efd3f53c3682343313c6895d498eb8d7"
-  integrity sha512-MJ6mFTZ+nPQO+39ua/ltwNePXrfdF3Ww0wP1Od7EePySXN1cP9XNqRQOG3FxTfipp8jx898LUCgBCEP11Qw/ZQ==
-  dependencies:
-    buffer-from "^1.1.1"
+data-uri-to-buffer@3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636"
+  integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==
 
 data-urls@^1.1.0:
   version "1.1.0"
@@ -3666,20 +2594,20 @@ date-fns@^1.27.2:
   resolved "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
   integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==
 
-debug@4.1.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
+debug@2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
+  version "2.6.9"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+  dependencies:
+    ms "2.0.0"
+
+debug@4.1.1, debug@^4.0.1, debug@^4.1.1:
   version "4.1.1"
   resolved "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
   integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
   dependencies:
     ms "^2.1.1"
 
-debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
-  version "2.6.9"
-  resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
-  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
-  dependencies:
-    ms "2.0.0"
-
 debug@^3.1.0:
   version "3.2.6"
   resolved "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
@@ -3687,6 +2615,13 @@ debug@^3.1.0:
   dependencies:
     ms "^2.1.1"
 
+debug@^4.1.0:
+  version "4.3.3"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
+  integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
+  dependencies:
+    ms "2.1.2"
+
 decamelize@^1.2.0:
   version "1.2.0"
   resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -3694,7 +2629,7 @@ decamelize@^1.2.0:
 
 decode-uri-component@^0.2.0:
   version "0.2.0"
-  resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+  resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
   integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
 
 dedent@^0.7.0:
@@ -3712,30 +2647,30 @@ deepmerge@^4.2.2:
   resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
   integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
 
-define-properties@^1.1.2, define-properties@^1.1.3:
+define-properties@^1.1.3:
   version "1.1.3"
-  resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
   integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
   dependencies:
     object-keys "^1.0.12"
 
 define-property@^0.2.5:
   version "0.2.5"
-  resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+  resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
   integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
   dependencies:
     is-descriptor "^0.1.0"
 
 define-property@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+  resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
   integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
   dependencies:
     is-descriptor "^1.0.0"
 
 define-property@^2.0.2:
   version "2.0.2"
-  resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+  resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
   integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
   dependencies:
     is-descriptor "^1.0.2"
@@ -3756,9 +2691,14 @@ delayed-stream@~1.0.0:
   resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
   integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
 
+depd@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+  integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+
 des.js@^1.0.0:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
+  resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
   integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==
   dependencies:
     inherits "^2.0.1"
@@ -3785,7 +2725,7 @@ diff-sequences@^25.2.6:
 
 diffie-hellman@^5.0.0:
   version "5.0.3"
-  resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
+  resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
   integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
   dependencies:
     bn.js "^4.1.0"
@@ -3811,18 +2751,18 @@ dom-accessibility-api@^0.4.6:
   resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.4.6.tgz#f3f2af68aee01b1c862f37918d41841bb1aaf92a"
   integrity sha512-qxFVFR/ymtfamEQT/AsYLe048sitxFCoCHiM+vuOdR3fE94i3so2SCFJxyz/RxV69PZ+9FgToYWOd7eqJqcbYw==
 
-dom-serializer@0, dom-serializer@^0.2.1:
+dom-serializer@0:
   version "0.2.2"
-  resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
+  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
   integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
   dependencies:
     domelementtype "^2.0.1"
     entities "^2.0.0"
 
-domain-browser@^1.1.1:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
-  integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
+domain-browser@4.19.0:
+  version "4.19.0"
+  resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1"
+  integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ==
 
 domelementtype@1, domelementtype@^1.3.1:
   version "1.3.1"
@@ -3830,9 +2770,9 @@ domelementtype@1, domelementtype@^1.3.1:
   integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
 
 domelementtype@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
-  integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
+  integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
 
 domexception@^1.0.1:
   version "1.0.1"
@@ -3848,23 +2788,7 @@ domhandler@2.4.2, domhandler@^2.3.0, domhandler@^2.4.0:
   dependencies:
     domelementtype "1"
 
-domhandler@3.0.0, domhandler@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/domhandler/-/domhandler-3.0.0.tgz#51cd13efca31da95bbb0c5bee3a48300e333b3e9"
-  integrity sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==
-  dependencies:
-    domelementtype "^2.0.1"
-
-domutils@2.1.0, domutils@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/domutils/-/domutils-2.1.0.tgz#7ade3201af43703fde154952e3a868eb4b635f16"
-  integrity sha512-CD9M0Dm1iaHfQ1R/TI+z3/JWp/pgub0j4jIQKH89ARR4ATAV2nbaOQS5XxU9maJP5jHaPdDDQSEHuE2UmpUTKg==
-  dependencies:
-    dom-serializer "^0.2.1"
-    domelementtype "^2.0.1"
-    domhandler "^3.0.0"
-
-domutils@^1.5.1, domutils@^1.7.0:
+domutils@^1.5.1:
   version "1.7.0"
   resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
   integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
@@ -3872,23 +2796,6 @@ domutils@^1.5.1, domutils@^1.7.0:
     dom-serializer "0"
     domelementtype "1"
 
-dot-prop@^5.2.0:
-  version "5.2.0"
-  resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"
-  integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==
-  dependencies:
-    is-obj "^2.0.0"
-
-duplexify@^3.4.2, duplexify@^3.6.0:
-  version "3.7.1"
-  resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
-  integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
-  dependencies:
-    end-of-stream "^1.0.0"
-    inherits "^2.0.1"
-    readable-stream "^2.0.0"
-    stream-shift "^1.0.0"
-
 ecc-jsbn@~0.1.1:
   version "0.1.2"
   resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@@ -3897,33 +2804,33 @@ ecc-jsbn@~0.1.1:
     jsbn "~0.1.0"
     safer-buffer "^2.1.0"
 
-electron-to-chromium@^1.3.413, electron-to-chromium@^1.3.488:
-  version "1.3.509"
-  resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.509.tgz#830fcb89cd66dc2984d18d794973b99e3f00584c"
-  integrity sha512-cN4lkjNRuTG8rtAqTOVgwpecEC2kbKA04PG6YijcKGHK/kD0xLjiqExcAOmLUwtXZRF8cBeam2I0VZcih919Ug==
-
 electron-to-chromium@^1.3.562:
   version "1.3.564"
   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.564.tgz#e9c319ae437b3eb8bbf3e3bae4bead5a21945961"
   integrity sha512-fNaYN3EtKQWLQsrKXui8mzcryJXuA0LbCLoizeX6oayG2emBaS5MauKjCPAvc29NEY4FpLHIUWiP+Y0Bfrs5dg==
 
+electron-to-chromium@^1.3.723, electron-to-chromium@^1.4.17:
+  version "1.4.39"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.39.tgz#19c8e8ff712fe62bfdd4f3fe1c3b3fb4aa179ebb"
+  integrity sha512-bFH3gdRq/l7WlzSleiO6dwpZH3RhiJ8vlMq0tOJMfT+5nb+x397eJn2RHF6Ho/9GCKv+BkimNlUMHl9+Yh+Qcg==
+
 elegant-spinner@^1.0.1:
   version "1.0.1"
   resolved "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
   integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=
 
-elliptic@^6.0.0, elliptic@^6.5.2:
-  version "6.5.3"
-  resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
-  integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
+elliptic@^6.5.3:
+  version "6.5.4"
+  resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
+  integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
   dependencies:
-    bn.js "^4.4.0"
-    brorand "^1.0.1"
+    bn.js "^4.11.9"
+    brorand "^1.1.0"
     hash.js "^1.0.0"
-    hmac-drbg "^1.0.0"
-    inherits "^2.0.1"
-    minimalistic-assert "^1.0.0"
-    minimalistic-crypto-utils "^1.0.0"
+    hmac-drbg "^1.0.1"
+    inherits "^2.0.4"
+    minimalistic-assert "^1.0.1"
+    minimalistic-crypto-utils "^1.0.1"
 
 emoji-regex@^7.0.1:
   version "7.0.3"
@@ -3937,37 +2844,23 @@ emoji-regex@^8.0.0:
 
 emojis-list@^2.0.0:
   version "2.1.0"
-  resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+  resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
   integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
 
-emojis-list@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
-  integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-
-encoding@^0.1.11:
+encoding@0.1.13, encoding@^0.1.11:
   version "0.1.13"
   resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
   integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
   dependencies:
     iconv-lite "^0.6.2"
 
-end-of-stream@^1.0.0, end-of-stream@^1.1.0:
+end-of-stream@^1.1.0:
   version "1.4.4"
-  resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
   integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
   dependencies:
     once "^1.4.0"
 
-enhanced-resolve@^4.1.0:
-  version "4.3.0"
-  resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126"
-  integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==
-  dependencies:
-    graceful-fs "^4.1.2"
-    memory-fs "^0.5.0"
-    tapable "^1.0.0"
-
 enquirer@^2.3.5:
   version "2.3.6"
   resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
@@ -3981,25 +2874,18 @@ entities@^1.1.1:
   integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
 
 entities@^2.0.0:
-  version "2.0.3"
-  resolved "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f"
-  integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==
-
-errno@^0.1.3, errno@~0.1.7:
-  version "0.1.7"
-  resolved "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
-  integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
-  dependencies:
-    prr "~1.0.1"
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+  integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
 
 error-ex@^1.3.1:
   version "1.3.2"
-  resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
   integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
   dependencies:
     is-arrayish "^0.2.1"
 
-es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
+es-abstract@^1.17.0:
   version "1.17.6"
   resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a"
   integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==
@@ -4016,49 +2902,59 @@ es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstrac
     string.prototype.trimend "^1.0.1"
     string.prototype.trimstart "^1.0.1"
 
+es-abstract@^1.17.0-next.1, es-abstract@^1.17.5, es-abstract@^1.18.5:
+  version "1.19.1"
+  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3"
+  integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==
+  dependencies:
+    call-bind "^1.0.2"
+    es-to-primitive "^1.2.1"
+    function-bind "^1.1.1"
+    get-intrinsic "^1.1.1"
+    get-symbol-description "^1.0.0"
+    has "^1.0.3"
+    has-symbols "^1.0.2"
+    internal-slot "^1.0.3"
+    is-callable "^1.2.4"
+    is-negative-zero "^2.0.1"
+    is-regex "^1.1.4"
+    is-shared-array-buffer "^1.0.1"
+    is-string "^1.0.7"
+    is-weakref "^1.0.1"
+    object-inspect "^1.11.0"
+    object-keys "^1.1.1"
+    object.assign "^4.1.2"
+    string.prototype.trimend "^1.0.4"
+    string.prototype.trimstart "^1.0.4"
+    unbox-primitive "^1.0.1"
+
 es-to-primitive@^1.2.1:
   version "1.2.1"
-  resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+  resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
   integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
   dependencies:
     is-callable "^1.1.4"
     is-date-object "^1.0.1"
     is-symbol "^1.0.2"
 
-es5-ext@^0.10.35, es5-ext@^0.10.50:
-  version "0.10.53"
-  resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
-  integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
-  dependencies:
-    es6-iterator "~2.0.3"
-    es6-symbol "~3.1.3"
-    next-tick "~1.0.0"
-
-es6-iterator@2.0.3, es6-iterator@~2.0.3:
-  version "2.0.3"
-  resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
-  integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
-  dependencies:
-    d "1"
-    es5-ext "^0.10.35"
-    es6-symbol "^3.1.1"
-
-es6-symbol@^3.1.1, es6-symbol@~3.1.3:
-  version "3.1.3"
-  resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
-  integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
-  dependencies:
-    d "^1.0.1"
-    ext "^1.1.2"
+es6-object-assign@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
+  integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=
 
-escalade@^3.0.1, escalade@^3.0.2:
+escalade@^3.0.2:
   version "3.0.2"
   resolved "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4"
   integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==
 
+escalade@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+  integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
 escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
   version "1.0.5"
-  resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
   integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
 
 escodegen@^1.11.1:
@@ -4104,14 +3000,6 @@ eslint-plugin-react@^7.19.0:
     resolve "^1.17.0"
     string.prototype.matchall "^4.0.2"
 
-eslint-scope@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
-  integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
-  dependencies:
-    esrecurse "^4.1.0"
-    estraverse "^4.1.1"
-
 eslint-scope@^5.0.0:
   version "5.1.0"
   resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
@@ -4193,7 +3081,7 @@ espree@^6.1.2:
 
 esprima@^4.0.0, esprima@^4.0.1:
   version "4.0.1"
-  resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
   integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
 
 esquery@^1.0.1:
@@ -4204,15 +3092,15 @@ esquery@^1.0.1:
     estraverse "^5.1.0"
 
 esrecurse@^4.1.0:
-  version "4.2.1"
-  resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
-  integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+  integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
   dependencies:
-    estraverse "^4.1.0"
+    estraverse "^5.2.0"
 
-estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.1.1, estraverse@^4.2.0:
   version "4.3.0"
-  resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
   integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
 
 estraverse@^5.1.0:
@@ -4220,24 +3108,34 @@ estraverse@^5.1.0:
   resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
   integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
 
+estraverse@^5.2.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+  integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
 esutils@^2.0.2:
   version "2.0.3"
-  resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
   integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
 
+etag@1.8.1:
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+  integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+
 eventemitter2@6.4.2:
   version "6.4.2"
   resolved "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.2.tgz#f31f8b99d45245f0edbc5b00797830ff3b388970"
   integrity sha512-r/Pwupa5RIzxIHbEKCkNXqpEQIIT4uQDxmP4G/Lug/NokVUWj0joz/WzWl3OxRpC5kDrH/WdiUJoR+IrwvXJEw==
 
-events@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.npmjs.org/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379"
-  integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==
+events@3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+  integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
 
 evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
   version "1.0.3"
-  resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+  resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
   integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
   dependencies:
     md5.js "^1.3.4"
@@ -4311,7 +3209,7 @@ exit@^0.1.2:
 
 expand-brackets@^2.1.4:
   version "2.1.4"
-  resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+  resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
   integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
   dependencies:
     debug "^2.3.3"
@@ -4334,23 +3232,16 @@ expect@^25.5.0:
     jest-message-util "^25.5.0"
     jest-regex-util "^25.2.6"
 
-ext@^1.1.2:
-  version "1.4.0"
-  resolved "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
-  integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
-  dependencies:
-    type "^2.0.0"
-
 extend-shallow@^2.0.1:
   version "2.0.1"
-  resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
   integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
   dependencies:
     is-extendable "^0.1.0"
 
 extend-shallow@^3.0.0, extend-shallow@^3.0.2:
   version "3.0.2"
-  resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
   integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
   dependencies:
     assign-symbols "^1.0.0"
@@ -4372,7 +3263,7 @@ external-editor@^3.0.3:
 
 extglob@^2.0.4:
   version "2.0.4"
-  resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+  resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
   integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
   dependencies:
     array-unique "^0.3.2"
@@ -4406,12 +3297,12 @@ extsprintf@^1.2.0:
 
 fast-deep-equal@^3.1.1:
   version "3.1.3"
-  resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
   integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
 
 fast-json-stable-stringify@^2.0.0:
   version "2.1.0"
-  resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
   integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
 
 fast-levenshtein@~2.0.6:
@@ -4426,6 +3317,11 @@ fb-watchman@^2.0.0:
   dependencies:
     bser "2.1.1"
 
+fbjs-css-vars@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8"
+  integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==
+
 fbjs@^0.8.1:
   version "0.8.17"
   resolved "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
@@ -4439,6 +3335,19 @@ fbjs@^0.8.1:
     setimmediate "^1.0.5"
     ua-parser-js "^0.7.18"
 
+fbjs@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.2.tgz#dfae08a85c66a58372993ce2caf30863f569ff94"
+  integrity sha512-qv+boqYndjElAJHNN3NoM8XuwQZ1j2m3kEvTgdle8IDjr6oUbkEpvABWtj/rQl3vq4ew7dnElBxL4YJAwTVqQQ==
+  dependencies:
+    cross-fetch "^3.0.4"
+    fbjs-css-vars "^1.0.0"
+    loose-envify "^1.0.0"
+    object-assign "^4.1.0"
+    promise "^7.1.1"
+    setimmediate "^1.0.5"
+    ua-parser-js "^0.7.30"
+
 fd-slicer@~1.1.0:
   version "1.1.0"
   resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
@@ -4446,11 +3355,6 @@ fd-slicer@~1.1.0:
   dependencies:
     pend "~1.2.0"
 
-figgy-pudding@^3.5.1:
-  version "3.5.2"
-  resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
-  integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
-
 figures@^1.7.0:
   version "1.7.0"
   resolved "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
@@ -4480,14 +3384,9 @@ file-entry-cache@^5.0.1:
   dependencies:
     flat-cache "^2.0.1"
 
-file-uri-to-path@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
-  integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-
 fill-range@^4.0.0:
   version "4.0.0"
-  resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
   integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
   dependencies:
     extend-shallow "^2.0.1"
@@ -4497,43 +3396,20 @@ fill-range@^4.0.0:
 
 fill-range@^7.0.1:
   version "7.0.1"
-  resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
   integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
   dependencies:
     to-regex-range "^5.0.1"
 
 find-cache-dir@3.3.1:
   version "3.3.1"
-  resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
+  resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
   integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
   dependencies:
     commondir "^1.0.1"
     make-dir "^3.0.2"
     pkg-dir "^4.1.0"
 
-find-cache-dir@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
-  integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
-  dependencies:
-    commondir "^1.0.1"
-    make-dir "^2.0.0"
-    pkg-dir "^3.0.0"
-
-find-up@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
-  integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
-  dependencies:
-    locate-path "^2.0.0"
-
-find-up@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
-  integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
-  dependencies:
-    locate-path "^3.0.0"
-
 find-up@^4.0.0, find-up@^4.1.0:
   version "4.1.0"
   resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
@@ -4568,38 +3444,21 @@ flatten@^1.0.2:
   resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b"
   integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==
 
-flush-write-stream@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
-  integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
-  dependencies:
-    inherits "^2.0.3"
-    readable-stream "^2.3.6"
-
 for-in@^1.0.2:
   version "1.0.2"
-  resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
   integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
 
+foreach@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
+  integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
+
 forever-agent@~0.6.1:
   version "0.6.1"
   resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
   integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
 
-fork-ts-checker-webpack-plugin@3.1.1:
-  version "3.1.1"
-  resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19"
-  integrity sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==
-  dependencies:
-    babel-code-frame "^6.22.0"
-    chalk "^2.4.1"
-    chokidar "^3.3.0"
-    micromatch "^3.1.10"
-    minimatch "^3.0.4"
-    semver "^5.6.0"
-    tapable "^1.0.0"
-    worker-rpc "^0.1.0"
-
 form-data@~2.3.2:
   version "2.3.3"
   resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@@ -4611,19 +3470,11 @@ form-data@~2.3.2:
 
 fragment-cache@^0.2.1:
   version "0.2.1"
-  resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+  resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
   integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
   dependencies:
     map-cache "^0.2.2"
 
-from2@^2.1.0:
-  version "2.3.0"
-  resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
-  integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
-  dependencies:
-    inherits "^2.0.1"
-    readable-stream "^2.0.0"
-
 fs-extra@8.1.0, fs-extra@^8.0.0:
   version "8.1.0"
   resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
@@ -4633,44 +3484,24 @@ fs-extra@8.1.0, fs-extra@^8.0.0:
     jsonfile "^4.0.0"
     universalify "^0.1.0"
 
-fs-minipass@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
-  integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
-  dependencies:
-    minipass "^3.0.0"
-
-fs-write-stream-atomic@^1.0.8:
-  version "1.0.10"
-  resolved "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
-  integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
-  dependencies:
-    graceful-fs "^4.1.2"
-    iferr "^0.1.5"
-    imurmurhash "^0.1.4"
-    readable-stream "1 || 2"
-
 fs.realpath@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
   integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
 
-fsevents@^1.2.7:
-  version "1.2.13"
-  resolved "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
-  integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
-  dependencies:
-    bindings "^1.5.0"
-    nan "^2.12.1"
-
-fsevents@^2.1.2, fsevents@~2.1.2:
+fsevents@^2.1.2:
   version "2.1.3"
   resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
   integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
 
+fsevents@~2.3.1:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
 function-bind@^1.1.1:
   version "1.1.1"
-  resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
   integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
 
 functional-red-black-tree@^1.0.1:
@@ -4688,11 +3519,27 @@ get-caller-file@^2.0.1:
   resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
   integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
 
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
+  integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
+  dependencies:
+    function-bind "^1.1.1"
+    has "^1.0.3"
+    has-symbols "^1.0.1"
+
 get-node-dimensions@^1.2.1:
   version "1.2.1"
   resolved "https://registry.npmjs.org/get-node-dimensions/-/get-node-dimensions-1.2.1.tgz#fb7b4bb57060fb4247dd51c9d690dfbec56b0823"
   integrity sha512-2MSPMu7S1iOTL+BOa6K1S62hB2zUAYNF/lV0gSVlOaacd087lc6nR1H1r0e3B1CerTo+RceOmi1iJW+vp21xcQ==
 
+get-orientation@1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/get-orientation/-/get-orientation-1.1.2.tgz#20507928951814f8a91ded0a0e67b29dfab98947"
+  integrity sha512-/pViTfifW+gBbh/RnlFYHINvELT9Znt+SYyDKAUL6uV6By019AK/s+i9XP4jSwq7lwP38Fd8HVeTxym3+hkwmQ==
+  dependencies:
+    stream-parser "^0.3.1"
+
 get-own-enumerable-property-symbols@^3.0.0:
   version "3.0.2"
   resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
@@ -4722,9 +3569,17 @@ get-stream@^5.0.0:
   dependencies:
     pump "^3.0.0"
 
+get-symbol-description@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
+  integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.1.1"
+
 get-value@^2.0.3, get-value@^2.0.6:
   version "2.0.6"
-  resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+  resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
   integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
 
 getos@3.2.1:
@@ -4741,27 +3596,26 @@ getpass@^0.1.1:
   dependencies:
     assert-plus "^1.0.0"
 
-glob-parent@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
-  integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
-  dependencies:
-    is-glob "^3.1.0"
-    path-dirname "^1.0.0"
-
-glob-parent@^5.0.0, glob-parent@~5.1.0:
+glob-parent@^5.0.0:
   version "5.1.1"
   resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
   integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
   dependencies:
     is-glob "^4.0.1"
 
+glob-parent@~5.1.0:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+  dependencies:
+    is-glob "^4.0.1"
+
 glob-to-regexp@^0.4.1:
   version "0.4.1"
-  resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
+  resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
   integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
 
-glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
+glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.6:
   version "7.1.6"
   resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
   integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
@@ -4773,6 +3627,18 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
+glob@^7.1.3, glob@^7.1.4:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+  integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.0.4"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
 global-dirs@^2.0.1:
   version "2.0.1"
   resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201"
@@ -4782,7 +3648,7 @@ global-dirs@^2.0.1:
 
 globals@^11.1.0, globals@^11.12.0:
   version "11.12.0"
-  resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
   integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
 
 globals@^12.1.0:
@@ -4792,11 +3658,26 @@ globals@^12.1.0:
   dependencies:
     type-fest "^0.8.1"
 
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4:
+graceful-fs@^4.1.2:
+  version "4.2.9"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
+  integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
+
+graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
   version "4.2.4"
   resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
   integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
 
+graphql@15.3.0:
+  version "15.3.0"
+  resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.3.0.tgz#3ad2b0caab0d110e3be4a5a9b2aa281e362b5278"
+  integrity sha512-GTCJtzJmkFLWRfFJuoo9RWWa/FfamUHgiFosxi/X1Ani4AVWbeyBenZTNX6dM+7WSbbFfTo/25eh0LLkwHMw2w==
+
+graphql@^16.2.0:
+  version "16.2.0"
+  resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.2.0.tgz#de3150e80f1fc009590b92a9d16ab1b46e12b656"
+  integrity sha512-MuQd7XXrdOcmfwuLwC2jNvx0n3rxIuNYOxUtiee5XOmfrWo613ar2U8pE7aHAKh8VwfpifubpD9IP+EdEAEOsA==
+
 growly@^1.3.0:
   version "1.3.0"
   resolved "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
@@ -4817,29 +3698,41 @@ har-validator@~5.1.3:
 
 has-ansi@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
   integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
   dependencies:
     ansi-regex "^2.0.0"
 
+has-bigints@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
+  integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
+
 has-flag@^3.0.0:
   version "3.0.0"
-  resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
   integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
 
 has-flag@^4.0.0:
   version "4.0.0"
-  resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
   integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 
-has-symbols@^1.0.0, has-symbols@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
-  integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
+has-symbols@^1.0.1, has-symbols@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
+  integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
+
+has-tostringtag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
+  integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
+  dependencies:
+    has-symbols "^1.0.2"
 
 has-value@^0.3.1:
   version "0.3.1"
-  resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+  resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
   integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
   dependencies:
     get-value "^2.0.3"
@@ -4848,7 +3741,7 @@ has-value@^0.3.1:
 
 has-value@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+  resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
   integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
   dependencies:
     get-value "^2.0.6"
@@ -4857,27 +3750,27 @@ has-value@^1.0.0:
 
 has-values@^0.1.4:
   version "0.1.4"
-  resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+  resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
   integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
 
 has-values@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+  resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
   integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
   dependencies:
     is-number "^3.0.0"
     kind-of "^4.0.0"
 
-has@^1.0.0, has@^1.0.3:
+has@^1.0.3:
   version "1.0.3"
-  resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+  resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
   integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
   dependencies:
     function-bind "^1.1.1"
 
 hash-base@^3.0.0:
   version "3.1.0"
-  resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
+  resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
   integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
   dependencies:
     inherits "^2.0.4"
@@ -4886,20 +3779,20 @@ hash-base@^3.0.0:
 
 hash.js@^1.0.0, hash.js@^1.0.3:
   version "1.1.7"
-  resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
+  resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
   integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
   dependencies:
     inherits "^2.0.3"
     minimalistic-assert "^1.0.1"
 
-hex-color-regex@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
-  integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
+he@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+  integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
 
-hmac-drbg@^1.0.0:
+hmac-drbg@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+  resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
   integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
   dependencies:
     hash.js "^1.0.3"
@@ -4916,21 +3809,6 @@ hosted-git-info@^2.1.4:
   resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
   integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
 
-hsl-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e"
-  integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=
-
-hsla-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
-  integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg=
-
-html-comment-regex@^1.1.0:
-  version "1.1.2"
-  resolved "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
-  integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
-
 html-dom-parser@0.3.0:
   version "0.3.0"
   resolved "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-0.3.0.tgz#19864ca42836ec8750b439600633f145ab5409b9"
@@ -4979,15 +3857,16 @@ htmlparser2@3.10.1:
     inherits "^2.0.1"
     readable-stream "^3.1.1"
 
-htmlparser2@4.1.0:
-  version "4.1.0"
-  resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78"
-  integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==
+http-errors@1.7.3:
+  version "1.7.3"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
+  integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
   dependencies:
-    domelementtype "^2.0.1"
-    domhandler "^3.0.0"
-    domutils "^2.0.0"
-    entities "^2.0.0"
+    depd "~1.1.2"
+    inherits "2.0.4"
+    setprototypeof "1.1.1"
+    statuses ">= 1.5.0 < 2"
+    toidentifier "1.0.0"
 
 http-signature@~1.2.0:
   version "1.2.0"
@@ -4998,9 +3877,9 @@ http-signature@~1.2.0:
     jsprim "^1.2.2"
     sshpk "^1.7.0"
 
-https-browserify@^1.0.0:
+https-browserify@1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+  resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
   integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
 
 human-signals@^1.1.1:
@@ -5038,31 +3917,26 @@ iconv-lite@^0.6.2:
   dependencies:
     safer-buffer ">= 2.1.2 < 3.0.0"
 
-icss-utils@^4.0.0, icss-utils@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
-  integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==
-  dependencies:
-    postcss "^7.0.14"
-
 ieee754@^1.1.4:
-  version "1.1.13"
-  resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
-  integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
-
-iferr@^0.1.5:
-  version "0.1.5"
-  resolved "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
-  integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
 
 ignore@^4.0.6:
   version "4.0.6"
   resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
   integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
 
+image-size@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz#58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750"
+  integrity sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==
+  dependencies:
+    queue "6.0.2"
+
 import-fresh@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
+  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
   integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
   dependencies:
     caller-path "^2.0.0"
@@ -5086,7 +3960,7 @@ import-local@^3.0.2:
 
 imurmurhash@^0.1.4:
   version "0.1.4"
-  resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
   integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
 
 indent-string@^3.0.0:
@@ -5096,42 +3970,27 @@ indent-string@^3.0.0:
 
 indent-string@^4.0.0:
   version "4.0.0"
-  resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
   integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
 
 indexes-of@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
+  resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
   integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
 
-infer-owner@^1.0.3, infer-owner@^1.0.4:
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
-  integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
-
 inflight@^1.0.4:
   version "1.0.6"
-  resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
   integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
   dependencies:
     once "^1.3.0"
     wrappy "1"
 
-inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4:
   version "2.0.4"
-  resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
 
-inherits@2.0.1:
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
-  integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
-
-inherits@2.0.3:
-  version "2.0.3"
-  resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-  integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-
 ini@^1.3.5:
   version "1.3.5"
   resolved "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
@@ -5170,9 +4029,18 @@ internal-slot@^1.0.2:
     has "^1.0.3"
     side-channel "^1.0.2"
 
-invariant@^2.2.2, invariant@^2.2.4:
+internal-slot@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
+  integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
+  dependencies:
+    get-intrinsic "^1.1.0"
+    has "^1.0.3"
+    side-channel "^1.0.4"
+
+invariant@^2.2.4:
   version "2.2.4"
-  resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+  resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
   integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
   dependencies:
     loose-envify "^1.0.0"
@@ -5182,58 +4050,69 @@ ip-regex@^2.1.0:
   resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
   integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=
 
-is-absolute-url@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
-  integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
-
 is-accessor-descriptor@^0.1.6:
   version "0.1.6"
-  resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+  resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
   integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
   dependencies:
     kind-of "^3.0.2"
 
 is-accessor-descriptor@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+  resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
   integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
   dependencies:
     kind-of "^6.0.0"
 
+is-arguments@^1.0.4:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
+  integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
+  dependencies:
+    call-bind "^1.0.2"
+    has-tostringtag "^1.0.0"
+
 is-arrayish@^0.2.1:
   version "0.2.1"
-  resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
   integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
 
 is-arrayish@^0.3.1:
   version "0.3.2"
-  resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
+  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
   integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
 
-is-binary-path@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
-  integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
+is-bigint@^1.0.1:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
+  integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
   dependencies:
-    binary-extensions "^1.0.0"
+    has-bigints "^1.0.1"
 
 is-binary-path@~2.1.0:
   version "2.1.0"
-  resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
   integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
   dependencies:
     binary-extensions "^2.0.0"
 
+is-boolean-object@^1.1.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
+  integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
+  dependencies:
+    call-bind "^1.0.2"
+    has-tostringtag "^1.0.0"
+
 is-buffer@^1.1.5:
   version "1.1.6"
-  resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
   integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
 
-is-callable@^1.1.4, is-callable@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb"
-  integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==
+is-callable@^1.1.4, is-callable@^1.2.0, is-callable@^1.2.4:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
+  integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
 
 is-ci@2.0.0, is-ci@^2.0.0:
   version "2.0.0"
@@ -5242,40 +4121,37 @@ is-ci@2.0.0, is-ci@^2.0.0:
   dependencies:
     ci-info "^2.0.0"
 
-is-color-stop@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
-  integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=
+is-core-module@^2.8.0:
+  version "2.8.1"
+  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
+  integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
   dependencies:
-    css-color-names "^0.0.4"
-    hex-color-regex "^1.1.0"
-    hsl-regex "^1.0.0"
-    hsla-regex "^1.0.0"
-    rgb-regex "^1.0.1"
-    rgba-regex "^1.0.0"
+    has "^1.0.3"
 
 is-data-descriptor@^0.1.4:
   version "0.1.4"
-  resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+  resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
   integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
   dependencies:
     kind-of "^3.0.2"
 
 is-data-descriptor@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+  resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
   integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
   dependencies:
     kind-of "^6.0.0"
 
 is-date-object@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
-  integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
+  integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
+  dependencies:
+    has-tostringtag "^1.0.0"
 
 is-descriptor@^0.1.0:
   version "0.1.6"
-  resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+  resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
   integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
   dependencies:
     is-accessor-descriptor "^0.1.6"
@@ -5284,7 +4160,7 @@ is-descriptor@^0.1.0:
 
 is-descriptor@^1.0.0, is-descriptor@^1.0.2:
   version "1.0.2"
-  resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+  resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
   integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
   dependencies:
     is-accessor-descriptor "^1.0.0"
@@ -5293,7 +4169,7 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
 
 is-directory@^0.3.1:
   version "0.3.1"
-  resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
+  resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
   integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
 
 is-docker@^2.0.0:
@@ -5303,19 +4179,19 @@ is-docker@^2.0.0:
 
 is-extendable@^0.1.0, is-extendable@^0.1.1:
   version "0.1.1"
-  resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
   integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
 
 is-extendable@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
   integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
   dependencies:
     is-plain-object "^2.0.4"
 
-is-extglob@^2.1.0, is-extglob@^2.1.1:
+is-extglob@^2.1.1:
   version "2.1.1"
-  resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
   integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
 
 is-fullwidth-code-point@^1.0.0:
@@ -5340,17 +4216,17 @@ is-generator-fn@^2.0.0:
   resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
   integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
 
-is-glob@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
-  integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
+is-generator-function@^1.0.7:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
+  integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
   dependencies:
-    is-extglob "^2.1.0"
+    has-tostringtag "^1.0.0"
 
 is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
-  integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+  integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
   dependencies:
     is-extglob "^2.1.1"
 
@@ -5362,16 +4238,36 @@ is-installed-globally@0.3.2:
     global-dirs "^2.0.1"
     is-path-inside "^3.0.1"
 
+is-nan@^1.2.1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d"
+  integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==
+  dependencies:
+    call-bind "^1.0.0"
+    define-properties "^1.1.3"
+
+is-negative-zero@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
+  integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
+
+is-number-object@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0"
+  integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
 is-number@^3.0.0:
   version "3.0.0"
-  resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
   integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
   dependencies:
     kind-of "^3.0.2"
 
 is-number@^7.0.0:
   version "7.0.0"
-  resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
   integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
 
 is-obj@^1.0.1:
@@ -5379,11 +4275,6 @@ is-obj@^1.0.1:
   resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
   integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
 
-is-obj@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
-  integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
 is-observable@^1.1.0:
   version "1.1.0"
   resolved "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e"
@@ -5396,14 +4287,9 @@ is-path-inside@^3.0.1:
   resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017"
   integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==
 
-is-plain-obj@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
-  integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
-
 is-plain-object@^2.0.3, is-plain-object@^2.0.4:
   version "2.0.4"
-  resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+  resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
   integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
   dependencies:
     isobject "^3.0.1"
@@ -5413,22 +4299,23 @@ is-promise@^2.1.0:
   resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
   integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
 
-is-regex@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff"
-  integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==
+is-regex@^1.1.0, is-regex@^1.1.4:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
+  integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
   dependencies:
-    has-symbols "^1.0.1"
+    call-bind "^1.0.2"
+    has-tostringtag "^1.0.0"
 
 is-regexp@^1.0.0:
   version "1.0.0"
   resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
   integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
 
-is-resolvable@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
-  integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
+is-shared-array-buffer@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"
+  integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==
 
 is-stream@^1.0.1, is-stream@^1.1.0:
   version "1.1.0"
@@ -5445,35 +4332,48 @@ is-string@^1.0.5:
   resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
   integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
 
-is-svg@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
-  integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==
+is-string@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
+  integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
   dependencies:
-    html-comment-regex "^1.1.0"
+    has-tostringtag "^1.0.0"
 
-is-symbol@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
-  integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
+is-symbol@^1.0.2, is-symbol@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
+  integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
   dependencies:
-    has-symbols "^1.0.1"
+    has-symbols "^1.0.2"
+
+is-typed-array@^1.1.3, is-typed-array@^1.1.7:
+  version "1.1.8"
+  resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79"
+  integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==
+  dependencies:
+    available-typed-arrays "^1.0.5"
+    call-bind "^1.0.2"
+    es-abstract "^1.18.5"
+    foreach "^2.0.5"
+    has-tostringtag "^1.0.0"
 
 is-typedarray@^1.0.0, is-typedarray@~1.0.0:
   version "1.0.0"
   resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
   integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
 
+is-weakref@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
+  integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
+  dependencies:
+    call-bind "^1.0.2"
+
 is-windows@^1.0.2:
   version "1.0.2"
-  resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+  resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
   integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
 
-is-wsl@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
-  integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
-
 is-wsl@^2.1.1:
   version "2.2.0"
   resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
@@ -5481,9 +4381,9 @@ is-wsl@^2.1.1:
   dependencies:
     is-docker "^2.0.0"
 
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+isarray@1.0.0, isarray@~1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
   integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
 
 isexe@^2.0.0:
@@ -5493,14 +4393,14 @@ isexe@^2.0.0:
 
 isobject@^2.0.0:
   version "2.1.0"
-  resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+  resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
   integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
   dependencies:
     isarray "1.0.0"
 
 isobject@^3.0.0, isobject@^3.0.1:
   version "3.0.1"
-  resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+  resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
   integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
 
 isomorphic-fetch@^2.1.1:
@@ -5917,13 +4817,14 @@ jest-watcher@^25.2.4, jest-watcher@^25.5.0:
     jest-util "^25.5.0"
     string-length "^3.1.0"
 
-jest-worker@24.9.0:
-  version "24.9.0"
-  resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"
-  integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==
+jest-worker@27.0.0-next.5:
+  version "27.0.0-next.5"
+  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.5.tgz#5985ee29b12a4e191f4aae4bb73b97971d86ec28"
+  integrity sha512-mk0umAQ5lT+CaOJ+Qp01N6kz48sJG2kr2n1rX0koqKf6FIygQV0qLOdN9SCYID4IVeSigDOcPeGLozdMLYfb5g==
   dependencies:
+    "@types/node" "*"
     merge-stream "^2.0.0"
-    supports-color "^6.1.0"
+    supports-color "^8.0.0"
 
 jest-worker@^25.5.0:
   version "25.5.0"
@@ -5944,18 +4845,13 @@ jest@^25.2.3:
 
 "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
   version "4.0.0"
-  resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
   integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
 
-js-tokens@^3.0.2:
-  version "3.0.2"
-  resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
-  integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
-
 js-yaml@^3.13.1:
-  version "3.14.0"
-  resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
-  integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
+  version "3.14.1"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
   dependencies:
     argparse "^1.0.7"
     esprima "^4.0.0"
@@ -5999,22 +4895,17 @@ jsdom@^15.2.1:
 
 jsesc@^2.5.1:
   version "2.5.2"
-  resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
   integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
 
-jsesc@~0.5.0:
-  version "0.5.0"
-  resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
-  integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
-
-json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
+json-parse-better-errors@^1.0.1:
   version "1.0.2"
-  resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+  resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
   integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
 
 json-schema-traverse@^0.4.1:
   version "0.4.1"
-  resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
   integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
 
 json-schema@0.2.3:
@@ -6034,15 +4925,15 @@ json-stringify-safe@~5.0.1:
 
 json5@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
   integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
   dependencies:
     minimist "^1.2.0"
 
-json5@^2.1.0, json5@^2.1.2:
-  version "2.1.3"
-  resolved "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
-  integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+json5@^2.1.2:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
+  integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
   dependencies:
     minimist "^1.2.5"
 
@@ -6073,26 +4964,26 @@ jsx-ast-utils@^2.4.1:
 
 kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
   version "3.2.2"
-  resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
   integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
   dependencies:
     is-buffer "^1.1.5"
 
 kind-of@^4.0.0:
   version "4.0.0"
-  resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
   integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
   dependencies:
     is-buffer "^1.1.5"
 
 kind-of@^5.0.0:
   version "5.1.0"
-  resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
   integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
 
 kind-of@^6.0.0, kind-of@^6.0.2:
   version "6.0.3"
-  resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
   integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
 
 kleur@^3.0.3:
@@ -6107,16 +4998,9 @@ lazy-ass@1.6.0:
 
 leven@^3.1.0:
   version "3.1.0"
-  resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
+  resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
   integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
 
-levenary@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77"
-  integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==
-  dependencies:
-    leven "^3.1.0"
-
 levn@^0.3.0, levn@~0.3.0:
   version "0.3.0"
   resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -6209,57 +5093,18 @@ listr@0.14.3:
     p-map "^2.0.0"
     rxjs "^6.3.3"
 
-loader-runner@^2.4.0:
-  version "2.4.0"
-  resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
-  integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-
 loader-utils@1.2.3:
   version "1.2.3"
-  resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
+  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
   integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
   dependencies:
     big.js "^5.2.2"
     emojis-list "^2.0.0"
     json5 "^1.0.1"
 
-loader-utils@2.0.0, loader-utils@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
-  integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==
-  dependencies:
-    big.js "^5.2.2"
-    emojis-list "^3.0.0"
-    json5 "^2.1.2"
-
-loader-utils@^1.1.0, loader-utils@^1.2.3:
-  version "1.4.0"
-  resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
-  integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
-  dependencies:
-    big.js "^5.2.2"
-    emojis-list "^3.0.0"
-    json5 "^1.0.1"
-
-locate-path@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
-  integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
-  dependencies:
-    p-locate "^2.0.0"
-    path-exists "^3.0.0"
-
-locate-path@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
-  integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
-  dependencies:
-    p-locate "^3.0.0"
-    path-exists "^3.0.0"
-
 locate-path@^5.0.0:
   version "5.0.0"
-  resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
   integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
   dependencies:
     p-locate "^4.1.0"
@@ -6279,11 +5124,6 @@ lodash.isplainobject@^4.0.6:
   resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
   integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
 
-lodash.memoize@^4.1.2:
-  version "4.1.2"
-  resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
-  integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
-
 lodash.once@^4.1.1:
   version "4.1.1"
   resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
@@ -6291,7 +5131,7 @@ lodash.once@^4.1.1:
 
 lodash.sortby@^4.7.0:
   version "4.7.0"
-  resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
+  resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
   integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
 
 lodash.template@^4.5.0:
@@ -6314,16 +5154,16 @@ lodash.toarray@^4.4.0:
   resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
   integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE=
 
-lodash.uniq@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-  integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-
-lodash@4.17.19, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19:
+lodash@4.17.19, lodash@^4.17.14, lodash@^4.17.15:
   version "4.17.19"
   resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
   integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
 
+lodash@^4.17.11, lodash@^4.17.19:
+  version "4.17.21"
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
 lodash@^4.17.20:
   version "4.17.20"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
@@ -6378,26 +5218,11 @@ lolex@^5.0.0:
 
 loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
   version "1.4.0"
-  resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+  resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
   integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
   dependencies:
     js-tokens "^3.0.0 || ^4.0.0"
 
-lru-cache@5.1.1, lru-cache@^5.1.1:
-  version "5.1.1"
-  resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
-  integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
-  dependencies:
-    yallist "^3.0.2"
-
-make-dir@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
-  integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
-  dependencies:
-    pify "^4.0.1"
-    semver "^5.6.0"
-
 make-dir@^3.0.0, make-dir@^3.0.2:
   version "3.1.0"
   resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
@@ -6414,64 +5239,33 @@ makeerror@1.0.x:
 
 map-cache@^0.2.2:
   version "0.2.2"
-  resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+  resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
   integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
 
 map-visit@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+  resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
   integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
   dependencies:
     object-visit "^1.0.0"
 
 md5.js@^1.3.4:
   version "1.3.5"
-  resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+  resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
   integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
   dependencies:
     hash-base "^3.0.0"
     inherits "^2.0.1"
     safe-buffer "^5.1.2"
 
-mdn-data@2.0.4:
-  version "2.0.4"
-  resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
-  integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
-
-mdn-data@2.0.6:
-  version "2.0.6"
-  resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978"
-  integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==
-
-memory-fs@^0.4.1:
-  version "0.4.1"
-  resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
-  integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
-  dependencies:
-    errno "^0.1.3"
-    readable-stream "^2.0.1"
-
-memory-fs@^0.5.0:
-  version "0.5.0"
-  resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
-  integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
-  dependencies:
-    errno "^0.1.3"
-    readable-stream "^2.0.1"
-
 merge-stream@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+  resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
   integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
 
-microevent.ts@~0.1.1:
-  version "0.1.1"
-  resolved "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0"
-  integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==
-
-micromatch@^3.1.10, micromatch@^3.1.4:
+micromatch@^3.1.4:
   version "3.1.10"
-  resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
   integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
   dependencies:
     arr-diff "^4.0.0"
@@ -6498,7 +5292,7 @@ micromatch@^4.0.2:
 
 miller-rabin@^4.0.0:
   version "4.0.1"
-  resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+  resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
   integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
   dependencies:
     bn.js "^4.0.0"
@@ -6526,29 +5320,19 @@ mimic-fn@^2.1.0:
   resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
   integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
 
-mini-css-extract-plugin@0.8.0:
-  version "0.8.0"
-  resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1"
-  integrity sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==
-  dependencies:
-    loader-utils "^1.1.0"
-    normalize-url "1.9.1"
-    schema-utils "^1.0.0"
-    webpack-sources "^1.1.0"
-
 minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+  resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
   integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
 
-minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
+minimalistic-crypto-utils@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+  resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
   integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
 
 minimatch@^3.0.4:
   version "3.0.4"
-  resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
   integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
   dependencies:
     brace-expansion "^1.1.7"
@@ -6558,66 +5342,15 @@ minimist@1.2.5, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
   resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
   integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
 
-minipass-collect@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617"
-  integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==
-  dependencies:
-    minipass "^3.0.0"
-
-minipass-flush@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373"
-  integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==
-  dependencies:
-    minipass "^3.0.0"
-
-minipass-pipeline@^1.2.2:
-  version "1.2.3"
-  resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz#55f7839307d74859d6e8ada9c3ebe72cec216a34"
-  integrity sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==
-  dependencies:
-    minipass "^3.0.0"
-
-minipass@^3.0.0, minipass@^3.1.1:
-  version "3.1.3"
-  resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd"
-  integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==
-  dependencies:
-    yallist "^4.0.0"
-
-mississippi@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
-  integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
-  dependencies:
-    concat-stream "^1.5.0"
-    duplexify "^3.4.2"
-    end-of-stream "^1.1.0"
-    flush-write-stream "^1.0.0"
-    from2 "^2.1.0"
-    parallel-transform "^1.1.0"
-    pump "^3.0.0"
-    pumpify "^1.3.3"
-    stream-each "^1.1.0"
-    through2 "^2.0.0"
-
 mixin-deep@^1.2.0:
   version "1.3.2"
-  resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+  resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
   integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
   dependencies:
     for-in "^1.0.2"
     is-extendable "^1.0.1"
 
-mkdirp@0.5.3:
-  version "0.5.3"
-  resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz#5a514b7179259287952881e94410ec5465659f8c"
-  integrity sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==
-  dependencies:
-    minimist "^1.2.5"
-
-mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@~0.5.1:
+mkdirp@^0.5.1, mkdirp@^0.5.4:
   version "0.5.5"
   resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
   integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
@@ -6629,41 +5362,34 @@ moment@2.26.0:
   resolved "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz#5e1f82c6bafca6e83e808b30c8705eed0dcbd39a"
   integrity sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==
 
-move-concurrently@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
-  integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
-  dependencies:
-    aproba "^1.1.1"
-    copy-concurrently "^1.0.0"
-    fs-write-stream-atomic "^1.0.8"
-    mkdirp "^0.5.1"
-    rimraf "^2.5.4"
-    run-queue "^1.0.3"
-
 ms@2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
   integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
 
-ms@^2.1.1:
+ms@2.1.2:
   version "2.1.2"
-  resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
   integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
 
+ms@^2.1.1:
+  version "2.1.3"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
 mute-stream@0.0.8:
   version "0.0.8"
   resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
   integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
 
-nan@^2.12.1:
-  version "2.14.1"
-  resolved "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
-  integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
+nanoid@^3.1.23:
+  version "3.1.30"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362"
+  integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==
 
 nanomatch@^1.2.9:
   version "1.2.13"
-  resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+  resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
   integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
   dependencies:
     arr-diff "^4.0.0"
@@ -6678,89 +5404,77 @@ nanomatch@^1.2.9:
     snapdragon "^0.8.1"
     to-regex "^3.0.1"
 
-native-url@0.3.1:
-  version "0.3.1"
-  resolved "https://registry.npmjs.org/native-url/-/native-url-0.3.1.tgz#5045c65d0eb4c3ee548d48e3cb50797eec5a3c54"
-  integrity sha512-VL0XRW8nNBdSpxqZCbLJKrLHmIMn82FZ8pJzriJgyBmErjdEtrUX6eZAJbtHjlkMooEWUV+EtJ0D5tOP3+1Piw==
-  dependencies:
-    querystring "^0.2.0"
-
 natural-compare@^1.4.0:
   version "1.4.0"
   resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
   integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
 
-neo-async@2.6.1:
-  version "2.6.1"
-  resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
-  integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
-
-neo-async@^2.5.0, neo-async@^2.6.1:
-  version "2.6.2"
-  resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
-  integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
-
-next-tick@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
-  integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
-
-next@latest:
-  version "9.4.4"
-  resolved "https://registry.npmjs.org/next/-/next-9.4.4.tgz#02ad9fea7f7016b6b42fc83b67835e4a0dd0c99a"
-  integrity sha512-ZT8bU2SAv5jkFQ+y8py+Rl5RJRJ6DnZDS+VUnB1cIscmtmUhDi7LYED7pYm4MCKkYhPbEEM1Lbpo7fnoZJGWNQ==
-  dependencies:
-    "@ampproject/toolbox-optimizer" "2.4.0"
-    "@babel/code-frame" "7.8.3"
-    "@babel/core" "7.7.7"
-    "@babel/plugin-proposal-class-properties" "7.8.3"
-    "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3"
-    "@babel/plugin-proposal-numeric-separator" "7.8.3"
-    "@babel/plugin-proposal-object-rest-spread" "7.9.6"
-    "@babel/plugin-proposal-optional-chaining" "7.9.0"
-    "@babel/plugin-syntax-bigint" "7.8.3"
-    "@babel/plugin-syntax-dynamic-import" "7.8.3"
-    "@babel/plugin-transform-modules-commonjs" "7.9.6"
-    "@babel/plugin-transform-runtime" "7.9.6"
-    "@babel/preset-env" "7.9.6"
-    "@babel/preset-modules" "0.1.3"
-    "@babel/preset-react" "7.9.4"
-    "@babel/preset-typescript" "7.9.0"
-    "@babel/runtime" "7.9.6"
-    "@babel/types" "7.9.6"
-    "@next/react-dev-overlay" "9.4.4"
-    "@next/react-refresh-utils" "9.4.4"
-    babel-plugin-syntax-jsx "6.18.0"
-    babel-plugin-transform-define "2.0.0"
-    babel-plugin-transform-react-remove-prop-types "0.4.24"
-    browserslist "4.12.0"
-    cacache "13.0.1"
-    chokidar "2.1.8"
-    css-loader "3.5.3"
+next@^12.0.7:
+  version "12.0.7"
+  resolved "https://registry.yarnpkg.com/next/-/next-12.0.7.tgz#33ebf229b81b06e583ab5ae7613cffe1ca2103fc"
+  integrity sha512-sKO8GJJYfuk9c+q+zHSNumvff+wP7ufmOlwT6BuzwiYfFJ61VTTkfTcDLSJ+95ErQJiC54uS4Yg5JEE8H6jXRA==
+  dependencies:
+    "@babel/runtime" "7.15.4"
+    "@hapi/accept" "5.0.2"
+    "@napi-rs/triples" "1.0.3"
+    "@next/env" "12.0.7"
+    "@next/polyfill-module" "12.0.7"
+    "@next/react-dev-overlay" "12.0.7"
+    "@next/react-refresh-utils" "12.0.7"
+    acorn "8.5.0"
+    assert "2.0.0"
+    browserify-zlib "0.2.0"
+    browserslist "4.16.6"
+    buffer "5.6.0"
+    caniuse-lite "^1.0.30001228"
+    chalk "2.4.2"
+    chokidar "3.5.1"
+    constants-browserify "1.0.0"
+    crypto-browserify "3.12.0"
+    cssnano-simple "3.0.0"
+    domain-browser "4.19.0"
+    encoding "0.1.13"
+    etag "1.8.1"
+    events "3.3.0"
     find-cache-dir "3.3.1"
-    fork-ts-checker-webpack-plugin "3.1.1"
-    jest-worker "24.9.0"
-    loader-utils "2.0.0"
-    mini-css-extract-plugin "0.8.0"
-    mkdirp "0.5.3"
-    native-url "0.3.1"
-    neo-async "2.6.1"
-    pnp-webpack-plugin "1.6.4"
-    postcss "7.0.29"
-    prop-types "15.7.2"
-    prop-types-exact "1.2.0"
-    react-is "16.13.1"
+    get-orientation "1.1.2"
+    https-browserify "1.0.0"
+    image-size "1.0.0"
+    jest-worker "27.0.0-next.5"
+    node-fetch "2.6.1"
+    node-html-parser "1.4.9"
+    os-browserify "0.3.0"
+    p-limit "3.1.0"
+    path-browserify "1.0.1"
+    postcss "8.2.15"
+    process "0.11.10"
+    querystring-es3 "0.2.1"
+    raw-body "2.4.1"
+    react-is "17.0.2"
     react-refresh "0.8.3"
-    resolve-url-loader "3.1.1"
-    sass-loader "8.0.2"
-    schema-utils "2.6.6"
-    style-loader "1.2.1"
-    styled-jsx "3.3.0"
-    use-subscription "1.4.1"
-    watchpack "2.0.0-beta.13"
-    web-vitals "0.2.1"
-    webpack "4.43.0"
-    webpack-sources "1.4.3"
+    regenerator-runtime "0.13.4"
+    stream-browserify "3.0.0"
+    stream-http "3.1.1"
+    string_decoder "1.3.0"
+    styled-jsx "5.0.0-beta.3"
+    timers-browserify "2.0.12"
+    tty-browserify "0.0.1"
+    use-subscription "1.5.1"
+    util "0.12.4"
+    vm-browserify "1.1.2"
+    watchpack "2.3.0"
+  optionalDependencies:
+    "@next/swc-android-arm64" "12.0.7"
+    "@next/swc-darwin-arm64" "12.0.7"
+    "@next/swc-darwin-x64" "12.0.7"
+    "@next/swc-linux-arm-gnueabihf" "12.0.7"
+    "@next/swc-linux-arm64-gnu" "12.0.7"
+    "@next/swc-linux-arm64-musl" "12.0.7"
+    "@next/swc-linux-x64-gnu" "12.0.7"
+    "@next/swc-linux-x64-musl" "12.0.7"
+    "@next/swc-win32-arm64-msvc" "12.0.7"
+    "@next/swc-win32-ia32-msvc" "12.0.7"
+    "@next/swc-win32-x64-msvc" "12.0.7"
 
 nice-try@^1.0.4:
   version "1.0.5"
@@ -6774,10 +5488,10 @@ node-emoji@^1.8.1:
   dependencies:
     lodash.toarray "^4.4.0"
 
-node-fetch@2.6.0:
-  version "2.6.0"
-  resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
-  integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
+node-fetch@2.6.1:
+  version "2.6.1"
+  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
+  integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
 
 node-fetch@^1.0.1:
   version "1.7.3"
@@ -6787,40 +5501,18 @@ node-fetch@^1.0.1:
     encoding "^0.1.11"
     is-stream "^1.0.1"
 
+node-html-parser@1.4.9:
+  version "1.4.9"
+  resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.9.tgz#3c8f6cac46479fae5800725edb532e9ae8fd816c"
+  integrity sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw==
+  dependencies:
+    he "1.2.0"
+
 node-int64@^0.4.0:
   version "0.4.0"
   resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
   integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
 
-node-libs-browser@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
-  integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
-  dependencies:
-    assert "^1.1.1"
-    browserify-zlib "^0.2.0"
-    buffer "^4.3.0"
-    console-browserify "^1.1.0"
-    constants-browserify "^1.0.0"
-    crypto-browserify "^3.11.0"
-    domain-browser "^1.1.1"
-    events "^3.0.0"
-    https-browserify "^1.0.0"
-    os-browserify "^0.3.0"
-    path-browserify "0.0.1"
-    process "^0.11.10"
-    punycode "^1.2.4"
-    querystring-es3 "^0.2.0"
-    readable-stream "^2.3.3"
-    stream-browserify "^2.0.1"
-    stream-http "^2.7.2"
-    string_decoder "^1.0.0"
-    timers-browserify "^2.0.4"
-    tty-browserify "0.0.0"
-    url "^0.11.0"
-    util "^0.11.0"
-    vm-browserify "^1.0.1"
-
 node-modules-regexp@^1.0.0:
   version "1.0.0"
   resolved "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
@@ -6837,15 +5529,20 @@ node-notifier@^6.0.0:
     shellwords "^0.1.1"
     which "^1.3.1"
 
-node-releases@^1.1.53, node-releases@^1.1.58, node-releases@^1.1.60:
+node-releases@^1.1.60:
   version "1.1.60"
   resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084"
   integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==
 
-normalize-html-whitespace@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-1.0.0.tgz#5e3c8e192f1b06c3b9eee4b7e7f28854c7601e34"
-  integrity sha512-9ui7CGtOOlehQu0t/OhhlmDyc71mKVlv+4vF+me4iZLPrNtRL2xoquEdfZxasC/bdQi/Hr3iTrpyRKIG+ocabA==
+node-releases@^1.1.71:
+  version "1.1.77"
+  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e"
+  integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==
+
+node-releases@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
+  integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
 
 normalize-package-data@^2.5.0:
   version "2.5.0"
@@ -6859,14 +5556,14 @@ normalize-package-data@^2.5.0:
 
 normalize-path@^2.1.1:
   version "2.1.1"
-  resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
   integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
   dependencies:
     remove-trailing-separator "^1.0.1"
 
 normalize-path@^3.0.0, normalize-path@~3.0.0:
   version "3.0.0"
-  resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
   integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
 
 normalize-range@^0.1.2:
@@ -6874,21 +5571,6 @@ normalize-range@^0.1.2:
   resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
   integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
 
-normalize-url@1.9.1:
-  version "1.9.1"
-  resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
-  integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
-  dependencies:
-    object-assign "^4.0.1"
-    prepend-http "^1.0.0"
-    query-string "^4.1.0"
-    sort-keys "^1.0.0"
-
-normalize-url@^3.0.0:
-  version "3.3.0"
-  resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
-  integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
-
 normalize.css@^8.0.1:
   version "8.0.1"
   resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3"
@@ -6908,12 +5590,10 @@ npm-run-path@^4.0.0:
   dependencies:
     path-key "^3.0.0"
 
-nth-check@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
-  integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
-  dependencies:
-    boolbase "~1.0.0"
+nullthrows@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
+  integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
 
 num2fraction@^1.2.2:
   version "1.2.2"
@@ -6935,14 +5615,14 @@ oauth-sign@~0.9.0:
   resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
   integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
 
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@^4.1.0, object-assign@^4.1.1:
   version "4.1.1"
-  resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
   integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
 
 object-copy@^0.1.0:
   version "0.1.0"
-  resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+  resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
   integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
   dependencies:
     copy-descriptor "^0.1.0"
@@ -6954,37 +5634,40 @@ object-hash@^2.0.3:
   resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea"
   integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==
 
-object-inspect@^1.7.0:
-  version "1.8.0"
-  resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
-  integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
+object-inspect@^1.11.0, object-inspect@^1.7.0, object-inspect@^1.9.0:
+  version "1.12.0"
+  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0"
+  integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==
+
+object-is@^1.0.1:
+  version "1.1.5"
+  resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
+  integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
 
-object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
+object-keys@^1.0.12, object-keys@^1.1.1:
   version "1.1.1"
-  resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
   integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
 
-object-path@0.11.4:
-  version "0.11.4"
-  resolved "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949"
-  integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=
-
 object-visit@^1.0.0:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+  resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
   integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
   dependencies:
     isobject "^3.0.0"
 
-object.assign@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
-  integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
+object.assign@^4.1.0, object.assign@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
+  integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
   dependencies:
-    define-properties "^1.1.2"
-    function-bind "^1.1.1"
-    has-symbols "^1.0.0"
-    object-keys "^1.0.11"
+    call-bind "^1.0.0"
+    define-properties "^1.1.3"
+    has-symbols "^1.0.1"
+    object-keys "^1.1.1"
 
 object.entries@^1.1.2:
   version "1.1.2"
@@ -7005,22 +5688,14 @@ object.fromentries@^2.0.2:
     function-bind "^1.1.1"
     has "^1.0.3"
 
-object.getownpropertydescriptors@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
-  integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==
-  dependencies:
-    define-properties "^1.1.3"
-    es-abstract "^1.17.0-next.1"
-
 object.pick@^1.3.0:
   version "1.3.0"
-  resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+  resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
   integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
   dependencies:
     isobject "^3.0.1"
 
-object.values@^1.1.0, object.values@^1.1.1:
+object.values@^1.1.1:
   version "1.1.1"
   resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
   integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
@@ -7032,7 +5707,7 @@ object.values@^1.1.0, object.values@^1.1.1:
 
 once@^1.3.0, once@^1.3.1, once@^1.4.0:
   version "1.4.0"
-  resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
   integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
   dependencies:
     wrappy "1"
@@ -7073,9 +5748,9 @@ optionator@^0.8.1, optionator@^0.8.3:
     type-check "~0.3.2"
     word-wrap "~1.2.3"
 
-os-browserify@^0.3.0:
+os-browserify@0.3.0:
   version "0.3.0"
-  resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+  resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
   integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
 
 os-tmpdir@~1.0.2:
@@ -7103,37 +5778,23 @@ p-finally@^2.0.0:
   resolved "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
   integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==
 
-p-limit@^1.1.0:
-  version "1.3.0"
-  resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
-  integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+p-limit@3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+  integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
   dependencies:
-    p-try "^1.0.0"
+    yocto-queue "^0.1.0"
 
-p-limit@^2.0.0, p-limit@^2.2.0:
+p-limit@^2.2.0:
   version "2.3.0"
-  resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
   integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
   dependencies:
     p-try "^2.0.0"
 
-p-locate@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
-  integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
-  dependencies:
-    p-limit "^1.1.0"
-
-p-locate@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
-  integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
-  dependencies:
-    p-limit "^2.0.0"
-
 p-locate@^4.1.0:
   version "4.1.0"
-  resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
   integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
   dependencies:
     p-limit "^2.2.0"
@@ -7143,13 +5804,6 @@ p-map@^2.0.0:
   resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
   integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
 
-p-map@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d"
-  integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==
-  dependencies:
-    aggregate-error "^3.0.0"
-
 p-map@^4.0.0:
   version "4.0.0"
   resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
@@ -7157,30 +5811,16 @@ p-map@^4.0.0:
   dependencies:
     aggregate-error "^3.0.0"
 
-p-try@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
-  integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
-
 p-try@^2.0.0:
   version "2.2.0"
-  resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+  resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
   integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
 
 pako@~1.0.5:
   version "1.0.11"
-  resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
+  resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
   integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
 
-parallel-transform@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
-  integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==
-  dependencies:
-    cyclist "^1.0.1"
-    inherits "^2.0.3"
-    readable-stream "^2.1.5"
-
 parent-module@^1.0.0:
   version "1.0.1"
   resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -7189,20 +5829,19 @@ parent-module@^1.0.0:
     callsites "^3.0.0"
 
 parse-asn1@^5.0.0, parse-asn1@^5.1.5:
-  version "5.1.5"
-  resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e"
-  integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==
+  version "5.1.6"
+  resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4"
+  integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==
   dependencies:
-    asn1.js "^4.0.0"
+    asn1.js "^5.2.0"
     browserify-aes "^1.0.0"
-    create-hash "^1.1.0"
     evp_bytestokey "^1.0.0"
     pbkdf2 "^3.0.3"
     safe-buffer "^5.1.1"
 
 parse-json@^4.0.0:
   version "4.0.0"
-  resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
   integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
   dependencies:
     error-ex "^1.3.1"
@@ -7225,32 +5864,22 @@ parse5@5.1.0:
 
 pascalcase@^0.1.1:
   version "0.1.1"
-  resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+  resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
   integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
 
-path-browserify@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
-  integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
-
-path-dirname@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
-  integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
-
-path-exists@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
-  integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+path-browserify@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
+  integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
 
 path-exists@^4.0.0:
   version "4.0.0"
-  resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
   integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
 
 path-is-absolute@^1.0.0:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
   integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
 
 path-key@^2.0.0, path-key@^2.0.1:
@@ -7263,10 +5892,10 @@ path-key@^3.0.0, path-key@^3.1.0:
   resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
   integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
 
-path-parse@^1.0.6:
-  version "1.0.6"
-  resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
-  integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+path-parse@^1.0.6, path-parse@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
 
 path-type@^4.0.0:
   version "4.0.0"
@@ -7274,9 +5903,9 @@ path-type@^4.0.0:
   integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
 
 pbkdf2@^3.0.3:
-  version "3.1.1"
-  resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
-  integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
+  integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
   dependencies:
     create-hash "^1.1.2"
     create-hmac "^1.1.4"
@@ -7299,7 +5928,22 @@ performance-now@^2.1.0:
   resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
   integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
 
-picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
+picocolors@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f"
+  integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==
+
+picocolors@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+picomatch@^2.0.4, picomatch@^2.2.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+picomatch@^2.0.5:
   version "2.2.2"
   resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
   integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
@@ -7309,11 +5953,6 @@ pify@^2.2.0:
   resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
   integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
 
-pify@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
-  integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
 pirates@^4.0.1:
   version "4.0.1"
   resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87"
@@ -7321,13 +5960,6 @@ pirates@^4.0.1:
   dependencies:
     node-modules-regexp "^1.0.0"
 
-pkg-dir@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
-  integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
-  dependencies:
-    find-up "^3.0.0"
-
 pkg-dir@^4.1.0, pkg-dir@^4.2.0:
   version "4.2.0"
   resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
@@ -7335,17 +5967,10 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0:
   dependencies:
     find-up "^4.0.0"
 
-pkg-up@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
-  integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
-  dependencies:
-    find-up "^2.1.0"
-
-platform@1.3.3:
-  version "1.3.3"
-  resolved "https://registry.npmjs.org/platform/-/platform-1.3.3.tgz#646c77011899870b6a0903e75e997e8e51da7461"
-  integrity sha1-ZGx3ARiZhwtqCQPnXpl+jlHadGE=
+platform@1.3.6:
+  version "1.3.6"
+  resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7"
+  integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==
 
 please-upgrade-node@^3.2.0:
   version "3.2.0"
@@ -7359,16 +5984,9 @@ pn@^1.1.0:
   resolved "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
   integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
 
-pnp-webpack-plugin@1.6.4:
-  version "1.6.4"
-  resolved "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149"
-  integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==
-  dependencies:
-    ts-pnp "^1.1.6"
-
 posix-character-classes@^0.1.0:
   version "0.1.1"
-  resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+  resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
   integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
 
 postcss-attribute-case-insensitive@^4.0.1:
@@ -7379,15 +5997,6 @@ postcss-attribute-case-insensitive@^4.0.1:
     postcss "^7.0.2"
     postcss-selector-parser "^6.0.2"
 
-postcss-calc@^7.0.1:
-  version "7.0.2"
-  resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1"
-  integrity sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==
-  dependencies:
-    postcss "^7.0.27"
-    postcss-selector-parser "^6.0.2"
-    postcss-value-parser "^4.0.2"
-
 postcss-color-functional-notation@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0"
@@ -7430,25 +6039,6 @@ postcss-color-rebeccapurple@^4.0.1:
     postcss "^7.0.2"
     postcss-values-parser "^2.0.0"
 
-postcss-colormin@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
-  integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==
-  dependencies:
-    browserslist "^4.0.0"
-    color "^3.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-convert-values@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
-  integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==
-  dependencies:
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
 postcss-custom-media@^7.0.8:
   version "7.0.8"
   resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c"
@@ -7480,34 +6070,6 @@ postcss-dir-pseudo-class@^5.0.0:
     postcss "^7.0.2"
     postcss-selector-parser "^5.0.0-rc.3"
 
-postcss-discard-comments@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
-  integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==
-  dependencies:
-    postcss "^7.0.0"
-
-postcss-discard-duplicates@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
-  integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==
-  dependencies:
-    postcss "^7.0.0"
-
-postcss-discard-empty@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
-  integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==
-  dependencies:
-    postcss "^7.0.0"
-
-postcss-discard-overridden@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
-  integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==
-  dependencies:
-    postcss "^7.0.0"
-
 postcss-double-position-gradients@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e"
@@ -7616,101 +6178,6 @@ postcss-media-minmax@^4.0.0:
   dependencies:
     postcss "^7.0.2"
 
-postcss-merge-longhand@^4.0.11:
-  version "4.0.11"
-  resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
-  integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==
-  dependencies:
-    css-color-names "0.0.4"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-    stylehacks "^4.0.0"
-
-postcss-merge-rules@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
-  integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==
-  dependencies:
-    browserslist "^4.0.0"
-    caniuse-api "^3.0.0"
-    cssnano-util-same-parent "^4.0.0"
-    postcss "^7.0.0"
-    postcss-selector-parser "^3.0.0"
-    vendors "^1.0.0"
-
-postcss-minify-font-values@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
-  integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==
-  dependencies:
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-minify-gradients@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
-  integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==
-  dependencies:
-    cssnano-util-get-arguments "^4.0.0"
-    is-color-stop "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-minify-params@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
-  integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==
-  dependencies:
-    alphanum-sort "^1.0.0"
-    browserslist "^4.0.0"
-    cssnano-util-get-arguments "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-    uniqs "^2.0.0"
-
-postcss-minify-selectors@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
-  integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==
-  dependencies:
-    alphanum-sort "^1.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-selector-parser "^3.0.0"
-
-postcss-modules-extract-imports@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e"
-  integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==
-  dependencies:
-    postcss "^7.0.5"
-
-postcss-modules-local-by-default@^3.0.2:
-  version "3.0.3"
-  resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0"
-  integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==
-  dependencies:
-    icss-utils "^4.1.1"
-    postcss "^7.0.32"
-    postcss-selector-parser "^6.0.2"
-    postcss-value-parser "^4.1.0"
-
-postcss-modules-scope@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
-  integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
-  dependencies:
-    postcss "^7.0.6"
-    postcss-selector-parser "^6.0.0"
-
-postcss-modules-values@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10"
-  integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==
-  dependencies:
-    icss-utils "^4.0.0"
-    postcss "^7.0.6"
-
 postcss-nested@^4.1.1:
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-4.2.3.tgz#c6f255b0a720549776d220d00c4b70cd244136f6"
@@ -7726,96 +6193,6 @@ postcss-nesting@^7.0.0:
   dependencies:
     postcss "^7.0.2"
 
-postcss-normalize-charset@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
-  integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==
-  dependencies:
-    postcss "^7.0.0"
-
-postcss-normalize-display-values@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a"
-  integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==
-  dependencies:
-    cssnano-util-get-match "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-normalize-positions@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f"
-  integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==
-  dependencies:
-    cssnano-util-get-arguments "^4.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-normalize-repeat-style@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c"
-  integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==
-  dependencies:
-    cssnano-util-get-arguments "^4.0.0"
-    cssnano-util-get-match "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-normalize-string@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c"
-  integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==
-  dependencies:
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-normalize-timing-functions@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9"
-  integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==
-  dependencies:
-    cssnano-util-get-match "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-normalize-unicode@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"
-  integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==
-  dependencies:
-    browserslist "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-normalize-url@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
-  integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==
-  dependencies:
-    is-absolute-url "^2.0.0"
-    normalize-url "^3.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-normalize-whitespace@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82"
-  integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==
-  dependencies:
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
-postcss-ordered-values@^4.1.2:
-  version "4.1.2"
-  resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
-  integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==
-  dependencies:
-    cssnano-util-get-arguments "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
 postcss-overflow-shorthand@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30"
@@ -7889,26 +6266,6 @@ postcss-pseudo-class-any-link@^6.0.0:
     postcss "^7.0.2"
     postcss-selector-parser "^5.0.0-rc.3"
 
-postcss-reduce-initial@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
-  integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==
-  dependencies:
-    browserslist "^4.0.0"
-    caniuse-api "^3.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
-
-postcss-reduce-transforms@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
-  integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==
-  dependencies:
-    cssnano-util-get-match "^4.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-
 postcss-replace-overflow-wrap@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c"
@@ -7916,13 +6273,6 @@ postcss-replace-overflow-wrap@^3.0.0:
   dependencies:
     postcss "^7.0.2"
 
-postcss-safe-parser@4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96"
-  integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==
-  dependencies:
-    postcss "^7.0.26"
-
 postcss-selector-matches@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff"
@@ -7939,15 +6289,6 @@ postcss-selector-not@^4.0.0:
     balanced-match "^1.0.0"
     postcss "^7.0.2"
 
-postcss-selector-parser@^3.0.0:
-  version "3.1.2"
-  resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"
-  integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==
-  dependencies:
-    dot-prop "^5.2.0"
-    indexes-of "^1.0.1"
-    uniq "^1.0.1"
-
 postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c"
@@ -7958,42 +6299,22 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4:
     uniq "^1.0.1"
 
 postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
-  version "6.0.2"
-  resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
-  integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==
+  version "6.0.8"
+  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz#f023ed7a9ea736cd7ef70342996e8e78645a7914"
+  integrity sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==
   dependencies:
     cssesc "^3.0.0"
-    indexes-of "^1.0.1"
-    uniq "^1.0.1"
-
-postcss-svgo@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
-  integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==
-  dependencies:
-    is-svg "^3.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-    svgo "^1.0.0"
-
-postcss-unique-selectors@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
-  integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==
-  dependencies:
-    alphanum-sort "^1.0.0"
-    postcss "^7.0.0"
-    uniqs "^2.0.0"
+    util-deprecate "^1.0.2"
 
-postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0:
+postcss-value-parser@^3.3.0:
   version "3.3.1"
   resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
   integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
 
-postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3, postcss-value-parser@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
-  integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
+postcss-value-parser@^4.1.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+  integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
 
 postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
   version "2.0.1"
@@ -8004,25 +6325,7 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
     indexes-of "^1.0.1"
     uniq "^1.0.1"
 
-postcss@7.0.21:
-  version "7.0.21"
-  resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17"
-  integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==
-  dependencies:
-    chalk "^2.4.2"
-    source-map "^0.6.1"
-    supports-color "^6.1.0"
-
-postcss@7.0.29:
-  version "7.0.29"
-  resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.29.tgz#d3a903872bd52280b83bce38cdc83ce55c06129e"
-  integrity sha512-ba0ApvR3LxGvRMMiUa9n0WR4HjzcYm7tS+ht4/2Nd0NLtHpPIH77fuB9Xh1/yJVz9O/E/95Y/dn8ygWsyffXtw==
-  dependencies:
-    chalk "^2.4.2"
-    source-map "^0.6.1"
-    supports-color "^6.1.0"
-
-postcss@7.0.32, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
+postcss@7.0.32, postcss@^7.0.11, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2:
   version "7.0.32"
   resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d"
   integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==
@@ -8031,6 +6334,15 @@ postcss@7.0.32, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.14
     source-map "^0.6.1"
     supports-color "^6.1.0"
 
+postcss@8.2.15:
+  version "8.2.15"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65"
+  integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q==
+  dependencies:
+    colorette "^1.2.2"
+    nanoid "^3.1.23"
+    source-map "^0.6.1"
+
 postcss@^6.0.9:
   version "6.0.23"
   resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
@@ -8040,16 +6352,19 @@ postcss@^6.0.9:
     source-map "^0.6.1"
     supports-color "^5.4.0"
 
+postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
+  version "7.0.39"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
+  integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
+  dependencies:
+    picocolors "^0.2.1"
+    source-map "^0.6.1"
+
 prelude-ls@~1.1.2:
   version "1.1.2"
   resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
   integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
 
-prepend-http@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
-  integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
-
 prettier@^2.0.2:
   version "2.0.5"
   resolved "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4"
@@ -8077,12 +6392,12 @@ pretty-hrtime@^1.0.3:
 
 process-nextick-args@~2.0.0:
   version "2.0.1"
-  resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
   integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
 
-process@^0.11.10:
+process@0.11.10:
   version "0.11.10"
-  resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+  resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
   integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
 
 progress@^2.0.0:
@@ -8090,11 +6405,6 @@ progress@^2.0.0:
   resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
   integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
 
-promise-inflight@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
-  integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
-
 promise@^7.1.1:
   version "7.3.1"
   resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
@@ -8110,16 +6420,7 @@ prompts@^2.0.1:
     kleur "^3.0.3"
     sisteransi "^1.0.4"
 
-prop-types-exact@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz#825d6be46094663848237e3925a98c6e944e9869"
-  integrity sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==
-  dependencies:
-    has "^1.0.3"
-    object.assign "^4.1.0"
-    reflect.ownkeys "^0.2.0"
-
-prop-types@15.7.2, prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.2:
+prop-types@^15.5.8, prop-types@^15.7.2:
   version "15.7.2"
   resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
   integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@@ -8128,10 +6429,14 @@ prop-types@15.7.2, prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.2:
     object-assign "^4.1.1"
     react-is "^16.8.1"
 
-prr@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
-  integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
+prop-types@^15.6.2:
+  version "15.8.1"
+  resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
+  integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+  dependencies:
+    loose-envify "^1.4.0"
+    object-assign "^4.1.1"
+    react-is "^16.13.1"
 
 psl@^1.1.28:
   version "1.8.0"
@@ -8140,7 +6445,7 @@ psl@^1.1.28:
 
 public-encrypt@^4.0.0:
   version "4.0.3"
-  resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
+  resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
   integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
   dependencies:
     bn.js "^4.1.0"
@@ -8150,41 +6455,19 @@ public-encrypt@^4.0.0:
     randombytes "^2.0.1"
     safe-buffer "^5.1.2"
 
-pump@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
-  integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
-  dependencies:
-    end-of-stream "^1.1.0"
-    once "^1.3.1"
-
 pump@^3.0.0:
   version "3.0.0"
-  resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+  resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
   integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
   dependencies:
     end-of-stream "^1.1.0"
     once "^1.3.1"
 
-pumpify@^1.3.3:
-  version "1.5.1"
-  resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
-  integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
-  dependencies:
-    duplexify "^3.6.0"
-    inherits "^2.0.3"
-    pump "^2.0.0"
-
 punycode@1.3.2:
   version "1.3.2"
-  resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
   integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
 
-punycode@^1.2.4:
-  version "1.4.1"
-  resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-  integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
-
 punycode@^2.1.0, punycode@^2.1.1:
   version "2.1.1"
   resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
@@ -8200,34 +6483,28 @@ purgecss@^2.3.0:
     postcss "7.0.32"
     postcss-selector-parser "^6.0.2"
 
-q@^1.1.2:
-  version "1.5.1"
-  resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
-  integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
-
 qs@~6.5.2:
   version "6.5.2"
   resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
   integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
 
-query-string@^4.1.0:
-  version "4.3.4"
-  resolved "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
-  integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
-  dependencies:
-    object-assign "^4.1.0"
-    strict-uri-encode "^1.0.0"
-
-querystring-es3@^0.2.0:
+querystring-es3@0.2.1:
   version "0.2.1"
-  resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+  resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
   integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
 
-querystring@0.2.0, querystring@^0.2.0:
+querystring@0.2.0:
   version "0.2.0"
-  resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+  resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
   integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
 
+queue@6.0.2:
+  version "6.0.2"
+  resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65"
+  integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==
+  dependencies:
+    inherits "~2.0.3"
+
 raf@^3.1.0:
   version "3.4.1"
   resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
@@ -8240,21 +6517,31 @@ ramda@0.26.1:
   resolved "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06"
   integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==
 
-randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
   version "2.1.0"
-  resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+  resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
   integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
   dependencies:
     safe-buffer "^5.1.0"
 
 randomfill@^1.0.3:
   version "1.0.4"
-  resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
+  resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
   integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
   dependencies:
     randombytes "^2.0.5"
     safe-buffer "^5.1.0"
 
+raw-body@2.4.1:
+  version "2.4.1"
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c"
+  integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==
+  dependencies:
+    bytes "3.1.0"
+    http-errors "1.7.3"
+    iconv-lite "0.4.24"
+    unpipe "1.0.0"
+
 react-dom@^16.13.1:
   version "16.13.1"
   resolved "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f"
@@ -8270,9 +6557,14 @@ react-editor-js@^1.6.2:
   resolved "https://registry.npmjs.org/react-editor-js/-/react-editor-js-1.6.2.tgz#25fb4a3451d314c510a6c26b2b95af27a4affbb7"
   integrity sha512-bwPJiR0D9LuCpEQZUHNIp0hLmy+l+GSH4XUPcFtMr/PpTPoUhwinMvpAytqLIchXgSIwTu3TGPgv/BlpsVstbQ==
 
-react-is@16.13.1, react-is@^16.12.0, react-is@^16.8.1:
+react-is@17.0.2:
+  version "17.0.2"
+  resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
+  integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
+
+react-is@^16.12.0, react-is@^16.13.1, react-is@^16.8.1:
   version "16.13.1"
-  resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+  resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
   integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
 
 react-lifecycles-compat@^3.0.2:
@@ -8306,17 +6598,27 @@ react-property@1.0.1:
 
 react-refresh@0.8.3:
   version "0.8.3"
-  resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
+  resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
   integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==
 
-react@^16.13.1:
-  version "16.13.1"
-  resolved "https://registry.npmjs.org/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
-  integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
+react-relay@^13.0.1:
+  version "13.0.1"
+  resolved "https://registry.yarnpkg.com/react-relay/-/react-relay-13.0.1.tgz#d7338d9427c352af905c7bb7d5973e70081292c1"
+  integrity sha512-Dv1vFP40+OFr1hKWs/NVlo2iTeapkqo6nUJUL1I9jytpNfg5XgjgXh+fQdfIMLM610+W+1Dxn6yZSEnnFpVQ0A==
+  dependencies:
+    "@babel/runtime" "^7.0.0"
+    fbjs "^3.0.2"
+    invariant "^2.2.4"
+    nullthrows "^1.1.1"
+    relay-runtime "13.0.1"
+
+react@^17.0.2:
+  version "17.0.2"
+  resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
+  integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
   dependencies:
     loose-envify "^1.1.0"
     object-assign "^4.1.1"
-    prop-types "^15.6.2"
 
 read-pkg-up@^7.0.1:
   version "7.0.1"
@@ -8337,9 +6639,9 @@ read-pkg@^5.2.0:
     parse-json "^5.0.0"
     type-fest "^0.6.0"
 
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
+readable-stream@^2.2.2:
   version "2.3.7"
-  resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
   integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
   dependencies:
     core-util-is "~1.0.0"
@@ -8350,7 +6652,7 @@ read-pkg@^5.2.0:
     string_decoder "~1.1.1"
     util-deprecate "~1.0.1"
 
-readable-stream@^3.1.1, readable-stream@^3.6.0:
+readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0:
   version "3.6.0"
   resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
   integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -8359,19 +6661,10 @@ readable-stream@^3.1.1, readable-stream@^3.6.0:
     string_decoder "^1.1.1"
     util-deprecate "^1.0.1"
 
-readdirp@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
-  integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
-  dependencies:
-    graceful-fs "^4.1.11"
-    micromatch "^3.1.10"
-    readable-stream "^2.0.2"
-
-readdirp@~3.4.0:
-  version "3.4.0"
-  resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
-  integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
+readdirp@~3.5.0:
+  version "3.5.0"
+  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e"
+  integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==
   dependencies:
     picomatch "^2.2.1"
 
@@ -8400,48 +6693,24 @@ reduce-css-calc@^2.1.6:
     css-unit-converter "^1.1.1"
     postcss-value-parser "^3.3.0"
 
-reflect.ownkeys@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460"
-  integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=
-
-regenerate-unicode-properties@^8.2.0:
-  version "8.2.0"
-  resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
-  integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==
-  dependencies:
-    regenerate "^1.4.0"
-
-regenerate@^1.4.0:
-  version "1.4.1"
-  resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f"
-  integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==
+regenerator-runtime@0.13.4:
+  version "0.13.4"
+  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz#e96bf612a3362d12bb69f7e8f74ffeab25c7ac91"
+  integrity sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g==
 
 regenerator-runtime@^0.13.4:
-  version "0.13.7"
-  resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
-  integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==
-
-regenerator-transform@^0.14.2:
-  version "0.14.5"
-  resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4"
-  integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==
-  dependencies:
-    "@babel/runtime" "^7.8.4"
+  version "0.13.9"
+  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
+  integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
 
 regex-not@^1.0.0, regex-not@^1.0.2:
   version "1.0.2"
-  resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+  resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
   integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
   dependencies:
     extend-shallow "^3.0.2"
     safe-regex "^1.1.0"
 
-regex-parser@2.2.10:
-  version "2.2.10"
-  resolved "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37"
-  integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==
-
 regexp.prototype.flags@^1.3.0:
   version "1.3.0"
   resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"
@@ -8460,43 +6729,40 @@ regexpp@^3.0.0:
   resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
   integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
 
-regexpu-core@^4.7.0:
-  version "4.7.0"
-  resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
-  integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==
+relay-compiler-language-typescript@^15.0.0:
+  version "15.0.0"
+  resolved "https://registry.yarnpkg.com/relay-compiler-language-typescript/-/relay-compiler-language-typescript-15.0.0.tgz#565900106eeb7150d70c5792ef092a2807a8e25e"
+  integrity sha512-vx6V+uBJLIyzTFz1fFiuS0J+L81juGUComb5emKNaYGZRWOPSalxyS+0/I6umrNChNDFB5uLuTnAqxia4+ZMBg==
   dependencies:
-    regenerate "^1.4.0"
-    regenerate-unicode-properties "^8.2.0"
-    regjsgen "^0.5.1"
-    regjsparser "^0.6.4"
-    unicode-match-property-ecmascript "^1.0.4"
-    unicode-match-property-value-ecmascript "^1.2.0"
+    invariant "^2.2.4"
 
-regjsgen@^0.5.1:
-  version "0.5.2"
-  resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
-  integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
+relay-compiler@^13.0.1:
+  version "13.0.1"
+  resolved "https://registry.yarnpkg.com/relay-compiler/-/relay-compiler-13.0.1.tgz#09c713647aa7e1d8cf3de9f7fb4ee6a76b32cf26"
+  integrity sha512-C/qJ7IdfZ140b9JaNpuAP6WhV/Odt/tIq4sUZoTwsaOlhs+1Zu3fvIOoWKTnZT5PC6krRuw1hD7GSX6/paVpTQ==
 
-regjsparser@^0.6.4:
-  version "0.6.4"
-  resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
-  integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
+relay-runtime@13.0.1:
+  version "13.0.1"
+  resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-13.0.1.tgz#7e59a07c3b4e8c58d04bc94f6f978822d4128ffb"
+  integrity sha512-n/+J8PFfLFPVUcz9OG/z2i+adnfk0INwlTkVTw0V6KJe9NI9plc5eRCJwzzwspT4pdCkis5Lcjzvzp4H+0zn8g==
   dependencies:
-    jsesc "~0.5.0"
+    "@babel/runtime" "^7.0.0"
+    fbjs "^3.0.2"
+    invariant "^2.2.4"
 
 remove-trailing-separator@^1.0.1:
   version "1.1.0"
-  resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+  resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
   integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
 
 repeat-element@^1.1.2:
-  version "1.1.3"
-  resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
-  integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9"
+  integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==
 
 repeat-string@^1.6.1:
   version "1.6.1"
-  resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
   integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
 
 request-progress@3.0.0:
@@ -8572,7 +6838,7 @@ resolve-cwd@^3.0.0:
 
 resolve-from@^3.0.0:
   version "3.0.0"
-  resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
   integrity sha1-six699nWiBvItuZTM17rywoYh0g=
 
 resolve-from@^4.0.0:
@@ -8585,25 +6851,9 @@ resolve-from@^5.0.0:
   resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
   integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
 
-resolve-url-loader@3.1.1:
-  version "3.1.1"
-  resolved "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz#28931895fa1eab9be0647d3b2958c100ae3c0bf0"
-  integrity sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==
-  dependencies:
-    adjust-sourcemap-loader "2.0.0"
-    camelcase "5.3.1"
-    compose-function "3.0.3"
-    convert-source-map "1.7.0"
-    es6-iterator "2.0.3"
-    loader-utils "1.2.3"
-    postcss "7.0.21"
-    rework "1.0.1"
-    rework-visit "1.0.0"
-    source-map "0.6.1"
-
 resolve-url@^0.2.1:
   version "0.2.1"
-  resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+  resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
   integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
 
 resolve@1.1.7:
@@ -8611,13 +6861,22 @@ resolve@1.1.7:
   resolved "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
   integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
 
-resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1:
+resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0:
   version "1.17.0"
   resolved "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
   integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
   dependencies:
     path-parse "^1.0.6"
 
+resolve@^1.12.0, resolve@^1.3.2:
+  version "1.21.0"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f"
+  integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==
+  dependencies:
+    is-core-module "^2.8.0"
+    path-parse "^1.0.7"
+    supports-preserve-symlinks-flag "^1.0.0"
+
 restore-cursor@^1.0.1:
   version "1.0.1"
   resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
@@ -8644,32 +6903,9 @@ restore-cursor@^3.1.0:
 
 ret@~0.1.10:
   version "0.1.15"
-  resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+  resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
   integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
 
-rework-visit@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a"
-  integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo=
-
-rework@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7"
-  integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=
-  dependencies:
-    convert-source-map "^0.3.3"
-    css "^2.0.0"
-
-rgb-regex@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
-  integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE=
-
-rgba-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
-  integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-
 rimraf@2.6.3:
   version "2.6.3"
   resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
@@ -8677,9 +6913,9 @@ rimraf@2.6.3:
   dependencies:
     glob "^7.1.3"
 
-rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1:
+rimraf@^2.6.3:
   version "2.7.1"
-  resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
   integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
   dependencies:
     glob "^7.1.3"
@@ -8693,7 +6929,7 @@ rimraf@^3.0.0:
 
 ripemd160@^2.0.0, ripemd160@^2.0.1:
   version "2.0.2"
-  resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+  resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
   integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
   dependencies:
     hash-base "^3.0.0"
@@ -8709,13 +6945,6 @@ run-async@^2.4.0:
   resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
   integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
 
-run-queue@^1.0.0, run-queue@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
-  integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
-  dependencies:
-    aproba "^1.1.1"
-
 rxjs@^6.3.3, rxjs@^6.5.5, rxjs@^6.6.0:
   version "6.6.0"
   resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84"
@@ -8725,17 +6954,17 @@ rxjs@^6.3.3, rxjs@^6.5.5, rxjs@^6.6.0:
 
 safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
   version "5.2.1"
-  resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
 safe-buffer@~5.1.0, safe-buffer@~5.1.1:
   version "5.1.2"
-  resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
 
 safe-regex@^1.1.0:
   version "1.1.0"
-  resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+  resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
   integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
   dependencies:
     ret "~0.1.10"
@@ -8760,22 +6989,6 @@ sane@^4.0.3:
     minimist "^1.1.1"
     walker "~1.0.5"
 
-sass-loader@8.0.2:
-  version "8.0.2"
-  resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d"
-  integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==
-  dependencies:
-    clone-deep "^4.0.1"
-    loader-utils "^1.2.3"
-    neo-async "^2.6.1"
-    schema-utils "^2.6.1"
-    semver "^6.3.0"
-
-sax@~1.2.4:
-  version "1.2.4"
-  resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
-  integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-
 saxes@^3.1.9:
   version "3.1.11"
   resolved "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b"
@@ -8791,32 +7004,6 @@ scheduler@^0.19.1:
     loose-envify "^1.1.0"
     object-assign "^4.1.1"
 
-schema-utils@2.6.6:
-  version "2.6.6"
-  resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.6.tgz#299fe6bd4a3365dc23d99fd446caff8f1d6c330c"
-  integrity sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==
-  dependencies:
-    ajv "^6.12.0"
-    ajv-keywords "^3.4.1"
-
-schema-utils@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
-  integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
-  dependencies:
-    ajv "^6.1.0"
-    ajv-errors "^1.0.0"
-    ajv-keywords "^3.1.0"
-
-schema-utils@^2.6.1, schema-utils@^2.6.6:
-  version "2.7.0"
-  resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
-  integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
-  dependencies:
-    "@types/json-schema" "^7.0.4"
-    ajv "^6.12.2"
-    ajv-keywords "^3.4.1"
-
 semver-compare@^1.0.0:
   version "1.0.0"
   resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
@@ -8827,19 +7014,14 @@ semver-regex@^2.0.0:
   resolved "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338"
   integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
 
-"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0:
   version "5.7.1"
-  resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
   integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
 
-semver@7.0.0:
-  version "7.0.0"
-  resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
-  integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-
 semver@^6.0.0, semver@^6.1.2, semver@^6.3.0:
   version "6.3.0"
-  resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
 
 semver@^7.3.2:
@@ -8847,13 +7029,6 @@ semver@^7.3.2:
   resolved "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
   integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
 
-serialize-javascript@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea"
-  integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==
-  dependencies:
-    randombytes "^2.1.0"
-
 set-blocking@^2.0.0:
   version "2.0.0"
   resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -8861,7 +7036,7 @@ set-blocking@^2.0.0:
 
 set-value@^2.0.0, set-value@^2.0.1:
   version "2.0.1"
-  resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+  resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
   integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
   dependencies:
     extend-shallow "^2.0.1"
@@ -8874,21 +7049,19 @@ setimmediate@^1.0.4, setimmediate@^1.0.5:
   resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
   integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
 
+setprototypeof@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
+  integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
+
 sha.js@^2.4.0, sha.js@^2.4.8:
   version "2.4.11"
-  resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+  resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
   integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
   dependencies:
     inherits "^2.0.1"
     safe-buffer "^5.0.1"
 
-shallow-clone@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
-  integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
-  dependencies:
-    kind-of "^6.0.2"
-
 shebang-command@^1.2.0:
   version "1.2.0"
   resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -8913,10 +7086,10 @@ shebang-regex@^3.0.0:
   resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
   integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
 
-shell-quote@1.7.2:
-  version "1.7.2"
-  resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
-  integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
+shell-quote@1.7.3:
+  version "1.7.3"
+  resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123"
+  integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==
 
 shellwords@^0.1.1:
   version "0.1.1"
@@ -8931,6 +7104,15 @@ side-channel@^1.0.2:
     es-abstract "^1.17.0-next.1"
     object-inspect "^1.7.0"
 
+side-channel@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+  integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+  dependencies:
+    call-bind "^1.0.0"
+    get-intrinsic "^1.0.2"
+    object-inspect "^1.9.0"
+
 signal-exit@^3.0.0, signal-exit@^3.0.2:
   version "3.0.3"
   resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
@@ -8938,7 +7120,7 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
 
 simple-swizzle@^0.2.2:
   version "0.2.2"
-  resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+  resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
   integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
   dependencies:
     is-arrayish "^0.3.1"
@@ -8987,7 +7169,7 @@ slice-ansi@^4.0.0:
 
 snapdragon-node@^2.0.1:
   version "2.1.1"
-  resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+  resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
   integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
   dependencies:
     define-property "^1.0.0"
@@ -8996,14 +7178,14 @@ snapdragon-node@^2.0.1:
 
 snapdragon-util@^3.0.1:
   version "3.0.1"
-  resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+  resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
   integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
   dependencies:
     kind-of "^3.2.0"
 
 snapdragon@^0.8.1:
   version "0.8.2"
-  resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+  resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
   integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
   dependencies:
     base "^0.11.1"
@@ -9015,21 +7197,9 @@ snapdragon@^0.8.1:
     source-map-resolve "^0.5.0"
     use "^3.1.0"
 
-sort-keys@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
-  integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
-  dependencies:
-    is-plain-obj "^1.0.0"
-
-source-list-map@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
-  integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
-
-source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
+source-map-resolve@^0.5.0:
   version "0.5.3"
-  resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
+  resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
   integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
   dependencies:
     atob "^2.1.2"
@@ -9038,7 +7208,7 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
     source-map-url "^0.4.0"
     urix "^0.1.0"
 
-source-map-support@^0.5.6, source-map-support@~0.5.12:
+source-map-support@^0.5.6:
   version "0.5.19"
   resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
   integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
@@ -9047,14 +7217,9 @@ source-map-support@^0.5.6, source-map-support@~0.5.12:
     source-map "^0.6.0"
 
 source-map-url@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
-  integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
-
-source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
-  version "0.6.1"
-  resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
+  integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
 
 source-map@0.7.3, source-map@^0.7.3:
   version "0.7.3"
@@ -9063,16 +7228,21 @@ source-map@0.7.3, source-map@^0.7.3:
 
 source-map@0.8.0-beta.0:
   version "0.8.0-beta.0"
-  resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11"
   integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==
   dependencies:
     whatwg-url "^7.0.0"
 
 source-map@^0.5.0, source-map@^0.5.6:
   version "0.5.7"
-  resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
   integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
 
+source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
 spdx-correct@^3.0.0:
   version "3.1.1"
   resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
@@ -9101,14 +7271,14 @@ spdx-license-ids@^3.0.0:
 
 split-string@^3.0.1, split-string@^3.0.2:
   version "3.1.0"
-  resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+  resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
   integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
   dependencies:
     extend-shallow "^3.0.0"
 
 sprintf-js@~1.0.2:
   version "1.0.3"
-  resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
   integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
 
 sshpk@^1.7.0:
@@ -9126,26 +7296,6 @@ sshpk@^1.7.0:
     safer-buffer "^2.0.2"
     tweetnacl "~0.14.0"
 
-ssri@^6.0.1:
-  version "6.0.1"
-  resolved "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
-  integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
-  dependencies:
-    figgy-pudding "^3.5.1"
-
-ssri@^7.0.0:
-  version "7.1.0"
-  resolved "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d"
-  integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==
-  dependencies:
-    figgy-pudding "^3.5.1"
-    minipass "^3.1.1"
-
-stable@^0.1.8:
-  version "0.1.8"
-  resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
-  integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
-
 stack-utils@^1.0.1:
   version "1.0.2"
   resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
@@ -9153,60 +7303,53 @@ stack-utils@^1.0.1:
 
 stacktrace-parser@0.1.10:
   version "0.1.10"
-  resolved "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"
+  resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"
   integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==
   dependencies:
     type-fest "^0.7.1"
 
 static-extend@^0.1.1:
   version "0.1.2"
-  resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+  resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
   integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
   dependencies:
     define-property "^0.2.5"
     object-copy "^0.1.0"
 
+"statuses@>= 1.5.0 < 2":
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+  integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
+
 stealthy-require@^1.1.1:
   version "1.1.1"
   resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
   integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
 
-stream-browserify@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
-  integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
-  dependencies:
-    inherits "~2.0.1"
-    readable-stream "^2.0.2"
-
-stream-each@^1.1.0:
-  version "1.2.3"
-  resolved "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
-  integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
+stream-browserify@3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f"
+  integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
   dependencies:
-    end-of-stream "^1.1.0"
-    stream-shift "^1.0.0"
+    inherits "~2.0.4"
+    readable-stream "^3.5.0"
 
-stream-http@^2.7.2:
-  version "2.8.3"
-  resolved "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
-  integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
+stream-http@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.1.1.tgz#0370a8017cf8d050b9a8554afe608f043eaff564"
+  integrity sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==
   dependencies:
     builtin-status-codes "^3.0.0"
-    inherits "^2.0.1"
-    readable-stream "^2.3.6"
-    to-arraybuffer "^1.0.0"
-    xtend "^4.0.0"
-
-stream-shift@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
-  integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
+    inherits "^2.0.4"
+    readable-stream "^3.6.0"
+    xtend "^4.0.2"
 
-strict-uri-encode@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
-  integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
+stream-parser@^0.3.1:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773"
+  integrity sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=
+  dependencies:
+    debug "2"
 
 string-argv@0.3.1:
   version "0.3.1"
@@ -9215,7 +7358,7 @@ string-argv@0.3.1:
 
 string-hash@1.1.3:
   version "1.1.3"
-  resolved "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
+  resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
   integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=
 
 string-length@^3.1.0:
@@ -9273,32 +7416,32 @@ string.prototype.matchall@^4.0.2:
     regexp.prototype.flags "^1.3.0"
     side-channel "^1.0.2"
 
-string.prototype.trimend@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
-  integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
+string.prototype.trimend@^1.0.1, string.prototype.trimend@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
+  integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
   dependencies:
+    call-bind "^1.0.2"
     define-properties "^1.1.3"
-    es-abstract "^1.17.5"
 
-string.prototype.trimstart@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
-  integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
+string.prototype.trimstart@^1.0.1, string.prototype.trimstart@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
+  integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
   dependencies:
+    call-bind "^1.0.2"
     define-properties "^1.1.3"
-    es-abstract "^1.17.5"
 
-string_decoder@^1.0.0, string_decoder@^1.1.1:
+string_decoder@1.3.0, string_decoder@^1.1.1:
   version "1.3.0"
-  resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
   integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
   dependencies:
     safe-buffer "~5.2.0"
 
 string_decoder@~1.1.1:
   version "1.1.1"
-  resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
   integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
   dependencies:
     safe-buffer "~5.1.0"
@@ -9312,12 +7455,12 @@ stringify-object@^3.3.0:
     is-obj "^1.0.1"
     is-regexp "^1.0.0"
 
-strip-ansi@6.0.0, strip-ansi@^6.0.0:
-  version "6.0.0"
-  resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
-  integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+strip-ansi@6.0.1:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
   dependencies:
-    ansi-regex "^5.0.0"
+    ansi-regex "^5.0.1"
 
 strip-ansi@^3.0.0, strip-ansi@^3.0.1:
   version "3.0.1"
@@ -9340,6 +7483,13 @@ strip-ansi@^5.1.0, strip-ansi@^5.2.0:
   dependencies:
     ansi-regex "^4.1.0"
 
+strip-ansi@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+  integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+  dependencies:
+    ansi-regex "^5.0.0"
+
 strip-bom@^4.0.0:
   version "4.0.0"
   resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
@@ -9360,14 +7510,6 @@ strip-json-comments@^3.0.1:
   resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
   integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
 
-style-loader@1.2.1:
-  version "1.2.1"
-  resolved "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a"
-  integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==
-  dependencies:
-    loader-utils "^2.0.0"
-    schema-utils "^2.6.6"
-
 style-to-object@0.3.0:
   version "0.3.0"
   resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46"
@@ -9375,13 +7517,13 @@ style-to-object@0.3.0:
   dependencies:
     inline-style-parser "0.1.1"
 
-styled-jsx@3.3.0:
-  version "3.3.0"
-  resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-3.3.0.tgz#32335c1a3ecfc923ba4f9c056eeb3d4699006b09"
-  integrity sha512-sh8BI5eGKyJlwL4kNXHjb27/a/GJV8wP4ElRIkRXrGW3sHKOsY9Pa1VZRNxyvf3+lisdPwizD9JDkzVO9uGwZw==
+styled-jsx@5.0.0-beta.3:
+  version "5.0.0-beta.3"
+  resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0-beta.3.tgz#400d16179b5dff10d5954ab8be27a9a1b7780dd2"
+  integrity sha512-HtDDGSFPvmjHIqWf9n8Oo54tAoY/DTplvlyOH2+YOtD80Sp31Ap8ffSmxhgk5EkUoJ7xepdXMGT650mSffWuRA==
   dependencies:
-    "@babel/types" "7.8.3"
-    babel-plugin-syntax-jsx "6.18.0"
+    "@babel/plugin-syntax-jsx" "7.14.5"
+    "@babel/types" "7.15.0"
     convert-source-map "1.7.0"
     loader-utils "1.2.3"
     source-map "0.7.3"
@@ -9389,26 +7531,17 @@ styled-jsx@3.3.0:
     stylis "3.5.4"
     stylis-rule-sheet "0.0.10"
 
-stylehacks@^4.0.0:
-  version "4.0.3"
-  resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
-  integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==
-  dependencies:
-    browserslist "^4.0.0"
-    postcss "^7.0.0"
-    postcss-selector-parser "^3.0.0"
-
 stylis-rule-sheet@0.0.10:
   version "0.0.10"
-  resolved "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
+  resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
   integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==
 
 stylis@3.5.4:
   version "3.5.4"
-  resolved "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
+  resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
   integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
 
-supports-color@7.1.0, supports-color@^7.0.0, supports-color@^7.1.0:
+supports-color@7.1.0, supports-color@^7.0.0:
   version "7.1.0"
   resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
   integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
@@ -9417,7 +7550,7 @@ supports-color@7.1.0, supports-color@^7.0.0, supports-color@^7.1.0:
 
 supports-color@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
   integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
 
 supports-color@^5.3.0, supports-color@^5.4.0:
@@ -9429,11 +7562,25 @@ supports-color@^5.3.0, supports-color@^5.4.0:
 
 supports-color@^6.1.0:
   version "6.1.0"
-  resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
   integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
   dependencies:
     has-flag "^3.0.0"
 
+supports-color@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  dependencies:
+    has-flag "^4.0.0"
+
+supports-color@^8.0.0:
+  version "8.1.1"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+  integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+  dependencies:
+    has-flag "^4.0.0"
+
 supports-hyperlinks@^2.0.0:
   version "2.1.0"
   resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47"
@@ -9442,24 +7589,10 @@ supports-hyperlinks@^2.0.0:
     has-flag "^4.0.0"
     supports-color "^7.0.0"
 
-svgo@^1.0.0:
-  version "1.3.2"
-  resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
-  integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
-  dependencies:
-    chalk "^2.4.1"
-    coa "^2.0.2"
-    css-select "^2.0.0"
-    css-select-base-adapter "^0.1.1"
-    css-tree "1.0.0-alpha.37"
-    csso "^4.0.2"
-    js-yaml "^3.13.1"
-    mkdirp "~0.5.1"
-    object.values "^1.1.0"
-    sax "~1.2.4"
-    stable "^0.1.8"
-    unquote "~1.1.1"
-    util.promisify "~1.0.0"
+supports-preserve-symlinks-flag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+  integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
 
 symbol-observable@^1.0.4, symbol-observable@^1.1.0:
   version "1.2.0"
@@ -9509,11 +7642,6 @@ tailwindcss@^1.8.5:
     reduce-css-calc "^2.1.6"
     resolve "^1.14.2"
 
-tapable@^1.0.0, tapable@^1.1.3:
-  version "1.1.3"
-  resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
-  integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
-
 terminal-link@^2.0.0:
   version "2.1.1"
   resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994"
@@ -9522,39 +7650,6 @@ terminal-link@^2.0.0:
     ansi-escapes "^4.2.1"
     supports-hyperlinks "^2.0.0"
 
-terser-webpack-plugin@^1.4.3:
-  version "1.4.4"
-  resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f"
-  integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==
-  dependencies:
-    cacache "^12.0.2"
-    find-cache-dir "^2.1.0"
-    is-wsl "^1.1.0"
-    schema-utils "^1.0.0"
-    serialize-javascript "^3.1.0"
-    source-map "^0.6.1"
-    terser "^4.1.2"
-    webpack-sources "^1.4.0"
-    worker-farm "^1.7.0"
-
-terser@4.6.13:
-  version "4.6.13"
-  resolved "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz#e879a7364a5e0db52ba4891ecde007422c56a916"
-  integrity sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==
-  dependencies:
-    commander "^2.20.0"
-    source-map "~0.6.1"
-    source-map-support "~0.5.12"
-
-terser@^4.1.2:
-  version "4.8.0"
-  resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"
-  integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
-  dependencies:
-    commander "^2.20.0"
-    source-map "~0.6.1"
-    source-map-support "~0.5.12"
-
 test-exclude@^6.0.0:
   version "6.0.0"
   resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
@@ -9579,31 +7674,18 @@ throttleit@^1.0.0:
   resolved "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
   integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=
 
-through2@^2.0.0:
-  version "2.0.5"
-  resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
-  integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
-  dependencies:
-    readable-stream "~2.3.6"
-    xtend "~4.0.1"
-
 through@^2.3.6, through@^2.3.8:
   version "2.3.8"
   resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
   integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
 
-timers-browserify@^2.0.4:
-  version "2.0.11"
-  resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f"
-  integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==
+timers-browserify@2.0.12:
+  version "2.0.12"
+  resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
+  integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
   dependencies:
     setimmediate "^1.0.4"
 
-timsort@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
-  integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
-
 tmp@0.1.0:
   version "0.1.0"
   resolved "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877"
@@ -9623,26 +7705,21 @@ tmpl@1.0.x:
   resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
   integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
 
-to-arraybuffer@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
-  integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
-
 to-fast-properties@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
   integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
 
 to-object-path@^0.3.0:
   version "0.3.0"
-  resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+  resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
   integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
   dependencies:
     kind-of "^3.0.2"
 
 to-regex-range@^2.1.0:
   version "2.1.1"
-  resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
   integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
   dependencies:
     is-number "^3.0.0"
@@ -9650,14 +7727,14 @@ to-regex-range@^2.1.0:
 
 to-regex-range@^5.0.1:
   version "5.0.1"
-  resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
   integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
   dependencies:
     is-number "^7.0.0"
 
 to-regex@^3.0.1, to-regex@^3.0.2:
   version "3.0.2"
-  resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+  resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
   integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
   dependencies:
     define-property "^2.0.2"
@@ -9665,6 +7742,11 @@ to-regex@^3.0.1, to-regex@^3.0.2:
     regex-not "^1.0.2"
     safe-regex "^1.1.0"
 
+toidentifier@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
+  integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+
 tough-cookie@^2.3.3, tough-cookie@~2.5.0:
   version "2.5.0"
   resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@@ -9684,26 +7766,21 @@ tough-cookie@^3.0.1:
 
 tr46@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
+  resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
   integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=
   dependencies:
     punycode "^2.1.0"
 
-traverse@0.6.6:
-  version "0.6.6"
-  resolved "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137"
-  integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=
-
-ts-pnp@^1.1.6:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
-  integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
-
-tslib@^1.8.1, tslib@^1.9.0:
+tslib@^1.8.1:
   version "1.13.0"
   resolved "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
   integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
 
+tslib@^1.9.0:
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+  integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
 tsutils@^3.17.1:
   version "3.17.1"
   resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
@@ -9711,10 +7788,10 @@ tsutils@^3.17.1:
   dependencies:
     tslib "^1.8.1"
 
-tty-browserify@0.0.0:
-  version "0.0.0"
-  resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
-  integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
+tty-browserify@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811"
+  integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==
 
 tunnel-agent@^0.6.0:
   version "0.6.0"
@@ -9752,7 +7829,7 @@ type-fest@^0.6.0:
 
 type-fest@^0.7.1:
   version "0.7.1"
-  resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
   integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
 
 type-fest@^0.8.1:
@@ -9760,16 +7837,6 @@ type-fest@^0.8.1:
   resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
   integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
 
-type@^1.0.1:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
-  integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
-
-type@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3"
-  integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==
-
 typedarray-to-buffer@^3.1.5:
   version "3.1.5"
   resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
@@ -9779,45 +7846,37 @@ typedarray-to-buffer@^3.1.5:
 
 typedarray@^0.0.6:
   version "0.0.6"
-  resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+  resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
   integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
 
-typescript@^3.8.3:
-  version "3.9.7"
-  resolved "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
-  integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
+typescript@^4.5.4:
+  version "4.5.4"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8"
+  integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==
 
 ua-parser-js@^0.7.18:
   version "0.7.21"
   resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777"
   integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
 
-unicode-canonical-property-names-ecmascript@^1.0.4:
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
-  integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
+ua-parser-js@^0.7.30:
+  version "0.7.31"
+  resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6"
+  integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==
 
-unicode-match-property-ecmascript@^1.0.4:
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
-  integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==
+unbox-primitive@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
+  integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
   dependencies:
-    unicode-canonical-property-names-ecmascript "^1.0.4"
-    unicode-property-aliases-ecmascript "^1.0.4"
-
-unicode-match-property-value-ecmascript@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531"
-  integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==
-
-unicode-property-aliases-ecmascript@^1.0.4:
-  version "1.1.0"
-  resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
-  integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
+    function-bind "^1.1.1"
+    has-bigints "^1.0.1"
+    has-symbols "^1.0.2"
+    which-boxed-primitive "^1.0.2"
 
 union-value@^1.0.0:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+  resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
   integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
   dependencies:
     arr-union "^3.1.0"
@@ -9827,41 +7886,22 @@ union-value@^1.0.0:
 
 uniq@^1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
+  resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
   integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
 
-uniqs@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
-  integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
-
-unique-filename@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
-  integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
-  dependencies:
-    unique-slug "^2.0.0"
-
-unique-slug@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
-  integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
-  dependencies:
-    imurmurhash "^0.1.4"
-
 universalify@^0.1.0:
   version "0.1.2"
   resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
   integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
 
-unquote@~1.1.1:
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
-  integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
+unpipe@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+  integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
 
 unset-value@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+  resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
   integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
   dependencies:
     has-value "^0.3.1"
@@ -9872,24 +7912,19 @@ untildify@4.0.0:
   resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
   integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
 
-upath@^1.1.1:
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
-  integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
-
 uri-js@^4.2.2:
-  version "4.2.2"
-  resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
-  integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
+  version "4.4.1"
+  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
   dependencies:
     punycode "^2.1.0"
 
 urix@^0.1.0:
   version "0.1.0"
-  resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+  resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
   integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
 
-url@0.11.0, url@^0.11.0:
+url@0.11.0:
   version "0.11.0"
   resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
   integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
@@ -9897,46 +7932,34 @@ url@0.11.0, url@^0.11.0:
     punycode "1.3.2"
     querystring "0.2.0"
 
-use-subscription@1.4.1:
-  version "1.4.1"
-  resolved "https://registry.npmjs.org/use-subscription/-/use-subscription-1.4.1.tgz#edcbcc220f1adb2dd4fa0b2f61b6cc308e620069"
-  integrity sha512-7+IIwDG/4JICrWHL/Q/ZPK5yozEnvRm6vHImu0LKwQlmWGKeiF7mbAenLlK/cTNXrTtXHU/SFASQHzB6+oSJMQ==
+use-subscription@1.5.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1"
+  integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==
   dependencies:
     object-assign "^4.1.1"
 
 use@^3.1.0:
   version "3.1.1"
-  resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+  resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
   integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
 
-util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
   version "1.0.2"
-  resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
   integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
 
-util.promisify@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
-  integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
-  dependencies:
-    define-properties "^1.1.3"
-    es-abstract "^1.17.2"
-    has-symbols "^1.0.1"
-    object.getownpropertydescriptors "^2.1.0"
-
-util@0.10.3:
-  version "0.10.3"
-  resolved "https://registry.npmjs.org/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
-  integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
+util@0.12.4, util@^0.12.0:
+  version "0.12.4"
+  resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253"
+  integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==
   dependencies:
-    inherits "2.0.1"
-
-util@^0.11.0:
-  version "0.11.1"
-  resolved "https://registry.npmjs.org/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
-  integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
-  dependencies:
-    inherits "2.0.3"
+    inherits "^2.0.3"
+    is-arguments "^1.0.4"
+    is-generator-function "^1.0.7"
+    is-typed-array "^1.1.3"
+    safe-buffer "^5.1.2"
+    which-typed-array "^1.1.2"
 
 uuid@^3.3.2:
   version "3.4.0"
@@ -9965,11 +7988,6 @@ validate-npm-package-license@^3.0.1:
     spdx-correct "^3.0.0"
     spdx-expression-parse "^3.0.0"
 
-vendors@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"
-  integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
-
 verror@1.10.0:
   version "1.10.0"
   resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
@@ -9979,9 +7997,9 @@ verror@1.10.0:
     core-util-is "1.0.2"
     extsprintf "^1.2.0"
 
-vm-browserify@^1.0.1:
+vm-browserify@1.1.2:
   version "1.1.2"
-  resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
+  resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
   integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
 
 w3c-hr-time@^1.0.1:
@@ -10007,79 +8025,19 @@ walker@^1.0.7, walker@~1.0.5:
   dependencies:
     makeerror "1.0.x"
 
-watchpack-chokidar2@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
-  integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==
-  dependencies:
-    chokidar "^2.1.8"
-
-watchpack@2.0.0-beta.13:
-  version "2.0.0-beta.13"
-  resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.0.0-beta.13.tgz#9d9b0c094b8402139333e04eb6194643c8384f55"
-  integrity sha512-ZEFq2mx/k5qgQwgi6NOm+2ImICb8ngAkA/rZ6oyXZ7SgPn3pncf+nfhYTCrs3lmHwOxnPtGLTOuFLfpSMh1VMA==
+watchpack@2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.0.tgz#a41bca3da6afaff31e92a433f4c856a0c25ea0c4"
+  integrity sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==
   dependencies:
     glob-to-regexp "^0.4.1"
     graceful-fs "^4.1.2"
 
-watchpack@^1.6.1:
-  version "1.7.4"
-  resolved "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b"
-  integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==
-  dependencies:
-    graceful-fs "^4.1.2"
-    neo-async "^2.5.0"
-  optionalDependencies:
-    chokidar "^3.4.1"
-    watchpack-chokidar2 "^2.0.0"
-
-web-vitals@0.2.1:
-  version "0.2.1"
-  resolved "https://registry.npmjs.org/web-vitals/-/web-vitals-0.2.1.tgz#60782fa690243fe35613759a0c26431f57ba7b2d"
-  integrity sha512-2pdRlp6gJpOCg0oMMqwFF0axjk5D9WInc09RSYtqFgPXQ15+YKNQ7YnBBEqAL5jvmfH9WvoXDMb8DHwux7pIew==
-
 webidl-conversions@^4.0.2:
   version "4.0.2"
-  resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
+  resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
   integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
 
-webpack-sources@1.4.3, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1:
-  version "1.4.3"
-  resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
-  integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
-  dependencies:
-    source-list-map "^2.0.0"
-    source-map "~0.6.1"
-
-webpack@4.43.0:
-  version "4.43.0"
-  resolved "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6"
-  integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==
-  dependencies:
-    "@webassemblyjs/ast" "1.9.0"
-    "@webassemblyjs/helper-module-context" "1.9.0"
-    "@webassemblyjs/wasm-edit" "1.9.0"
-    "@webassemblyjs/wasm-parser" "1.9.0"
-    acorn "^6.4.1"
-    ajv "^6.10.2"
-    ajv-keywords "^3.4.1"
-    chrome-trace-event "^1.0.2"
-    enhanced-resolve "^4.1.0"
-    eslint-scope "^4.0.3"
-    json-parse-better-errors "^1.0.2"
-    loader-runner "^2.4.0"
-    loader-utils "^1.2.3"
-    memory-fs "^0.4.1"
-    micromatch "^3.1.10"
-    mkdirp "^0.5.3"
-    neo-async "^2.6.1"
-    node-libs-browser "^2.2.1"
-    schema-utils "^1.0.0"
-    tapable "^1.1.3"
-    terser-webpack-plugin "^1.4.3"
-    watchpack "^1.6.1"
-    webpack-sources "^1.4.1"
-
 whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5:
   version "1.0.5"
   resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
@@ -10099,13 +8057,24 @@ whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0:
 
 whatwg-url@^7.0.0:
   version "7.1.0"
-  resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"
+  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"
   integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==
   dependencies:
     lodash.sortby "^4.7.0"
     tr46 "^1.0.1"
     webidl-conversions "^4.0.2"
 
+which-boxed-primitive@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
+  integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
+  dependencies:
+    is-bigint "^1.0.1"
+    is-boolean-object "^1.1.0"
+    is-number-object "^1.0.4"
+    is-string "^1.0.5"
+    is-symbol "^1.0.3"
+
 which-module@^2.0.0:
   version "2.0.0"
   resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
@@ -10116,6 +8085,18 @@ which-pm-runs@^1.0.0:
   resolved "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
   integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
 
+which-typed-array@^1.1.2:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793"
+  integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==
+  dependencies:
+    available-typed-arrays "^1.0.5"
+    call-bind "^1.0.2"
+    es-abstract "^1.18.5"
+    foreach "^2.0.5"
+    has-tostringtag "^1.0.0"
+    is-typed-array "^1.1.7"
+
 which@^1.2.9, which@^1.3.1:
   version "1.3.1"
   resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
@@ -10135,20 +8116,6 @@ word-wrap@~1.2.3:
   resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
   integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
 
-worker-farm@^1.7.0:
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
-  integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
-  dependencies:
-    errno "~0.1.7"
-
-worker-rpc@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5"
-  integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==
-  dependencies:
-    microevent.ts "~0.1.1"
-
 wrap-ansi@^3.0.1:
   version "3.0.1"
   resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba"
@@ -10168,7 +8135,7 @@ wrap-ansi@^6.2.0:
 
 wrappy@1:
   version "1.0.2"
-  resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
   integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
 
 write-file-atomic@^3.0.0:
@@ -10203,25 +8170,15 @@ xmlchars@^2.1.1:
   resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
   integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
 
-xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1:
+xtend@^4.0.2:
   version "4.0.2"
   resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
   integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
 
 y18n@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
-  integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
-
-yallist@^3.0.2:
-  version "3.1.1"
-  resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
-  integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yallist@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
-  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
+  integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
 
 yaml@^1.7.2:
   version "1.10.0"
@@ -10260,3 +8217,8 @@ yauzl@2.10.0, yauzl@^2.10.0:
   dependencies:
     buffer-crc32 "~0.2.3"
     fd-slicer "~1.1.0"
+
+yocto-queue@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+  integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
-- 
GitLab