Full Code of Netflix/dgs-examples-java for AI

main ad5547b99a7a cached
50 files
416.3 KB
129.4k tokens
660 symbols
1 requests
Download .txt
Showing preview only (438K chars total). Download the full file or copy to clipboard to get everything.
Repository: Netflix/dgs-examples-java
Branch: main
Commit: ad5547b99a7a
Files: 50
Total size: 416.3 KB

Directory structure:
gitextract_wtbsn2rz/

├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       └── gradle.yml
├── .gitignore
├── .sdkmanrc
├── LICENSE
├── Makefile
├── NOTICE
├── README.md
├── build.gradle.kts
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle.kts
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── example/
│   │   │           └── demo/
│   │   │               ├── DemoApplication.java
│   │   │               ├── config/
│   │   │               │   ├── MetricsConfig.java
│   │   │               │   └── SecurityConfig.java
│   │   │               ├── datafetchers/
│   │   │               │   ├── ArtworkUploadDataFetcher.java
│   │   │               │   ├── ReviewsDataFetcher.java
│   │   │               │   ├── SecurityExampleFetchers.java
│   │   │               │   └── ShowsDataFetcher.java
│   │   │               ├── dataloaders/
│   │   │               │   ├── ReviewsDataLoader.java
│   │   │               │   └── ReviewsDataLoaderWithContext.java
│   │   │               ├── directives/
│   │   │               │   └── UppercaseDirective.java
│   │   │               ├── instrumentation/
│   │   │               │   └── ExampleTracingInstrumentation.java
│   │   │               ├── scalars/
│   │   │               │   └── DateTimeScalar.java
│   │   │               └── services/
│   │   │                   ├── DefaultReviewsService.java
│   │   │                   ├── ReviewsService.java
│   │   │                   ├── ShowsService.java
│   │   │                   └── ShowsServiceImpl.java
│   │   └── resources/
│   │       ├── application.yml
│   │       ├── schema/
│   │       │   └── schema.graphqls
│   │       └── static/
│   │           ├── asset-manifest.json
│   │           ├── index.html
│   │           ├── precache-manifest.2241ce5fa2602c9cdc3eb026c3eb8589.js
│   │           ├── service-worker.js
│   │           └── static/
│   │               └── js/
│   │                   ├── 2.ae627b82.chunk.js
│   │                   ├── 2.ae627b82.chunk.js.LICENSE.txt
│   │                   ├── main.05accb10.chunk.js
│   │                   └── runtime-main.09b85ec0.js
│   └── test/
│       └── java/
│           └── com/
│               └── example/
│                   └── demo/
│                       ├── ArtworkUploadDataFetcherTest.java
│                       ├── ReviewSubscriptionIntegrationTest.java
│                       ├── ReviewSubscriptionTest.java
│                       ├── SecurityExampleFetchersTest.java
│                       └── ShowsDataFetcherTest.java
└── ui-example/
    ├── package.json
    ├── public/
    │   └── index.html
    ├── src/
    │   ├── index.tsx
    │   └── react-app-env.d.ts
    └── tsconfig.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  - package-ecosystem: "gradle"
    directory: "/"
    schedule:
      interval: "daily"
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "daily"


================================================
FILE: .github/workflows/gradle.yml
================================================
# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle

name: Java CI with Gradle

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4.1.1
    - name: Set up JDK 17
      uses: actions/setup-java@v4
      with:
        distribution: 'zulu'
        java-version: 17
    - name: Grant execute permission for gradlew
      run: chmod +x gradlew
    - name: Build with Gradle
      run: ./gradlew build


================================================
FILE: .gitignore
================================================
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/
uploaded-images
.DS_Store

================================================
FILE: .sdkmanrc
================================================
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=17.0.3-zulu


================================================
FILE: LICENSE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

================================================
FILE: Makefile
================================================
.PHONY: help run check
.DEFAULT_GOAL := help

SHELL = /bin/sh

## Gradle
GW = ./gradlew
GFLAGS ?=
GW_CMD = $(GW) $(GFLAGS)

run: ## Runs the service, with the local profile enabled
	$(GW_CMD) $(GW_OPT) bootRun --args='--spring.profiles.active=local'

check: ## Runs gradlew check
	$(GW_CMD) $(GW_OPT) check

help:
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'


================================================
FILE: NOTICE
================================================


================================================
FILE: README.md
================================================
Java DGS Framework example
=====

This repository is an example application for the [DGS Framework](https://netflix.github.io/dgs).
The example is a standalone GraphQL server in Java.

It shows the following features:
* [Datafetchers](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/datafetchers/ShowsDatafetcher.java#L26)
* [Mutations](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/datafetchers/ReviewsDataFetcher.java#L50) 
* [DataLoader to prevent the N+1 problem](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/datafetchers/ReviewsDataFetcher.java#L40)
* [Query testing](https://github.com/Netflix/dgs-examples-java/blob/main/src/test/java/com/example/demo/ShowsDatafetcherTest.java#L61)
* [Using a generated Query API](https://github.com/Netflix/dgs-examples-java/blob/main/src/test/java/com/example/demo/ShowsDatafetcherTest.java#L89)  
* [File Upload](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/datafetchers/ArtworkUploadDataFetcher.java#L22)
* [Using the Gradle codegen plugin](https://github.com/Netflix/dgs-examples-java/blob/main/build.gradle.kts#L45)
* [A custom instrumentation implementation](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/instrumentation/ExampleTracingInstrumentation.java#L20)
* [Subscriptions](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/datafetchers/ReviewsDataFetcher.java#L60)
* [Testing a subscription](https://github.com/Netflix/dgs-examples-java/blob/main/src/test/java/com/example/demo/ReviewSubscriptionTest.java#L46)  
* [Registering an optional scalar from graphql-java](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/scalars/DateTimeScalar.java#L16)

Other examples
---

There are other examples of using the DGS framework as well:

* [Kotlin implementation of this example](https://github.com/Netflix/dgs-examples-kotlin)
* [Federation examples (with Apollo Gateway)](https://github.com/Netflix/dgs-federation-example)

Shows and Reviews
----

This example is built around two main types: [Show](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/resources/schema/schema.graphqls#L14) and [Review](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/resources/schema/schema.graphqls#L22).
A `Show` represents a series or movie you would find on Netflix.
For ease of running the demo, the list of shows is hardcoded in [ShowsServiceImpl](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/services/ShowsServiceImpl.java).
A show can have `Reviews`.
Again, for ease of running the demo, a list of reviews is generated during startup for each show in [DefaultReviewsService](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/services/DefaultReviewsService.java).

Reviews can also be added by users of the API using a [mutation](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/resources/schema/schema.graphqls#L6), and a [GraphQL Subscription](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/resources/schema/schema.graphqls#L11) is available to watch for added reviews.

There's also a mutation available to add [Artwork](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/resources/schema/schema.graphqls#L7) for a show, demonstrating file uploads.
Uploaded files are stored in a folder `uploaded-images` in the work directory where ethe application is started.

Starting the example
----

The example requires Java 11.
Run the application in an IDE using its [main class](https://github.com/Netflix/dgs-examples-java/blob/main/src/main/java/com/example/demo/DemoApplication.java) or using Gradle: 

```
./gradlew bootRun
```

Interact with the application using GraphiQL on http://localhost:8080/graphiql.


================================================
FILE: build.gradle.kts
================================================
/*
 * Copyright 2021 Netflix, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import org.gradle.api.tasks.testing.logging.TestExceptionFormat.*
import org.gradle.api.tasks.testing.logging.TestLogEvent.*


plugins {
    id("java")
    id("org.springframework.boot") version "3.3.0"
    id("io.spring.dependency-management") version "1.1.4"
    id("com.netflix.dgs.codegen") version "6.1.4"
}
apply(plugin = "com.netflix.dgs.codegen")

group = "com.example"
version = "0.0.1-SNAPSHOT"


repositories {
    mavenCentral()
    // ----
    // Before we release the DGS Framework our CI Pipeline tests this project against the current snapshot.
    // To support that we need to have `mavenLocal` support.
    mavenLocal()
    // ----

    maven {url = uri("https://repo.spring.io/milestone/")}
}


dependencyManagement {
    imports {
        mavenBom("com.netflix.graphql.dgs:graphql-dgs-platform-dependencies:8.5.6")
    }
}

java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(17))
    }
}

repositories {
    mavenLocal()
}

// Set Kotlin version to 1.9.20 to avoid the issue described here:
// https://youtrack.jetbrains.com/issue/KT-58021
// TODO: after updating to Spring Boot 3.2.x, this workaround can be removed
extra["kotlin.version"] = "1.9.20"

dependencies {
    implementation(platform("com.netflix.graphql.dgs:graphql-dgs-platform-dependencies:8.5.6"))
    implementation("com.netflix.graphql.dgs:graphql-dgs-spring-graphql-starter")
    implementation("com.netflix.graphql.dgs:graphql-dgs-extended-scalars")
    implementation("org.springframework.boot:spring-boot-starter-websocket")
    implementation("name.nkonev.multipart-spring-graphql:multipart-spring-graphql:1.+")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("net.datafaker:datafaker:2.+")
    implementation("com.github.ben-manes.caffeine:caffeine")
    implementation("org.springframework.boot:spring-boot-starter-security")
    implementation("com.netflix.graphql.dgs:graphql-dgs-spring-boot-micrometer")
    implementation("org.springframework.boot:spring-boot-starter-actuator")

    testImplementation("org.springframework.boot:spring-boot-starter-test")
    implementation("com.netflix.graphql.dgs:graphql-dgs-spring-graphql-starter-test")
    testImplementation("com.netflix.graphql.dgs:graphql-dgs-client")
    testImplementation("org.springframework.boot:spring-boot-starter-webflux")
    testImplementation("io.projectreactor:reactor-test")
    testImplementation("org.springframework.security:spring-security-test")
}

tasks.withType<com.netflix.graphql.dgs.codegen.gradle.GenerateJavaTask> {
    generateClientv2 = true
    packageName = "com.example.demo.generated"
}




tasks.withType<Test> {
    useJUnitPlatform()
    testLogging {
        events(FAILED, STANDARD_ERROR, SKIPPED)
        exceptionFormat = FULL
        showExceptions = true
        showCauses = true
        showStackTraces = true
    }
}


================================================
FILE: gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists


================================================
FILE: gradlew
================================================
#!/usr/bin/env sh

#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

##############################################################################
##
##  Gradle start up script for UN*X
##
##############################################################################

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
    ls=`ls -ld "$PRG"`
    link=`expr "$ls" : '.*-> \(.*\)$'`
    if expr "$link" : '/.*' > /dev/null; then
        PRG="$link"
    else
        PRG=`dirname "$PRG"`"/$link"
    fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"

warn () {
    echo "$*"
}

die () {
    echo
    echo "$*"
    echo
    exit 1
}

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
  CYGWIN* )
    cygwin=true
    ;;
  Darwin* )
    darwin=true
    ;;
  MINGW* )
    msys=true
    ;;
  NONSTOP* )
    nonstop=true
    ;;
esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar


# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
        # IBM's JDK on AIX uses strange locations for the executables
        JAVACMD="$JAVA_HOME/jre/sh/java"
    else
        JAVACMD="$JAVA_HOME/bin/java"
    fi
    if [ ! -x "$JAVACMD" ] ; then
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
    fi
else
    JAVACMD="java"
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
    MAX_FD_LIMIT=`ulimit -H -n`
    if [ $? -eq 0 ] ; then
        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
            MAX_FD="$MAX_FD_LIMIT"
        fi
        ulimit -n $MAX_FD
        if [ $? -ne 0 ] ; then
            warn "Could not set maximum file descriptor limit: $MAX_FD"
        fi
    else
        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
    fi
fi

# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi

# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`

    JAVACMD=`cygpath --unix "$JAVACMD"`

    # We build the pattern for arguments to be converted via cygpath
    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
    SEP=""
    for dir in $ROOTDIRSRAW ; do
        ROOTDIRS="$ROOTDIRS$SEP$dir"
        SEP="|"
    done
    OURCYGPATTERN="(^($ROOTDIRS))"
    # Add a user-defined pattern to the cygpath arguments
    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
    fi
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
    i=0
    for arg in "$@" ; do
        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option

        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
        else
            eval `echo args$i`="\"$arg\""
        fi
        i=`expr $i + 1`
    done
    case $i in
        0) set -- ;;
        1) set -- "$args0" ;;
        2) set -- "$args0" "$args1" ;;
        3) set -- "$args0" "$args1" "$args2" ;;
        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
    esac
fi

# Escape application args
save () {
    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
    echo " "
}
APP_ARGS=`save "$@"`

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

exec "$JAVACMD" "$@"


================================================
FILE: gradlew.bat
================================================
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem      https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem

@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem  Gradle startup script for Windows
@rem
@rem ##########################################################################

@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto execute

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar


@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1

:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega


================================================
FILE: settings.gradle.kts
================================================
/*
 * Copyright 2021 Netflix, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

rootProject.name = "dgs-examples-java"


================================================
FILE: src/main/java/com/example/demo/DemoApplication.java
================================================
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

	/**
	 * Below is an example of using a PreparsedDocumentProvider.
	 * Uncomment to enable
	 */
//	@Configuration
//	static class PreparsedDocumentProviderConfig {
//
//		private final Cache<String, PreparsedDocumentEntry> cache = Caffeine.newBuilder().maximumSize(250)
//				.expireAfterAccess(5, TimeUnit.MINUTES).recordStats().build();
//
//
//		@Bean
//		public PreparsedDocumentProvider preparsedDocumentProvider() {
//			return (executionInput, parseAndValidateFunction) -> {
//				Function<String, PreparsedDocumentEntry> mapCompute = key -> parseAndValidateFunction.apply(executionInput);
//				return cache.get(executionInput.getQuery(), mapCompute);
//			};
//		}
//	}
}


================================================
FILE: src/main/java/com/example/demo/config/MetricsConfig.java
================================================
package com.example.demo.config;

import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import io.micrometer.core.instrument.logging.LoggingMeterRegistry;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;

@Configuration
public class MetricsConfig {

    @Bean
    public MeterRegistry loggingMeterRegistry() {
        return new LoggingMeterRegistry();
    }
}



================================================
FILE: src/main/java/com/example/demo/config/SecurityConfig.java
================================================
package com.example.demo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
import org.springframework.security.web.DefaultSecurityFilterChain;

import static org.springframework.security.config.Customizer.withDefaults;

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class SecurityConfig {

    @Bean
    DefaultSecurityFilterChain springWebFilterChain(HttpSecurity http) throws Exception {
        return http
                .csrf(AbstractHttpConfigurer::disable)
                .authorizeRequests(requests -> requests
                        .anyRequest().permitAll()
                )
                .httpBasic(withDefaults())
                .build();
    }

    @Bean
    public static InMemoryUserDetailsManager userDetailsService() {
        User.UserBuilder userBuilder = User.withDefaultPasswordEncoder();
        UserDetails user = userBuilder.username("user").password("user").roles("USER").build();
        UserDetails admin = userBuilder.username("admin").password("admin").roles("USER", "ADMIN").build();
        return new InMemoryUserDetailsManager(user, admin);
    }
}


================================================
FILE: src/main/java/com/example/demo/datafetchers/ArtworkUploadDataFetcher.java
================================================
package com.example.demo.datafetchers;

import com.example.demo.generated.types.Image;
import com.netflix.graphql.dgs.DgsComponent;
import com.netflix.graphql.dgs.DgsMutation;
import com.netflix.graphql.dgs.InputArgument;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;

@DgsComponent
public class ArtworkUploadDataFetcher {
    @DgsMutation
    public List<Image> addArtwork(@InputArgument Integer showId, @InputArgument MultipartFile upload) throws IOException {
        Path uploadDir = Paths.get("uploaded-images");
        if (!Files.exists(uploadDir)) {
            Files.createDirectories(uploadDir);
        }

        Path newFile = uploadDir.resolve("show-" + showId + "-" + UUID.randomUUID() + upload.getOriginalFilename().substring(upload.getOriginalFilename().lastIndexOf(".")));
        try (OutputStream outputStream = Files.newOutputStream(newFile)) {
            outputStream.write(upload.getBytes());
        }

        return Files.list(uploadDir)
                .filter(f -> f.getFileName().toString().startsWith("show-" + showId))
                .map(f -> f.getFileName().toString())
                .map(fileName -> Image.newBuilder().url(fileName).build()).collect(Collectors.toList());

    }
}


================================================
FILE: src/main/java/com/example/demo/datafetchers/ReviewsDataFetcher.java
================================================
package com.example.demo.datafetchers;

import com.example.demo.dataloaders.ReviewsDataLoader;
import com.example.demo.dataloaders.ReviewsDataLoaderWithContext;
import com.example.demo.generated.DgsConstants;
import com.example.demo.generated.types.Review;
import com.example.demo.generated.types.Show;
import com.example.demo.generated.types.SubmittedReview;
import com.example.demo.services.DefaultReviewsService;
import com.netflix.graphql.dgs.*;
import org.dataloader.BatchLoaderEnvironment;
import org.dataloader.DataLoader;
import org.reactivestreams.Publisher;

import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;


@DgsComponent
public class ReviewsDataFetcher {

    private final DefaultReviewsService reviewsService;

    public ReviewsDataFetcher(DefaultReviewsService reviewsService) {
        this.reviewsService = reviewsService;
    }

    /**
     * This datafetcher will be called to resolve the "reviews" field on a Show.
     * It's invoked for each individual Show, so if we would load 10 shows, this method gets called 10 times.
     * To avoid the N+1 problem this datafetcher uses a DataLoader.
     * Although the DataLoader is called for each individual show ID, it will batch up the actual loading to a single method call to the "load" method in the ReviewsDataLoader.
     * For this to work correctly, the datafetcher needs to return a CompletableFuture.
     */
    @DgsData(parentType = DgsConstants.SHOW.TYPE_NAME, field = DgsConstants.SHOW.Reviews)
    public CompletableFuture<List<Review>> reviews(DgsDataFetchingEnvironment dfe) {
        //Instead of loading a DataLoader by name, we can use the DgsDataFetchingEnvironment and pass in the DataLoader classname.
        DataLoader<Integer, List<Review>> reviewsDataLoader = dfe.getDataLoader(ReviewsDataLoaderWithContext.class);

        //Because the reviews field is on Show, the getSource() method will return the Show instance.
        Show show = dfe.getSource();

        //Load the reviews from the DataLoader. This call is async and will be batched by the DataLoader mechanism.
        return reviewsDataLoader.load(show.getId());
    }

    @DgsMutation
    public List<Review> addReview(@InputArgument SubmittedReview review) {
        reviewsService.saveReview(review);

        List<Review> reviews = reviewsService.reviewsForShow(review.getShowId());

        return Optional.ofNullable(reviews).orElse(Collections.emptyList());
    }

    @DgsMutation
    public List<Review> addReviews(@InputArgument(value = "reviews", collectionType = SubmittedReview.class) List<SubmittedReview> reviewsInput) {
        reviewsService.saveReviews(reviewsInput);

        List<Integer> showIds = reviewsInput.stream().map(SubmittedReview::getShowId).collect(Collectors.toList());
        Map<Integer, List<Review>> reviews = reviewsService.reviewsForShows(showIds);

        return reviews.values().stream().flatMap(List::stream).collect(Collectors.toList());
    }

    @DgsSubscription
    public Publisher<Review> reviewAdded(@InputArgument Integer showId) {
        return reviewsService.getReviewsPublisher();
    }
}


================================================
FILE: src/main/java/com/example/demo/datafetchers/SecurityExampleFetchers.java
================================================
package com.example.demo.datafetchers;

import com.netflix.graphql.dgs.DgsComponent;
import com.netflix.graphql.dgs.DgsQuery;
import org.springframework.security.access.annotation.Secured;

@DgsComponent
public class SecurityExampleFetchers {

    @DgsQuery
    public String secureNone() {
        return "Hello to everyone";
    }

    @DgsQuery
    @Secured({"ROLE_USER", "ROLE_ADMIN"})
    public String secureUser() {
        return "Hello to users or admins";
    }

    @DgsQuery
    @Secured({"ROLE_ADMIN"})
    public String secureAdmin() {
        return "Hello to admins only";
    }
}


================================================
FILE: src/main/java/com/example/demo/datafetchers/ShowsDataFetcher.java
================================================
package com.example.demo.datafetchers;

import com.example.demo.generated.types.Show;
import com.example.demo.services.ShowsService;
import com.netflix.graphql.dgs.DgsComponent;
import com.netflix.graphql.dgs.DgsQuery;
import com.netflix.graphql.dgs.InputArgument;

import java.util.List;
import java.util.stream.Collectors;

@DgsComponent
public class ShowsDataFetcher {
    private final ShowsService showsService;

    public ShowsDataFetcher(ShowsService showsService) {
        this.showsService = showsService;
    }

    /**
     * This dataFetcher resolves the shows field on Query.
     * It uses an @InputArgument to get the titleFilter from the Query if one is defined.
     */
    @DgsQuery
    public List<Show> shows(@InputArgument("titleFilter") String titleFilter) {
        if (titleFilter == null) {
            return showsService.shows();
        }

        return showsService.shows().stream().filter(s -> s.getTitle().contains(titleFilter)).collect(Collectors.toList());
    }
}


================================================
FILE: src/main/java/com/example/demo/dataloaders/ReviewsDataLoader.java
================================================
package com.example.demo.dataloaders;

import com.example.demo.generated.types.Review;
import com.example.demo.services.DefaultReviewsService;
import com.netflix.graphql.dgs.DgsDataLoader;
import org.dataloader.MappedBatchLoader;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;

@DgsDataLoader(name = "reviews")
public class ReviewsDataLoader implements MappedBatchLoader<Integer, List<Review>> {
    private final DefaultReviewsService reviewsService;

    public ReviewsDataLoader(DefaultReviewsService reviewsService) {
        this.reviewsService = reviewsService;
    }

    /**
     * This method will be called once, even if multiple datafetchers use the load() method on the DataLoader.
     * This way reviews can be loaded for all the Shows in a single call instead of per individual Show.
     */
    @Override
    public CompletionStage<Map<Integer, List<Review>>> load(Set<Integer> keys) {

        return CompletableFuture.supplyAsync(() -> reviewsService.reviewsForShows(new ArrayList<>(keys)));
    }
}


================================================
FILE: src/main/java/com/example/demo/dataloaders/ReviewsDataLoaderWithContext.java
================================================
package com.example.demo.dataloaders;

import com.example.demo.generated.types.Review;
import com.example.demo.services.DefaultReviewsService;
import com.netflix.graphql.dgs.DgsDataLoader;
import org.dataloader.BatchLoaderEnvironment;
import org.dataloader.MappedBatchLoader;
import org.dataloader.MappedBatchLoaderWithContext;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;

@DgsDataLoader(name = "reviewsWithContext")
public class ReviewsDataLoaderWithContext implements MappedBatchLoaderWithContext<Integer, List<Review>> {
    private final DefaultReviewsService reviewsService;

    @Autowired
    public ReviewsDataLoaderWithContext(DefaultReviewsService reviewsService) {
        this.reviewsService = reviewsService;
    }

    @Override
    public CompletionStage<Map<Integer, List<Review>>> load(Set<Integer> keys, BatchLoaderEnvironment environment) {
        return CompletableFuture.supplyAsync(() -> reviewsService.reviewsForShows(new ArrayList<>(keys)));
    }

}


================================================
FILE: src/main/java/com/example/demo/directives/UppercaseDirective.java
================================================
package com.example.demo.directives;

import com.netflix.graphql.dgs.DgsDirective;
import graphql.schema.DataFetcher;
import graphql.schema.DataFetcherFactories;
import graphql.schema.GraphQLFieldDefinition;
import graphql.schema.GraphQLFieldsContainer;
import graphql.schema.idl.SchemaDirectiveWiring;
import graphql.schema.idl.SchemaDirectiveWiringEnvironment;

@DgsDirective(name = "uppercase")
public class UppercaseDirective implements SchemaDirectiveWiring {

    @Override
    public GraphQLFieldDefinition onField(SchemaDirectiveWiringEnvironment<GraphQLFieldDefinition> env) {
        DataFetcher<?> originalDataFetcher = env.getFieldDataFetcher();
        DataFetcher<?> dataFetcher = DataFetcherFactories.wrapDataFetcher(
                originalDataFetcher,
                (dataFetchingEnvironment, value) -> {
                    if (value instanceof String) {
                        return ((String) value).toUpperCase();
                    }
                    return value;
                }
        );

        env.setFieldDataFetcher(dataFetcher);
        return env.getElement();
    }
}


================================================
FILE: src/main/java/com/example/demo/instrumentation/ExampleTracingInstrumentation.java
================================================
package com.example.demo.instrumentation;

import graphql.ExecutionResult;
import graphql.execution.instrumentation.InstrumentationContext;
import graphql.execution.instrumentation.InstrumentationState;
import graphql.execution.instrumentation.SimpleInstrumentation;
import graphql.execution.instrumentation.SimplePerformantInstrumentation;
import graphql.execution.instrumentation.parameters.InstrumentationCreateStateParameters;
import graphql.execution.instrumentation.parameters.InstrumentationExecutionParameters;
import graphql.execution.instrumentation.parameters.InstrumentationFieldFetchParameters;
import graphql.schema.DataFetcher;
import graphql.schema.GraphQLNonNull;
import graphql.schema.GraphQLObjectType;
import graphql.schema.GraphQLOutputType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.util.concurrent.CompletableFuture;

@Component
public class ExampleTracingInstrumentation extends SimplePerformantInstrumentation {
    private final static Logger LOGGER = LoggerFactory.getLogger(ExampleTracingInstrumentation.class);

    @Override
    public @Nullable InstrumentationState createState(InstrumentationCreateStateParameters parameters) {
        return new TracingState();
    }

    @Override
    public @Nullable InstrumentationContext<ExecutionResult> beginExecution(InstrumentationExecutionParameters parameters, InstrumentationState state) {
        TracingState tracingState = (TracingState) state;
        tracingState.startTime = System.currentTimeMillis();
        return super.beginExecution(parameters, state);
    }

    @Override
    public @NotNull DataFetcher<?> instrumentDataFetcher(DataFetcher<?> dataFetcher, InstrumentationFieldFetchParameters parameters, InstrumentationState state) {
        // We only care about user code
        if(parameters.isTrivialDataFetcher()) {
            return dataFetcher;
        }

        return environment -> {
            long startTime = System.currentTimeMillis();
            Object result = dataFetcher.get(environment);
            if(result instanceof CompletableFuture) {
                ((CompletableFuture<?>) result).whenComplete((r, ex) -> {
                    long totalTime = System.currentTimeMillis() - startTime;
                    LOGGER.info("Async datafetcher {} took {}ms", findDatafetcherTag(parameters), totalTime);
                });
            } else {
                long totalTime = System.currentTimeMillis() - startTime;
                LOGGER.info("Datafetcher {} took {}ms", findDatafetcherTag(parameters), totalTime);
            }

            return result;
        };
    }

    @Override
    public @NotNull CompletableFuture<ExecutionResult> instrumentExecutionResult(ExecutionResult executionResult, InstrumentationExecutionParameters parameters, InstrumentationState state) {
        TracingState tracingState = (TracingState) state;
        long totalTime = System.currentTimeMillis() - tracingState.startTime;
        LOGGER.info("Total execution time: {}ms", totalTime);

        return super.instrumentExecutionResult(executionResult, parameters, state);
    }

    private String findDatafetcherTag(InstrumentationFieldFetchParameters parameters) {
        GraphQLOutputType type = parameters.getExecutionStepInfo().getParent().getType();
        GraphQLObjectType parent;
        if (type instanceof GraphQLNonNull) {
            parent = (GraphQLObjectType) ((GraphQLNonNull) type).getWrappedType();
        } else {
            parent = (GraphQLObjectType) type;
        }

        return  parent.getName() + "." + parameters.getExecutionStepInfo().getPath().getSegmentName();
    }

    static class TracingState implements InstrumentationState {
        long startTime;
    }
}


================================================
FILE: src/main/java/com/example/demo/scalars/DateTimeScalar.java
================================================
package com.example.demo.scalars;

import com.netflix.graphql.dgs.DgsComponent;
import com.netflix.graphql.dgs.DgsRuntimeWiring;
import graphql.scalars.ExtendedScalars;
import graphql.schema.idl.RuntimeWiring;

/**
 * graphql-java provides optional scalars in the graphql-java-extended-scalars library.
 * We can wire a scalar from this library by adding the scalar to the RuntimeWiring.
 */
@DgsComponent
public class DateTimeScalar {

    @DgsRuntimeWiring
    public RuntimeWiring.Builder addScalar(RuntimeWiring.Builder builder) {
        return builder.scalar(ExtendedScalars.DateTime);
    }
}


================================================
FILE: src/main/java/com/example/demo/services/DefaultReviewsService.java
================================================
package com.example.demo.services;

import com.example.demo.generated.types.Review;
import com.example.demo.generated.types.SubmittedReview;
import net.datafaker.Faker;
import org.reactivestreams.Publisher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import reactor.core.publisher.ConnectableFlux;
import reactor.core.publisher.Flux;
import reactor.core.publisher.FluxSink;

import jakarta.annotation.PostConstruct;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

/**
 * This service emulates a data store.
 * For convenience in the demo we just generate Reviews in memory, but imagine this would be backed by for example a database.
 * If this was indeed backed by a database, it would be very important to avoid the N+1 problem, which means we need to use a DataLoader to call this class.
 */
@Service
public class DefaultReviewsService implements ReviewsService {
    private final static Logger logger = LoggerFactory.getLogger(DefaultReviewsService.class);

    private final ShowsService showsService;
    private final Map<Integer, List<Review>> reviews = new ConcurrentHashMap<>();
    private FluxSink<Review> reviewsStream;
    private ConnectableFlux<Review> reviewsPublisher;

    public DefaultReviewsService(ShowsService showsService) {
        this.showsService = showsService;
    }

    @PostConstruct
    private void createReviews() {
        Faker faker = new Faker();

        //For each show we generate a random set of reviews.
        showsService.shows().forEach(show -> {
            List<Review> generatedReviews = IntStream.range(0, faker.number().numberBetween(1, 20)).mapToObj(number -> {
                LocalDateTime date = faker.date().past(300, TimeUnit.DAYS).toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
                return Review.newBuilder().submittedDate(OffsetDateTime.of(date, ZoneOffset.UTC)).username(faker.name().username()).starScore(faker.number().numberBetween(0, 6)).build();
            }).collect(Collectors.toList());

            reviews.put(show.getId(), generatedReviews);
        });


        Flux<Review> publisher = Flux.create(emitter -> {
            reviewsStream = emitter;
        });

        reviewsPublisher = publisher.publish();
        reviewsPublisher.connect();
    }

    /**
     * Hopefully nobody calls this for multiple shows within a single query, that would indicate the N+1 problem!
     */
    public List<Review> reviewsForShow(Integer showId) {
        return reviews.get(showId);
    }

    /**
     * This is the method we want to call when loading reviews for multiple shows.
     * If this code was backed by a relational database, it would select reviews for all requested shows in a single SQL query.
     */
    public Map<Integer, List<Review>> reviewsForShows(List<Integer> showIds) {
        logger.info("Loading reviews for shows {}", showIds.stream().map(String::valueOf).collect(Collectors.joining(", ")));

        return reviews
                .entrySet()
                .stream()
                .filter(entry -> showIds.contains(entry.getKey())).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
    }

    public void saveReview(SubmittedReview reviewInput) {
        List<Review> reviewsForShow = reviews.computeIfAbsent(reviewInput.getShowId(), (key) -> new ArrayList<>());
        Review review = Review.newBuilder()
                .username(reviewInput.getUsername())
                .starScore(reviewInput.getStarScore())
                .submittedDate(OffsetDateTime.now()).build();

        reviewsForShow.add(review);
        reviewsStream.next(review);

        logger.info("Review added {}", review);
    }

    public void saveReviews(List<SubmittedReview> reviewsInput) {
        reviewsInput.forEach(reviewInput -> {
            List<Review> reviewsForShow = reviews.computeIfAbsent(reviewInput.getShowId(), (key) -> new ArrayList<>());
            Review review = Review.newBuilder()
                    .username(reviewInput.getUsername())
                    .starScore(reviewInput.getStarScore())
                    .submittedDate(OffsetDateTime.now()).build();

            reviewsForShow.add(review);
            reviewsStream.next(review);

            logger.info("Review added {}", review);
        });
    }

    public Publisher<Review> getReviewsPublisher() {
        return reviewsPublisher;
    }
}


================================================
FILE: src/main/java/com/example/demo/services/ReviewsService.java
================================================
package com.example.demo.services;

public interface ReviewsService {
}


================================================
FILE: src/main/java/com/example/demo/services/ShowsService.java
================================================
package com.example.demo.services;


import com.example.demo.generated.types.Show;

import java.util.List;

public interface ShowsService {
    List<Show> shows();
}


================================================
FILE: src/main/java/com/example/demo/services/ShowsServiceImpl.java
================================================
package com.example.demo.services;

import com.example.demo.generated.types.Show;
import org.springframework.stereotype.Service;

import java.util.Arrays;
import java.util.List;

@Service
public class ShowsServiceImpl implements ShowsService {
    @Override
    public List<Show> shows() {
        return Arrays.asList(
                Show.newBuilder().id(1).title("Stranger Things").releaseYear(2016).build(),
                Show.newBuilder().id(2).title("Ozark").releaseYear(2017).build(),
                Show.newBuilder().id(3).title("The Crown").releaseYear(2016).build(),
                Show.newBuilder().id(4).title("Dead to Me").releaseYear(2019).build(),
                Show.newBuilder().id(5).title("Orange is the New Black").releaseYear(2013).build()
        );
    }
}


================================================
FILE: src/main/resources/application.yml
================================================
spring:
  application:
    name: dgs-example-java

  graphql:
    graphiql:
      enabled: true
    websocket:
      path: /graphql

---
spring:
  config:
    activate:
      on-profile: local
  output:
    ansi:
      enabled: always

logging:
  level:
    io.micrometer.core.instrument.logging.*: true


================================================
FILE: src/main/resources/schema/schema.graphqls
================================================
type Query {
    shows(titleFilter: String): [Show]
    secureNone: String
    secureUser: String
    secureAdmin: String
}

type Mutation {
    addReview(review: SubmittedReview): [Review]
    addReviews(reviews: [SubmittedReview]): [Review]
    addArtwork(showId: Int!, upload: Upload!): [Image]! @skipcodegen
}

type Subscription {
    reviewAdded(showId: Int!): Review
}

type Show {
    id: Int
    title: String @uppercase
    releaseYear: Int
    reviews(minScore:Int): [Review]
    artwork: [Image]
}

type Review {
    username: String
    starScore: Int
    submittedDate: DateTime
}

input SubmittedReview {
    showId: Int!
    username: String!
    starScore: Int!
}

type Image {
    url: String
}

scalar DateTime
scalar Upload
directive @skipcodegen on FIELD_DEFINITION
directive @uppercase on FIELD_DEFINITION


================================================
FILE: src/main/resources/static/asset-manifest.json
================================================
{
  "files": {
    "main.js": "/static/js/main.05accb10.chunk.js",
    "main.js.map": "/static/js/main.05accb10.chunk.js.map",
    "runtime-main.js": "/static/js/runtime-main.09b85ec0.js",
    "runtime-main.js.map": "/static/js/runtime-main.09b85ec0.js.map",
    "static/js/2.ae627b82.chunk.js": "/static/js/2.ae627b82.chunk.js",
    "static/js/2.ae627b82.chunk.js.map": "/static/js/2.ae627b82.chunk.js.map",
    "index.html": "/index.html",
    "precache-manifest.2241ce5fa2602c9cdc3eb026c3eb8589.js": "/precache-manifest.2241ce5fa2602c9cdc3eb026c3eb8589.js",
    "service-worker.js": "/service-worker.js",
    "static/js/2.ae627b82.chunk.js.LICENSE.txt": "/static/js/2.ae627b82.chunk.js.LICENSE.txt"
  },
  "entrypoints": [
    "static/js/runtime-main.09b85ec0.js",
    "static/js/2.ae627b82.chunk.js",
    "static/js/main.05accb10.chunk.js"
  ]
}

================================================
FILE: src/main/resources/static/index.html
================================================
<!doctype html><html lang="en"><head><meta charset="utf-8"><link rel="shortcut icon" href="/favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="/manifest.json"><title>Launches</title><link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,l,i=t[0],f=t[1],a=t[2],p=0,s=[];p<i.length;p++)l=i[p],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(c&&c(t);s.length;)s.shift()();return u.push.apply(u,a||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var f=r[i];0!==o[f]&&(n=!1)}n&&(u.splice(t--,1),e=l(l.s=r[0]))}return e}var n={},o={1:0},u=[];function l(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,l),r.l=!0,r.exports}l.m=e,l.c=n,l.d=function(e,t,r){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(l.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)l.d(r,n,function(t){return e[t]}.bind(null,n));return r},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="/";var i=this.webpackJsonpclient=this.webpackJsonpclient||[],f=i.push.bind(i);i.push=t,i=i.slice();for(var a=0;a<i.length;a++)t(i[a]);var c=f;r()}([])</script><script src="/static/js/2.ae627b82.chunk.js"></script><script src="/static/js/main.05accb10.chunk.js"></script></body></html>

================================================
FILE: src/main/resources/static/precache-manifest.2241ce5fa2602c9cdc3eb026c3eb8589.js
================================================
self.__precacheManifest = (self.__precacheManifest || []).concat([
  {
    "revision": "e16b7b688dacd0dc3ffa733050e8aa20",
    "url": "/index.html"
  },
  {
    "revision": "43e513520a1bd98e6c88",
    "url": "/static/js/2.ae627b82.chunk.js"
  },
  {
    "revision": "570d362d673dab785e62d2b8563e1118",
    "url": "/static/js/2.ae627b82.chunk.js.LICENSE.txt"
  },
  {
    "revision": "a9b28ac0f6d2a2881254",
    "url": "/static/js/main.05accb10.chunk.js"
  },
  {
    "revision": "9b4e396c183e42c1fa5c",
    "url": "/static/js/runtime-main.09b85ec0.js"
  }
]);

================================================
FILE: src/main/resources/static/service-worker.js
================================================
/**
 * Welcome to your Workbox-powered service worker!
 *
 * You'll need to register this file in your web app and you should
 * disable HTTP caching for this file too.
 * See https://goo.gl/nhQhGp
 *
 * The rest of the code is auto-generated. Please don't update this file
 * directly; instead, make changes to your Workbox build configuration
 * and re-run your build process.
 * See https://goo.gl/2aRDsh
 */

importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");

importScripts(
  "/precache-manifest.2241ce5fa2602c9cdc3eb026c3eb8589.js"
);

self.addEventListener('message', (event) => {
  if (event.data && event.data.type === 'SKIP_WAITING') {
    self.skipWaiting();
  }
});

workbox.core.clientsClaim();

/**
 * The workboxSW.precacheAndRoute() method efficiently caches and responds to
 * requests for URLs in the manifest.
 * See https://goo.gl/S9QRab
 */
self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});

workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("/index.html"), {
  
  blacklist: [/^\/_/,/\/[^/?]+\.[^/]+$/],
});


================================================
FILE: src/main/resources/static/static/js/2.ae627b82.chunk.js
================================================
/*! For license information please see 2.ae627b82.chunk.js.LICENSE.txt */
(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[2],[function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"e",(function(){return a})),n.d(t,"b",(function(){return u})),n.d(t,"d",(function(){return c})),n.d(t,"f",(function(){return s}));var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}function u(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(t){o(t)}}function u(e){try{c(r.throw(e))}catch(t){o(t)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,u)}c((r=r.apply(e,t||[])).next())}))}function c(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"===typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(u){o=[6,u],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,u])}}}Object.create;function s(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}Object.create},function(e,t,n){"use strict";n.d(t,"c",(function(){return p.a})),n.d(t,"b",(function(){return u})),n.d(t,"a",(function(){return a}));var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};Object.create;Object.create;var i=Object.setPrototypeOf,o=void 0===i?function(e,t){return e.__proto__=t,e}:i,a=function(e){function t(n){void 0===n&&(n="Invariant Violation");var r=e.call(this,"number"===typeof n?"Invariant Violation: "+n+" (see https://github.com/apollographql/invariant-packages)":n)||this;return r.framesToPop=1,r.name="Invariant Violation",o(r,t.prototype),r}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error);function u(e,t){if(!e)throw new a(t)}var c=["debug","log","warn","error","silent"],s=c.indexOf("log");function l(e){return function(){if(c.indexOf(e)>=s){var t=console[e]||console.log;return t.apply(console,arguments)}}}!function(e){e.debug=l("debug"),e.log=l("log"),e.warn=l("warn"),e.error=l("error")}(u||(u={}));var f=n(20),p=n(13),d="__",h=[d,d].join("DEV");var v=function(){try{return Boolean(__DEV__)}catch(e){return Object.defineProperty(f.a,h,{value:"production"!==Object(p.a)((function(){return"production"})),enumerable:!1,configurable:!0,writable:!0}),f.a[h]}}(),y=n(32);n(36).a,Object(y.a)(),__DEV__?u("boolean"===typeof v,v):u("boolean"===typeof v,36)},function(e,t,n){"use strict";n.d(t,"e",(function(){return c})),n.d(t,"b",(function(){return s})),n.d(t,"h",(function(){return f})),n.d(t,"j",(function(){return p})),n.d(t,"d",(function(){return d})),n.d(t,"a",(function(){return h})),n.d(t,"c",(function(){return v})),n.d(t,"i",(function(){return y})),n.d(t,"k",(function(){return b})),n.d(t,"g",(function(){return m})),n.d(t,"f",(function(){return g}));var r=n(33),i=n(8),o=n(7),a=n(72),u=n(71),c=Object.prototype.hasOwnProperty;function s(e,t){var n=e.__typename,r=e.id,i=e._id;if("string"===typeof n&&(t&&(t.keyObject=void 0!==r?{id:r}:void 0!==i?{_id:i}:void 0),void 0===r&&(r=i),void 0!==r))return"".concat(n,":").concat("number"===typeof r||"string"===typeof r?r:JSON.stringify(r))}var l={dataIdFromObject:s,addTypename:!0,resultCaching:!0,canonizeResults:!1};function f(e){return Object(r.a)(l,e)}function p(e){var t=e.canonizeResults;return void 0===t?l.canonizeResults:t}function d(e,t){return Object(i.g)(t)?e.get(t.__ref,"__typename"):t&&t.__typename}var h=/^[_a-z][_0-9a-z]*/i;function v(e){var t=e.match(h);return t?t[0]:e}function y(e,t,n){return!!Object(o.a)(t)&&(g(t)?t.every((function(t){return y(e,t,n)})):e.selections.every((function(e){if(Object(i.e)(e)&&Object(a.c)(e,n)){var r=Object(i.i)(e);return c.call(t,r)&&(!e.selectionSet||y(e.selectionSet,t[r],n))}return!0})))}function b(e){return Object(o.a)(e)&&!Object(i.g)(e)&&!g(e)}function m(){return new u.a}var g=function(e){return Array.isArray(e)}},function(e,t,n){"use strict";e.exports=n(53)},function(e,t,n){"use strict";var r;function i(e){return!!e&&e<7}n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),function(e){e[e.loading=1]="loading",e[e.setVariables=2]="setVariables",e[e.fetchMore=3]="fetchMore",e[e.refetch=4]="refetch",e[e.poll=6]="poll",e[e.ready=7]="ready",e[e.error=8]="error"}(r||(r={}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=Object.prototype,i=r.toString,o=r.hasOwnProperty,a=Function.prototype.toString,u=new Map;function c(e,t){try{return function e(t,n){if(t===n)return!0;var r=i.call(t),u=i.call(n);if(r!==u)return!1;switch(r){case"[object Array]":if(t.length!==n.length)return!1;case"[object Object]":if(p(t,n))return!0;var c=s(t),l=s(n),d=c.length;if(d!==l.length)return!1;for(var h=0;h<d;++h)if(!o.call(n,c[h]))return!1;for(h=0;h<d;++h){var v=c[h];if(!e(t[v],n[v]))return!1}return!0;case"[object Error]":return t.name===n.name&&t.message===n.message;case"[object Number]":if(t!==t)return n!==n;case"[object Boolean]":case"[object Date]":return+t===+n;case"[object RegExp]":case"[object String]":return t==""+n;case"[object Map]":case"[object Set]":if(t.size!==n.size)return!1;if(p(t,n))return!0;for(var y=t.entries(),b="[object Map]"===r;;){var m=y.next();if(m.done)break;var g=m.value,w=g[0],O=g[1];if(!n.has(w))return!1;if(b&&!e(O,n.get(w)))return!1}return!0;case"[object Uint16Array]":case"[object Uint8Array]":case"[object Uint32Array]":case"[object Int32Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object ArrayBuffer]":t=new Uint8Array(t),n=new Uint8Array(n);case"[object DataView]":var E=t.byteLength;if(E===n.byteLength)for(;E--&&t[E]===n[E];);return-1===E;case"[object AsyncFunction]":case"[object GeneratorFunction]":case"[object AsyncGeneratorFunction]":case"[object Function]":var k=a.call(t);return k===a.call(n)&&!function(e,t){var n=e.length-t.length;return n>=0&&e.indexOf(t,n)===n}(k,f)}return!1}(e,t)}finally{u.clear()}}function s(e){return Object.keys(e).filter(l,e)}function l(e){return void 0!==this[e]}var f="{ [native code] }";function p(e,t){var n=u.get(e);if(n){if(n.has(t))return!0}else u.set(e,n=new Set);return n.add(t),!1}},,function(e,t,n){"use strict";function r(e){return null!==e&&"object"===typeof e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"h",(function(){return a})),n.d(t,"g",(function(){return u})),n.d(t,"d",(function(){return c})),n.d(t,"k",(function(){return s})),n.d(t,"j",(function(){return l})),n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return v})),n.d(t,"i",(function(){return y})),n.d(t,"c",(function(){return b})),n.d(t,"e",(function(){return m})),n.d(t,"f",(function(){return g}));var r=n(1),i=n(7),o=n(27);function a(e){return{__ref:String(e)}}function u(e){return Boolean(e&&"object"===typeof e&&"string"===typeof e.__ref)}function c(e){return Object(i.a)(e)&&"Document"===e.kind&&Array.isArray(e.definitions)}function s(e,t,n,i){if(function(e){return"IntValue"===e.kind}(n)||function(e){return"FloatValue"===e.kind}(n))e[t.value]=Number(n.value);else if(function(e){return"BooleanValue"===e.kind}(n)||function(e){return"StringValue"===e.kind}(n))e[t.value]=n.value;else if(function(e){return"ObjectValue"===e.kind}(n)){var o={};n.fields.map((function(e){return s(o,e.name,e.value,i)})),e[t.value]=o}else if(function(e){return"Variable"===e.kind}(n)){var a=(i||{})[n.name.value];e[t.value]=a}else if(function(e){return"ListValue"===e.kind}(n))e[t.value]=n.values.map((function(e){var n={};return s(n,t,e,i),n[t.value]}));else if(function(e){return"EnumValue"===e.kind}(n))e[t.value]=n.value;else{if(!function(e){return"NullValue"===e.kind}(n))throw __DEV__?new r.a('The inline argument "'.concat(t.value,'" of kind "').concat(n.kind,'"')+"is not supported. Use variables instead of inline arguments to overcome this limitation."):new r.a(52);e[t.value]=null}}function l(e,t){var n=null;e.directives&&(n={},e.directives.forEach((function(e){n[e.name.value]={},e.arguments&&e.arguments.forEach((function(r){var i=r.name,o=r.value;return s(n[e.name.value],i,o,t)}))})));var r=null;return e.arguments&&e.arguments.length&&(r={},e.arguments.forEach((function(e){var n=e.name,i=e.value;return s(r,n,i,t)}))),p(e.name.value,r,n)}var f=["connection","include","skip","client","rest","export"],p=Object.assign((function(e,t,n){if(t&&n&&n.connection&&n.connection.key){if(n.connection.filter&&n.connection.filter.length>0){var r=n.connection.filter?n.connection.filter:[];r.sort();var i={};return r.forEach((function(e){i[e]=t[e]})),"".concat(n.connection.key,"(").concat(d(i),")")}return n.connection.key}var o=e;if(t){var a=d(t);o+="(".concat(a,")")}return n&&Object.keys(n).forEach((function(e){-1===f.indexOf(e)&&(n[e]&&Object.keys(n[e]).length?o+="@".concat(e,"(").concat(d(n[e]),")"):o+="@".concat(e))})),o}),{setStringify:function(e){var t=d;return d=e,t}}),d=function(e){return JSON.stringify(e,h)};function h(e,t){return Object(i.a)(t)&&!Array.isArray(t)&&(t=Object.keys(t).sort().reduce((function(e,n){return e[n]=t[n],e}),{})),t}function v(e,t){if(e.arguments&&e.arguments.length){var n={};return e.arguments.forEach((function(e){var r=e.name,i=e.value;return s(n,r,i,t)})),n}return null}function y(e){return e.alias?e.alias.value:e.name.value}function b(e,t,n){if("string"===typeof e.__typename)return e.__typename;for(var r=0,i=t.selections;r<i.length;r++){var a=i[r];if(m(a)){if("__typename"===a.name.value)return e[y(a)]}else{var u=b(e,Object(o.b)(a,n).selectionSet,n);if("string"===typeof u)return u}}}function m(e){return"Field"===e.kind}function g(e){return"InlineFragment"===e.kind}},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return f}));var r=n(0),i=(n(1),n(11)),o=n(7),a=n(19),u=n(2);var c,s,l=function(){function e(){this.known=new(a.d?WeakSet:Set),this.pool=new i.a(a.c),this.passes=new WeakMap,this.keysByJSON=new Map,this.empty=this.admit({})}return e.prototype.isKnown=function(e){return Object(o.a)(e)&&this.known.has(e)},e.prototype.pass=function(e){if(Object(o.a)(e)){var t=function(e){return Object(o.a)(e)?Object(u.f)(e)?e.slice(0):Object(r.a)({__proto__:Object.getPrototypeOf(e)},e):e}(e);return this.passes.set(t,e),t}return e},e.prototype.admit=function(e){var t=this;if(Object(o.a)(e)){var n=this.passes.get(e);if(n)return n;switch(Object.getPrototypeOf(e)){case Array.prototype:if(this.known.has(e))return e;var r=e.map(this.admit,this);return(c=this.pool.lookupArray(r)).array||(this.known.add(c.array=r),__DEV__&&Object.freeze(r)),c.array;case null:case Object.prototype:if(this.known.has(e))return e;var i=Object.getPrototypeOf(e),a=[i],u=this.sortedKeys(e);a.push(u.json);var c,s=a.length;if(u.sorted.forEach((function(n){a.push(t.admit(e[n]))})),!(c=this.pool.lookupArray(a)).object){var l=c.object=Object.create(i);this.known.add(l),u.sorted.forEach((function(e,t){l[e]=a[s+t]})),__DEV__&&Object.freeze(l)}return c.object}}return e},e.prototype.sortedKeys=function(e){var t=Object.keys(e),n=this.pool.lookupArray(t);if(!n.keys){t.sort();var r=JSON.stringify(t);(n.keys=this.keysByJSON.get(r))||this.keysByJSON.set(r,n.keys={sorted:t,json:r})}return n.keys},e}(),f=Object.assign((function(e){if(Object(o.a)(e)){void 0===c&&p();var t=c.admit(e),n=s.get(t);return void 0===n&&s.set(t,n=JSON.stringify(t)),n}return JSON.stringify(e)}),{reset:p});function p(){c=new l,s=new(a.c?WeakMap:Map)}},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));var r=n(0),i=(n(1),n(46));function o(e){return e.hasOwnProperty("graphQLErrors")}var a=function(e){function t(n){var r=n.graphQLErrors,o=n.clientErrors,a=n.networkError,u=n.errorMessage,c=n.extraInfo,s=e.call(this,u)||this;return s.graphQLErrors=r||[],s.clientErrors=o||[],s.networkError=a||null,s.message=u||function(e){var t="";(Object(i.a)(e.graphQLErrors)||Object(i.a)(e.clientErrors))&&(e.graphQLErrors||[]).concat(e.clientErrors||[]).forEach((function(e){var n=e?e.message:"Error message not found.";t+="".concat(n,"\n")}));return e.networkError&&(t+="".concat(e.networkError.message,"\n")),t=t.replace(/\n$/,"")}(s),s.extraInfo=c,s.__proto__=t.prototype,s}return Object(r.c)(t,e),t}(Error)},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=function(){return Object.create(null)},i=Array.prototype,o=i.forEach,a=i.slice,u=function(){function e(e,t){void 0===e&&(e=!0),void 0===t&&(t=r),this.weakness=e,this.makeData=t}return e.prototype.lookup=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.lookupArray(e)},e.prototype.lookupArray=function(e){var t=this;return o.call(e,(function(e){return t=t.getChildTrie(e)})),t.data||(t.data=this.makeData(a.call(e)))},e.prototype.getChildTrie=function(t){var n=this.weakness&&function(e){switch(typeof e){case"object":if(null===e)break;case"function":return!0}return!1}(t)?this.weak||(this.weak=new WeakMap):this.strong||(this.strong=new Map),r=n.get(t);return r||n.set(t,r=new e(this.weakness,this.makeData)),r},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return j})),n.d(t,"b",(function(){return D}));var r=n(11),i=n(14);function o(){}var a,u=function(){function e(e,t){void 0===e&&(e=1/0),void 0===t&&(t=o),this.max=e,this.dispose=t,this.map=new Map,this.newest=null,this.oldest=null}return e.prototype.has=function(e){return this.map.has(e)},e.prototype.get=function(e){var t=this.getNode(e);return t&&t.value},e.prototype.getNode=function(e){var t=this.map.get(e);if(t&&t!==this.newest){var n=t.older,r=t.newer;r&&(r.older=n),n&&(n.newer=r),t.older=this.newest,t.older.newer=t,t.newer=null,this.newest=t,t===this.oldest&&(this.oldest=r)}return t},e.prototype.set=function(e,t){var n=this.getNode(e);return n?n.value=t:(n={key:e,value:t,newer:null,older:this.newest},this.newest&&(this.newest.newer=n),this.newest=n,this.oldest=this.oldest||n,this.map.set(e,n),n.value)},e.prototype.clean=function(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)},e.prototype.delete=function(e){var t=this.map.get(e);return!!t&&(t===this.newest&&(this.newest=t.older),t===this.oldest&&(this.oldest=t.newer),t.newer&&(t.newer.older=t.older),t.older&&(t.older.newer=t.newer),this.map.delete(e),this.dispose(t.value,e),!0)},e}(),c=new i.a,s=Object.prototype.hasOwnProperty,l=void 0===(a=Array.from)?function(e){var t=[];return e.forEach((function(e){return t.push(e)})),t}:a;function f(e){var t=e.unsubscribe;"function"===typeof t&&(e.unsubscribe=void 0,t())}var p=[];function d(e,t){if(!e)throw new Error(t||"assertion failure")}function h(e){switch(e.length){case 0:throw new Error("unknown value");case 1:return e[0];case 2:throw e[1]}}var v=function(){function e(t){this.fn=t,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],this.deps=null,++e.count}return e.prototype.peek=function(){if(1===this.value.length&&!m(this))return y(this),this.value[0]},e.prototype.recompute=function(e){return d(!this.recomputing,"already recomputing"),y(this),m(this)?function(e,t){x(e),c.withValue(e,b,[e,t]),function(e,t){if("function"===typeof e.subscribe)try{f(e),e.unsubscribe=e.subscribe.apply(null,t)}catch(n){return e.setDirty(),!1}return!0}(e,t)&&function(e){if(e.dirty=!1,m(e))return;w(e)}(e);return h(e.value)}(this,e):h(this.value)},e.prototype.setDirty=function(){this.dirty||(this.dirty=!0,this.value.length=0,g(this),f(this))},e.prototype.dispose=function(){var e=this;this.setDirty(),x(this),O(this,(function(t,n){t.setDirty(),T(t,e)}))},e.prototype.forget=function(){this.dispose()},e.prototype.dependOn=function(e){e.add(this),this.deps||(this.deps=p.pop()||new Set),this.deps.add(e)},e.prototype.forgetDeps=function(){var e=this;this.deps&&(l(this.deps).forEach((function(t){return t.delete(e)})),this.deps.clear(),p.push(this.deps),this.deps=null)},e.count=0,e}();function y(e){var t=c.getValue();if(t)return e.parents.add(t),t.childValues.has(e)||t.childValues.set(e,[]),m(e)?E(t,e):k(t,e),t}function b(e,t){e.recomputing=!0,e.value.length=0;try{e.value[0]=e.fn.apply(null,t)}catch(n){e.value[1]=n}e.recomputing=!1}function m(e){return e.dirty||!(!e.dirtyChildren||!e.dirtyChildren.size)}function g(e){O(e,E)}function w(e){O(e,k)}function O(e,t){var n=e.parents.size;if(n)for(var r=l(e.parents),i=0;i<n;++i)t(r[i],e)}function E(e,t){d(e.childValues.has(t)),d(m(t));var n=!m(e);if(e.dirtyChildren){if(e.dirtyChildren.has(t))return}else e.dirtyChildren=p.pop()||new Set;e.dirtyChildren.add(t),n&&g(e)}function k(e,t){d(e.childValues.has(t)),d(!m(t));var n=e.childValues.get(t);0===n.length?e.childValues.set(t,t.value.slice(0)):function(e,t){var n=e.length;return n>0&&n===t.length&&e[n-1]===t[n-1]}(n,t.value)||e.setDirty(),_(e,t),m(e)||w(e)}function _(e,t){var n=e.dirtyChildren;n&&(n.delete(t),0===n.size&&(p.length<100&&p.push(n),e.dirtyChildren=null))}function x(e){e.childValues.size>0&&e.childValues.forEach((function(t,n){T(e,n)})),e.forgetDeps(),d(null===e.dirtyChildren)}function T(e,t){t.parents.delete(e),e.childValues.delete(t),_(e,t)}var S={setDirty:!0,dispose:!0,forget:!0};function j(e){var t=new Map,n=e&&e.subscribe;function r(e){var r=c.getValue();if(r){var i=t.get(e);i||t.set(e,i=new Set),r.dependOn(i),"function"===typeof n&&(f(i),i.unsubscribe=n(e))}}return r.dirty=function(e,n){var r=t.get(e);if(r){var i=n&&s.call(S,n)?n:"setDirty";l(r).forEach((function(e){return e[i]()})),t.delete(e),f(r)}},r}function C(){var e=new r.a("function"===typeof WeakMap);return function(){return e.lookupArray(arguments)}}C();var N=new Set;function D(e,t){void 0===t&&(t=Object.create(null));var n=new u(t.max||Math.pow(2,16),(function(e){return e.dispose()})),r=t.keyArgs,i=t.makeCacheKey||C(),o=function(){var o=i.apply(null,r?r.apply(null,arguments):arguments);if(void 0===o)return e.apply(null,arguments);var a=n.get(o);a||(n.set(o,a=new v(e)),a.subscribe=t.subscribe,a.forget=function(){return n.delete(o)});var u=a.recompute(Array.prototype.slice.call(arguments));return n.set(o,a),N.add(n),c.hasValue()||(N.forEach((function(e){return e.clean()})),N.clear()),u};function a(e){var t=n.get(e);t&&t.setDirty()}function s(e){var t=n.get(e);if(t)return t.peek()}function l(e){return n.delete(e)}return Object.defineProperty(o,"size",{get:function(){return n.map.size},configurable:!1,enumerable:!1}),o.dirtyKey=a,o.dirty=function(){a(i.apply(null,arguments))},o.peekKey=s,o.peek=function(){return s(i.apply(null,arguments))},o.forgetKey=l,o.forget=function(){return l(i.apply(null,arguments))},o.makeCacheKey=i,o.getKey=r?function(){return i.apply(null,r.apply(null,arguments))}:i,Object.freeze(o)}},function(e,t,n){"use strict";function r(e){try{return e()}catch(t){}}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=null,i={},o=1,a=Array,u=a["@wry/context:Slot"]||function(){var e=function(){function e(){this.id=["slot",o++,Date.now(),Math.random().toString(36).slice(2)].join(":")}return e.prototype.hasValue=function(){for(var e=r;e;e=e.parent)if(this.id in e.slots){var t=e.slots[this.id];if(t===i)break;return e!==r&&(r.slots[this.id]=t),!0}return r&&(r.slots[this.id]=i),!1},e.prototype.getValue=function(){if(this.hasValue())return r.slots[this.id]},e.prototype.withValue=function(e,t,n,i){var o,a=((o={__proto__:null})[this.id]=e,o),u=r;r={parent:u,slots:a};try{return t.apply(i,n)}finally{r=u}},e.bind=function(e){var t=r;return function(){var n=r;try{return r=t,e.apply(this,arguments)}finally{r=n}}},e.noContext=function(e,t,n){if(!r)return e.apply(n,t);var i=r;try{return r=null,e.apply(n,t)}finally{r=i}},e}();try{Object.defineProperty(a,"@wry/context:Slot",{value:a["@wry/context:Slot"]=e,enumerable:!1,writable:!1,configurable:!1})}finally{return e}}();u.bind,u.noContext},,function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return u})),n.d(t,"d",(function(){return c})),n.d(t,"c",(function(){return s}));var r=n(12),i=new(n(14).a),o=new WeakMap;function a(e){var t=o.get(e);return t||o.set(e,t={vars:new Set,dep:Object(r.a)()}),t}function u(e){a(e).vars.forEach((function(t){return t.forgetCache(e)}))}function c(e){a(e).vars.forEach((function(t){return t.attachCache(e)}))}function s(e){var t=new Set,n=new Set,r=function r(u){if(arguments.length>0){if(e!==u){e=u,t.forEach((function(e){a(e).dep.dirty(r),l(e)}));var c=Array.from(n);n.clear(),c.forEach((function(t){return t(e)}))}}else{var s=i.getValue();s&&(o(s),a(s).dep(r))}return e};r.onNextChange=function(e){return n.add(e),function(){n.delete(e)}};var o=r.attachCache=function(e){return t.add(e),a(e).vars.add(r),r};return r.forgetCache=function(e){return t.delete(e)},r}function l(e){e.broadcastWatches&&e.broadcastWatches()}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"f",(function(){return a})),n.d(t,"g",(function(){return u})),n.d(t,"d",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"c",(function(){return l})),n.d(t,"e",(function(){return f})),n.d(t,"b",(function(){return p}));var r=n(1),i=n(8);function o(e){__DEV__?Object(r.b)(e&&"Document"===e.kind,'Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a "gql" tag? http://docs.apollostack.com/apollo-client/core.html#gql'):Object(r.b)(e&&"Document"===e.kind,44);var t=e.definitions.filter((function(e){return"FragmentDefinition"!==e.kind})).map((function(e){if("OperationDefinition"!==e.kind)throw __DEV__?new r.a('Schema type definitions not allowed in queries. Found: "'.concat(e.kind,'"')):new r.a(45);return e}));return __DEV__?Object(r.b)(t.length<=1,"Ambiguous GraphQL document: contains ".concat(t.length," operations")):Object(r.b)(t.length<=1,46),e}function a(e){return o(e),e.definitions.filter((function(e){return"OperationDefinition"===e.kind}))[0]}function u(e){return e.definitions.filter((function(e){return"OperationDefinition"===e.kind&&e.name})).map((function(e){return e.name.value}))[0]||null}function c(e){return e.definitions.filter((function(e){return"FragmentDefinition"===e.kind}))}function s(e){var t=a(e);return __DEV__?Object(r.b)(t&&"query"===t.operation,"Must contain a query definition."):Object(r.b)(t&&"query"===t.operation,47),t}function l(e){__DEV__?Object(r.b)("Document"===e.kind,'Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a "gql" tag? http://docs.apollostack.com/apollo-client/core.html#gql'):Object(r.b)("Document"===e.kind,48),__DEV__?Object(r.b)(e.definitions.length<=1,"Fragment must have exactly one definition."):Object(r.b)(e.definitions.length<=1,49);var t=e.definitions[0];return __DEV__?Object(r.b)("FragmentDefinition"===t.kind,"Must be a fragment definition."):Object(r.b)("FragmentDefinition"===t.kind,50),t}function f(e){var t;o(e);for(var n=0,i=e.definitions;n<i.length;n++){var a=i[n];if("OperationDefinition"===a.kind){var u=a.operation;if("query"===u||"mutation"===u||"subscription"===u)return a}"FragmentDefinition"!==a.kind||t||(t=a)}if(t)return t;throw __DEV__?new r.a("Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment."):new r.a(51)}function p(e){var t=Object.create(null),n=e&&e.variableDefinitions;return n&&n.length&&n.forEach((function(e){e.defaultValue&&Object(i.k)(t,e.variable.name,e.defaultValue)})),t}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return u}));var r,i=n(1);!function(e){e[e.Query=0]="Query",e[e.Mutation=1]="Mutation",e[e.Subscription=2]="Subscription"}(r||(r={}));var o=new Map;function a(e){var t;switch(e){case r.Query:t="Query";break;case r.Mutation:t="Mutation";break;case r.Subscription:t="Subscription"}return t}function u(e,t){var n=function(e){var t,n,a=o.get(e);if(a)return a;__DEV__?Object(i.b)(!!e&&!!e.kind,"Argument of ".concat(e," passed to parser was not a valid GraphQL ")+"DocumentNode. You may need to use 'graphql-tag' or another method to convert your operation into a document"):Object(i.b)(!!e&&!!e.kind,30);for(var u=[],c=[],s=[],l=[],f=0,p=e.definitions;f<p.length;f++){var d=p[f];if("FragmentDefinition"!==d.kind){if("OperationDefinition"===d.kind)switch(d.operation){case"query":c.push(d);break;case"mutation":s.push(d);break;case"subscription":l.push(d)}}else u.push(d)}__DEV__?Object(i.b)(!u.length||c.length||s.length||l.length,"Passing only a fragment to 'graphql' is not yet supported. You must include a query, subscription or mutation as well"):Object(i.b)(!u.length||c.length||s.length||l.length,31),__DEV__?Object(i.b)(c.length+s.length+l.length<=1,"react-apollo only supports a query, subscription, or a mutation per HOC. "+"".concat(e," had ").concat(c.length," queries, ").concat(l.length," ")+"subscriptions and ".concat(s.length," mutations. ")+"You can use 'compose' to join multiple operation types to a component"):Object(i.b)(c.length+s.length+l.length<=1,32),n=c.length?r.Query:r.Mutation,c.length||s.length||(n=r.Subscription);var h=c.length?c:s.length?s:l;__DEV__?Object(i.b)(1===h.length,"react-apollo only supports one definition per HOC. ".concat(e," had ")+"".concat(h.length," definitions. ")+"You can use 'compose' to join multiple operation types to a component"):Object(i.b)(1===h.length,33);var v=h[0];t=v.variableDefinitions||[];var y={name:v.name&&"Name"===v.name.kind?v.name.value:"data",type:n,variables:t};return o.set(e,y),y}(e),u=a(t),c=a(n.type);__DEV__?Object(i.b)(n.type===t,"Running a ".concat(u," requires a graphql ")+"".concat(u,", but a ").concat(c," was used instead.")):Object(i.b)(n.type===t,34)}},function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s}));var r=n(1),i="function"===typeof WeakMap&&"ReactNative"!==Object(r.c)((function(){return navigator.product})),o="function"===typeof WeakSet,a="function"===typeof Symbol&&"function"===typeof Symbol.for,u="function"===typeof Object(r.c)((function(){return window.document.createElement})),c=Object(r.c)((function(){return navigator.userAgent.indexOf("jsdom")>=0}))||!1,s=u&&!c},function(e,t,n){"use strict";(function(e){var r=n(13);t.a=Object(r.a)((function(){return globalThis}))||Object(r.a)((function(){return window}))||Object(r.a)((function(){return self}))||Object(r.a)((function(){return e}))||Object(r.a)((function(){return r.a.constructor("return this")()}))}).call(this,n(29))},function(e,t,n){"use strict";var r="function"===typeof Symbol&&"function"===typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;t.a=r},function(e,t,n){"use strict";function r(e,t){if(!Boolean(e))throw new Error(t)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(0),i=n(1),o=n(69);var a=n(17);function u(e,t){return t?t(e):o.a.of()}function c(e){return"function"===typeof e?new f(e):e}function s(e){return e.request.length<=1}var l=function(e){function t(t,n){var r=e.call(this,t)||this;return r.link=n,r}return Object(r.c)(t,e),t}(Error),f=function(){function e(e){e&&(this.request=e)}return e.empty=function(){return new e((function(){return o.a.of()}))},e.from=function(t){return 0===t.length?e.empty():t.map(c).reduce((function(e,t){return e.concat(t)}))},e.split=function(t,n,r){var i=c(n),a=c(r||new e(u));return s(i)&&s(a)?new e((function(e){return t(e)?i.request(e)||o.a.of():a.request(e)||o.a.of()})):new e((function(e,n){return t(e)?i.request(e,n)||o.a.of():a.request(e,n)||o.a.of()}))},e.execute=function(e,t){return e.request(function(e,t){var n=Object(r.a)({},e);return Object.defineProperty(t,"setContext",{enumerable:!1,value:function(e){n="function"===typeof e?Object(r.a)(Object(r.a)({},n),e(n)):Object(r.a)(Object(r.a)({},n),e)}}),Object.defineProperty(t,"getContext",{enumerable:!1,value:function(){return Object(r.a)({},n)}}),t}(t.context,function(e){var t={variables:e.variables||{},extensions:e.extensions||{},operationName:e.operationName,query:e.query};return t.operationName||(t.operationName="string"!==typeof t.query?Object(a.g)(t.query)||void 0:""),t}(function(e){for(var t=["query","operationName","variables","extensions","context"],n=0,r=Object.keys(e);n<r.length;n++){var o=r[n];if(t.indexOf(o)<0)throw __DEV__?new i.a("illegal argument: ".concat(o)):new i.a(24)}return e}(t))))||o.a.of()},e.concat=function(t,n){var r=c(t);if(s(r))return __DEV__&&i.b.warn(new l("You are calling concat on a terminating link, which will have no effect",r)),r;var a=c(n);return s(a)?new e((function(e){return r.request(e,(function(e){return a.request(e)||o.a.of()}))||o.a.of()})):new e((function(e,t){return r.request(e,(function(e){return a.request(e,t)||o.a.of()}))||o.a.of()}))},e.prototype.split=function(t,n,r){return this.concat(e.split(t,n,r||new e(u)))},e.prototype.concat=function(t){return e.concat(this,t)},e.prototype.request=function(e,t){throw __DEV__?new i.a("request is not implemented"):new i.a(19)},e.prototype.onError=function(e,t){if(t&&t.error)return t.error(e),!1;throw e},e.prototype.setOnError=function(e){return this.onError=e,this},e}()},,function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(21);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e){return a(e,[])}function a(e,t){switch(i(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,t){if(-1!==t.indexOf(e))return"[Circular]";var n=[].concat(t,[e]),i=function(e){var t=e[String(r.a)];if("function"===typeof t)return t;if("function"===typeof e.inspect)return e.inspect}(e);if(void 0!==i){var o=i.call(e);if(o!==e)return"string"===typeof o?o:a(o,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>2)return"[Array]";for(var n=Math.min(10,e.length),r=e.length-n,i=[],o=0;o<n;++o)i.push(a(e[o],t));1===r?i.push("... 1 more item"):r>1&&i.push("... ".concat(r," more items"));return"["+i.join(", ")+"]"}(e,n);return function(e,t){var n=Object.keys(e);if(0===n.length)return"{}";if(t.length>2)return"["+function(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"===typeof e.constructor){var n=e.constructor.name;if("string"===typeof n&&""!==n)return n}return t}(e)+"]";return"{ "+n.map((function(n){return n+": "+a(e[n],t)})).join(", ")+" }"}(e,n)}(e,t);default:return String(e)}}},function(e,t,n){"use strict";function r(e){var t=e.split(/\r\n|[\n\r]/g),n=function(e){for(var t=null,n=1;n<e.length;n++){var r=e[n],o=i(r);if(o!==r.length&&((null===t||o<t)&&0===(t=o)))break}return null===t?0:t}(t);if(0!==n)for(var r=1;r<t.length;r++)t[r]=t[r].slice(n);for(;t.length>0&&o(t[0]);)t.shift();for(;t.length>0&&o(t[t.length-1]);)t.pop();return t.join("\n")}function i(e){for(var t=0;t<e.length&&(" "===e[t]||"\t"===e[t]);)t++;return t}function o(e){return i(e)===e.length}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf("\n"),i=" "===e[0]||"\t"===e[0],o='"'===e[e.length-1],a=!r||o||n,u="";return!a||r&&i||(u+="\n"+t),u+=t?e.replace(/\n/g,"\n"+t):e,a&&(u+="\n"),'"""'+u.replace(/"""/g,'\\"""')+'"""'}n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a}))},function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return u}));var r=n(0),i=n(1);function o(e,t){var n=t,o=[];return e.definitions.forEach((function(e){if("OperationDefinition"===e.kind)throw __DEV__?new i.a("Found a ".concat(e.operation," operation").concat(e.name?" named '".concat(e.name.value,"'"):"",". ")+"No operations are allowed when using a fragment as a query. Only fragments are allowed."):new i.a(41);"FragmentDefinition"===e.kind&&o.push(e)})),"undefined"===typeof n&&(__DEV__?Object(i.b)(1===o.length,"Found ".concat(o.length," fragments. `fragmentName` must be provided when there is not exactly 1 fragment.")):Object(i.b)(1===o.length,42),n=o[0].name.value),Object(r.a)(Object(r.a)({},e),{definitions:Object(r.f)([{kind:"OperationDefinition",operation:"query",selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:n}}]}}],e.definitions,!0)})}function a(e){void 0===e&&(e=[]);var t={};return e.forEach((function(e){t[e.name.value]=e})),t}function u(e,t){switch(e.kind){case"InlineFragment":return e;case"FragmentSpread":var n=t&&t[e.name.value];return __DEV__?Object(i.b)(n,"No fragment named ".concat(e.name.value,".")):Object(i.b)(n,43),n;default:return null}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(1),i=n(3),o=n(34);function a(e){var t=Object(i.useContext)(Object(o.a)()),n=e||t.client;return __DEV__?Object(r.b)(!!n,'Could not find "client" in the context or passed in as an option. Wrap the root component in an <ApolloProvider>, or pass an ApolloClient instance in via options.'):Object(r.b)(!!n,29),n}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";function r(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));var r=n(25),i={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},o=Object.freeze({});function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i,a=void 0,s=Array.isArray(e),l=[e],f=-1,p=[],d=void 0,h=void 0,v=void 0,y=[],b=[],m=e;do{var g=++f===l.length,w=g&&0!==p.length;if(g){if(h=0===b.length?void 0:y[y.length-1],d=v,v=b.pop(),w){if(s)d=d.slice();else{for(var O={},E=0,k=Object.keys(d);E<k.length;E++){var _=k[E];O[_]=d[_]}d=O}for(var x=0,T=0;T<p.length;T++){var S=p[T][0],j=p[T][1];s&&(S-=x),s&&null===j?(d.splice(S,1),x++):d[S]=j}}f=a.index,l=a.keys,p=a.edits,s=a.inArray,a=a.prev}else{if(h=v?s?f:l[f]:void 0,null===(d=v?v[h]:m)||void 0===d)continue;v&&y.push(h)}var C=void 0;if(!Array.isArray(d)){if(!u(d))throw new Error("Invalid AST Node: "+Object(r.a)(d));var N=c(t,d.kind,g);if(N){if((C=N.call(t,d,h,v,y,b))===o)break;if(!1===C){if(!g){y.pop();continue}}else if(void 0!==C&&(p.push([h,C]),!g)){if(!u(C)){y.pop();continue}d=C}}}void 0===C&&w&&p.push([h,d]),g?y.pop():(a={inArray:s,index:f,keys:l,edits:p,prev:a},l=(s=Array.isArray(d))?d:n[d.kind]||[],f=-1,p=[],v&&b.push(v),v=d)}while(void 0!==a);return 0!==p.length&&(m=p[p.length-1][1]),m}function u(e){return Boolean(e&&"string"===typeof e.kind)}function c(e,t,n){var r=e[t];if(r){if(!n&&"function"===typeof r)return r;var i=n?r.leave:r.enter;if("function"===typeof i)return i}else{var o=n?e.leave:e.enter;if(o){if("function"===typeof o)return o;var a=o[t];if("function"===typeof a)return a}}}},function(e,t,n){"use strict";(function(e,r){function i(e){try{return e()}catch(t){}}n.d(t,"a",(function(){return u}));var o=i((function(){return globalThis}))||i((function(){return window}))||i((function(){return self}))||i((function(){return e}))||i((function(){return i.constructor("return this")()})),a=!1;function u(){a&&(delete o.process,a=!1)}!o||i((function(){return"production"}))||i((function(){return r}))||(Object.defineProperty(o,"process",{value:{env:{NODE_ENV:"production"}},configurable:!0,enumerable:!1,writable:!0}),a=!0)}).call(this,n(29),n(68))},function(e,t,n){"use strict";function r(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Object.create(null);return e.forEach((function(e){e&&Object.keys(e).forEach((function(t){var r=e[t];void 0!==r&&(n[t]=r)}))})),n}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(3),i=n(19).b?Symbol.for("__APOLLO_CONTEXT__"):"__APOLLO_CONTEXT__";function o(){var e=r.createContext[i];return e||(Object.defineProperty(r.createContext,i,{value:e=r.createContext({}),enumerable:!1,writable:!1,configurable:!0}),e.displayName="ApolloContext"),e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return m}));var r=n(0),i=n(1),o=n(31),a=n(23),u=n(69),c=function(e,t){var n;try{n=JSON.stringify(e)}catch(o){var r=__DEV__?new i.a("Network request failed. ".concat(t," is not serializable: ").concat(o.message)):new i.a(21);throw r.parseError=o,r}return n},s=function(e,t,n){var r=new Error(n);throw r.name="ServerError",r.response=e,r.statusCode=e.status,r.result=t,r},l=Object.prototype.hasOwnProperty;var f=n(70),p={http:{includeQuery:!0,includeExtensions:!1},headers:{accept:"*/*","content-type":"application/json"},options:{method:"POST"}},d=function(e,t){return t(e)};function h(e,t){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];var o={},a={};n.forEach((function(e){o=Object(r.a)(Object(r.a)(Object(r.a)({},o),e.options),{headers:Object(r.a)(Object(r.a)({},o.headers),v(e.headers))}),e.credentials&&(o.credentials=e.credentials),a=Object(r.a)(Object(r.a)({},a),e.http)}));var u=e.operationName,c=e.extensions,s=e.variables,l=e.query,p={operationName:u,variables:s};return a.includeExtensions&&(p.extensions=c),a.includeQuery&&(p.query=t(l,f.a)),{options:o,body:p}}function v(e){if(e){var t=Object.create(null);return Object.keys(Object(e)).forEach((function(n){t[n.toLowerCase()]=e[n]})),t}return e}function y(e){return new u.a((function(t){t.error(e)}))}var b=Object(i.c)((function(){return fetch})),m=function(e){void 0===e&&(e={});var t=e.uri,n=void 0===t?"/graphql":t,f=e.fetch,v=e.print,m=void 0===v?d:v,g=e.includeExtensions,w=e.useGETForQueries,O=e.includeUnusedVariables,E=void 0!==O&&O,k=Object(r.e)(e,["uri","fetch","print","includeExtensions","useGETForQueries","includeUnusedVariables"]);__DEV__&&function(e){if(!e&&"undefined"===typeof fetch)throw __DEV__?new i.a("\n\"fetch\" has not been found globally and no fetcher has been configured. To fix this, install a fetch package (like https://www.npmjs.com/package/cross-fetch), instantiate the fetcher, and pass it into your HttpLink constructor. For example:\n\nimport fetch from 'cross-fetch';\nimport { ApolloClient, HttpLink } from '@apollo/client';\nconst client = new ApolloClient({\n  link: new HttpLink({ uri: '/graphql', fetch })\n});\n    "):new i.a(20)}(f||b);var _={http:{includeExtensions:g},options:k.fetchOptions,credentials:k.credentials,headers:k.headers};return new a.a((function(e){var t=function(e,t){var n=e.getContext().uri;return n||("function"===typeof t?t(e):t||"/graphql")}(e,n),a=e.getContext(),d={};if(a.clientAwareness){var v=a.clientAwareness,g=v.name,O=v.version;g&&(d["apollographql-client-name"]=g),O&&(d["apollographql-client-version"]=O)}var k,x=Object(r.a)(Object(r.a)({},d),a.headers),T={http:a.http,options:a.fetchOptions,credentials:a.credentials,headers:x},S=h(e,m,p,_,T),j=S.options,C=S.body;if(C.variables&&!E){var N=new Set(Object.keys(C.variables));Object(o.b)(e.query,{Variable:function(e,t,n){n&&"VariableDefinition"!==n.kind&&N.delete(e.name.value)}}),N.size&&(C.variables=Object(r.a)({},C.variables),N.forEach((function(e){delete C.variables[e]})))}if(!j.signal){var D=function(){if("undefined"===typeof AbortController)return{controller:!1,signal:!1};var e=new AbortController;return{controller:e,signal:e.signal}}(),P=D.controller,I=D.signal;(k=P)&&(j.signal=I)}if(w&&!e.query.definitions.some((function(e){return"OperationDefinition"===e.kind&&"mutation"===e.operation}))&&(j.method="GET"),"GET"===j.method){var R=function(e,t){var n=[],r=function(e,t){n.push("".concat(e,"=").concat(encodeURIComponent(t)))};if("query"in t&&r("query",t.query),t.operationName&&r("operationName",t.operationName),t.variables){var i=void 0;try{i=c(t.variables,"Variables map")}catch(A){return{parseError:A}}r("variables",i)}if(t.extensions){var o=void 0;try{o=c(t.extensions,"Extensions map")}catch(A){return{parseError:A}}r("extensions",o)}var a="",u=e,s=e.indexOf("#");-1!==s&&(a=e.substr(s),u=e.substr(0,s));var l=-1===u.indexOf("?")?"?":"&";return{newURI:u+l+n.join("&")+a}}(t,C),F=R.newURI,A=R.parseError;if(A)return y(A);t=F}else try{j.body=c(C,"Payload")}catch(A){return y(A)}return new u.a((function(n){var r;return(f||Object(i.c)((function(){return fetch}))||b)(t,j).then((function(t){return e.setContext({response:t}),t})).then((r=e,function(e){return e.text().then((function(t){try{return JSON.parse(t)}catch(r){var n=r;throw n.name="ServerParseError",n.response=e,n.statusCode=e.status,n.bodyText=t,n}})).then((function(t){return e.status>=300&&s(e,t,"Response not successful: Received status code ".concat(e.status)),Array.isArray(t)||l.call(t,"data")||l.call(t,"errors")||s(e,t,"Server response was missing for query '".concat(Array.isArray(r)?r.map((function(e){return e.operationName})):r.operationName,"'.")),t}))})).then((function(e){return n.next(e),n.complete(),e})).catch((function(e){"AbortError"!==e.name&&(e.result&&e.result.errors&&e.result.data&&n.next(e.result),n.error(e))})),function(){k&&k.abort()}}))}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(22);var i,o=function(e,t,n){this.body=e,this.name=t||"GraphQL request",this.locationOffset=n||{line:1,column:1},this.locationOffset.line>0||Object(r.a)(0,"line in locationOffset is 1-indexed and must be positive"),this.locationOffset.column>0||Object(r.a)(0,"column in locationOffset is 1-indexed and must be positive")};i=o,"function"===typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(i.prototype,Symbol.toStringTag,{get:function(){return this.constructor.name}})},,,function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(i){return!1}}()?Object.assign:function(e,t){for(var n,u,c=a(e),s=1;s<arguments.length;s++){for(var l in n=Object(arguments[s]))i.call(n,l)&&(c[l]=n[l]);if(r){u=r(n);for(var f=0;f<u.length;f++)o.call(n,u[f])&&(c[u[f]]=n[u[f]])}}return c}},function(e,t,n){var r=n(41);e.exports=function(e,t){if(e){if("string"===typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}}(),e.exports=n(54)},function(e,t,n){(function(e){var r=n(57),i=n(61),o=n(65),a=n(67);(function(t){"use strict";function n(e){return null===e?"null":Array.isArray(e)?"array":typeof e}function u(e){return"object"===n(e)}function c(e,t){return e.length<124?e:t}var s,l;function f(e){if(!u(e))throw new Error("Message is expected to be an object, but got ".concat(n(e)));if(!e.type)throw new Error("Message is missing the 'type' property");if("string"!==typeof e.type)throw new Error("Message is expects the 'type' property to be a string, but got ".concat(n(e.type)));switch(e.type){case t.MessageType.ConnectionInit:case t.MessageType.ConnectionAck:case t.MessageType.Ping:case t.MessageType.Pong:if("payload"in e&&!u(e.payload))throw new Error('"'.concat(e.type,"\" message expects the 'payload' property to be an object or missing, but got \"").concat(e.payload,'"'));break;case t.MessageType.Subscribe:if("string"!==typeof e.id)throw new Error('"'.concat(e.type,"\" message expects the 'id' property to be a string, but got ").concat(n(e.id)));if(!e.id)throw new Error('"'.concat(e.type,"\" message requires a non-empty 'id' property"));if(!u(e.payload))throw new Error('"'.concat(e.type,"\" message expects the 'payload' property to be an object, but got ").concat(n(e.payload)));if("string"!==typeof e.payload.query)throw new Error('"'.concat(e.type,"\" message payload expects the 'query' property to be a string, but got ").concat(n(e.payload.query)));if(null!=e.payload.variables&&!u(e.payload.variables))throw new Error('"'.concat(e.type,"\" message payload expects the 'variables' property to be a an object or nullish or missing, but got ").concat(n(e.payload.variables)));if(null!=e.payload.operationName&&"string"!==n(e.payload.operationName))throw new Error('"'.concat(e.type,"\" message payload expects the 'operationName' property to be a string or nullish or missing, but got ").concat(n(e.payload.operationName)));if(null!=e.payload.extensions&&!u(e.payload.extensions))throw new Error('"'.concat(e.type,"\" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ").concat(n(e.payload.extensions)));break;case t.MessageType.Next:if("string"!==typeof e.id)throw new Error('"'.concat(e.type,"\" message expects the 'id' property to be a string, but got ").concat(n(e.id)));if(!e.id)throw new Error('"'.concat(e.type,"\" message requires a non-empty 'id' property"));if(!u(e.payload))throw new Error('"'.concat(e.type,"\" message expects the 'payload' property to be an object, but got ").concat(n(e.payload)));break;case t.MessageType.Error:if("string"!==typeof e.id)throw new Error('"'.concat(e.type,"\" message expects the 'id' property to be a string, but got ").concat(n(e.id)));if(!e.id)throw new Error('"'.concat(e.type,"\" message requires a non-empty 'id' property"));if(r=e.payload,!(Array.isArray(r)&&r.length>0&&r.every((function(e){return"message"in e}))))throw new Error('"'.concat(e.type,"\" message expects the 'payload' property to be an array of GraphQL errors, but got ").concat(JSON.stringify(e.payload)));break;case t.MessageType.Complete:if("string"!==typeof e.id)throw new Error('"'.concat(e.type,"\" message expects the 'id' property to be a string, but got ").concat(n(e.id)));if(!e.id)throw new Error('"'.concat(e.type,"\" message requires a non-empty 'id' property"));break;default:throw new Error("Invalid message 'type' property \"".concat(e.type,'"'))}var r;return e}function p(e,t){try{return f(e)}catch(n){if("string"!==typeof e)throw new Error("Only strings are parsable messages");return f(JSON.parse(e,t))}}function d(e,t){return f(e),JSON.stringify(e,t)}function h(e){return u(e)&&"code"in e&&"reason"in e}t.CloseCode=void 0,(s=t.CloseCode||(t.CloseCode={}))[s.InternalServerError=4500]="InternalServerError",s[s.InternalClientError=4005]="InternalClientError",s[s.BadRequest=4400]="BadRequest",s[s.BadResponse=4004]="BadResponse",s[s.Unauthorized=4401]="Unauthorized",s[s.Forbidden=4403]="Forbidden",s[s.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",s[s.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",s[s.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",s[s.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",s[s.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests",t.MessageType=void 0,(l=t.MessageType||(t.MessageType={})).ConnectionInit="connection_init",l.ConnectionAck="connection_ack",l.Ping="ping",l.Pong="pong",l.Subscribe="subscribe",l.Next="next",l.Error="error",l.Complete="complete",t.DEPRECATED_GRAPHQL_WS_PROTOCOL="graphql-ws",t.GRAPHQL_TRANSPORT_WS_PROTOCOL="graphql-transport-ws",t.createClient=function(n){var u,s,l=n.url,f=n.connectionParams,v=n.lazy,y=void 0===v||v,b=n.onNonLazyError,m=void 0===b?console.error:b,g=n.lazyCloseTimeout,w=void 0===g?0:g,O=n.keepAlive,E=void 0===O?0:O,k=n.disablePong,_=n.connectionAckWaitTimeout,x=void 0===_?0:_,T=n.retryAttempts,S=void 0===T?5:T,j=n.retryWait,C=void 0===j?function(){var e=a(o.mark((function e(t){var n,r;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=1e3,r=0;r<t;r++)n*=2;return e.next=4,new Promise((function(e){return setTimeout(e,n+Math.floor(2700*Math.random()+300))}));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}():j,N=n.shouldRetry,D=void 0===N?h:N,P=n.isFatalConnectionProblem,I=n.on,R=n.webSocketImpl,F=n.generateID,A=void 0===F?function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}:F,M=n.jsonMessageReplacer,L=n.jsonMessageReviver;if(R){if(!("function"===typeof(s=R)&&"constructor"in s&&"CLOSED"in s&&"CLOSING"in s&&"CONNECTING"in s&&"OPEN"in s))throw new Error("Invalid WebSocket implementation provided");u=R}else"undefined"!==typeof WebSocket?u=WebSocket:"undefined"!==typeof e?u=e.WebSocket||e.MozWebSocket:"undefined"!==typeof window&&(u=window.WebSocket||window.MozWebSocket);if(!u)throw new Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");var V=u,q=function(){var e=function(){var e={};return{on:(t,n)=>(e[t]=n,function(){delete e[t]}),emit(t){var n;"id"in t&&(null===(n=e[t.id])||void 0===n||n.call(e,t))}}}(),t={connecting:(null===I||void 0===I?void 0:I.connecting)?[I.connecting]:[],opened:(null===I||void 0===I?void 0:I.opened)?[I.opened]:[],connected:(null===I||void 0===I?void 0:I.connected)?[I.connected]:[],ping:(null===I||void 0===I?void 0:I.ping)?[I.ping]:[],pong:(null===I||void 0===I?void 0:I.pong)?[I.pong]:[],message:(null===I||void 0===I?void 0:I.message)?[e.emit,I.message]:[e.emit],closed:(null===I||void 0===I?void 0:I.closed)?[I.closed]:[],error:(null===I||void 0===I?void 0:I.error)?[I.error]:[]};return{onMessage:e.on,on(e,n){var r=t[e];return r.push(n),function(){r.splice(r.indexOf(n),1)}},emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];for(var a=0,u=i(t[e]);a<u.length;a++)u[a].apply(void 0,r)}}}();function Q(e){var t=[q.on("error",(function(n){t.forEach((function(e){return e()})),e(n)})),q.on("closed",(function(n){t.forEach((function(e){return e()})),e(n)}))]}var z,U=0,B=!1,W=0,K=!1;function H(){return G.apply(this,arguments)}function G(){return(G=a(o.mark((function e(){var n,i,u,s,v,y;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null!==z&&void 0!==z?z:z=new Promise((function(e,n){return a(o.mark((function r(){var i,u,s,v,y;return o.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(v=function(){isFinite(E)&&E>0&&(clearTimeout(s),s=setTimeout((function(){i.readyState===V.OPEN&&(i.send(d({type:t.MessageType.Ping})),q.emit("ping",!1,void 0))}),E))},!B){r.next=8;break}return r.next=4,C(W);case 4:if(U){r.next=7;break}return z=void 0,r.abrupt("return",n({code:1e3,reason:"All Subscriptions Gone"}));case 7:W++;case 8:if(q.emit("connecting"),r.t0=V,"function"!==typeof l){r.next=16;break}return r.next=13,l();case 13:r.t1=r.sent,r.next=17;break;case 16:r.t1=l;case 17:r.t2=r.t1,r.t3="graphql-transport-ws",i=new r.t0(r.t2,r.t3),Q((function(e){z=void 0,clearTimeout(u),clearTimeout(s),n(e),h(e)&&4499===e.code&&(i.close(4499,"Terminated"),i.onerror=null,i.onclose=null)})),i.onerror=function(e){return q.emit("error",e)},i.onclose=function(e){return q.emit("closed",e)},i.onopen=a(o.mark((function e(){var n;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,q.emit("opened",i),"function"!==typeof f){e.next=8;break}return e.next=5,f();case 5:e.t0=e.sent,e.next=9;break;case 8:e.t0=f;case 9:if(n=e.t0,i.readyState===V.OPEN){e.next=12;break}return e.abrupt("return");case 12:i.send(d(n?{type:t.MessageType.ConnectionInit,payload:n}:{type:t.MessageType.ConnectionInit},M)),isFinite(x)&&x>0&&(u=setTimeout((function(){i.close(t.CloseCode.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")}),x)),v(),e.next=21;break;case 17:e.prev=17,e.t1=e.catch(0),q.emit("error",e.t1),i.close(t.CloseCode.InternalClientError,c(e.t1 instanceof Error?e.t1.message:new Error(e.t1).message,"Internal client error"));case 21:case"end":return e.stop()}}),e,null,[[0,17]])}))),y=!1,i.onmessage=function(n){var r=n.data;try{var o=p(r,L);if(q.emit("message",o),"ping"===o.type||"pong"===o.type)return q.emit(o.type,!0,o.payload),void("pong"===o.type?v():k||(i.send(d(o.payload?{type:t.MessageType.Pong,payload:o.payload}:{type:t.MessageType.Pong})),q.emit("pong",!1,o.payload)));if(y)return;if(o.type!==t.MessageType.ConnectionAck)throw new Error("First message cannot be of type ".concat(o.type));clearTimeout(u),y=!0,q.emit("connected",i,o.payload),B=!1,W=0,e([i,new Promise((function(e,t){return Q(t)}))])}catch(a){i.onmessage=null,q.emit("error",a),i.close(t.CloseCode.BadResponse,c(a instanceof Error?a.message:new Error(a).message,"Bad response"))}};case 26:case"end":return r.stop()}}),r)})))()}));case 2:if(n=e.sent,i=r(n,2),u=i[0],s=i[1],u.readyState!==V.CLOSING){e.next=9;break}return e.next=9,s;case 9:return v=function(){},y=new Promise((function(e){return v=e})),e.abrupt("return",[u,v,Promise.race([y.then((function(){if(!U){var e=function(){return u.close(1e3,"Normal Closure")};isFinite(w)&&w>0?setTimeout((function(){U||u.readyState!==V.OPEN||e()}),w):e()}})),s])]);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Y(e){if(h(e)&&(n=e.code,![1e3,1001,1006,1005,1012,1013,1013].includes(n)&&n>=1e3&&n<=1999||[t.CloseCode.InternalServerError,t.CloseCode.InternalClientError,t.CloseCode.BadRequest,t.CloseCode.BadResponse,t.CloseCode.Unauthorized,t.CloseCode.SubprotocolNotAcceptable,t.CloseCode.SubscriberAlreadyExists,t.CloseCode.TooManyInitialisationRequests].includes(e.code)))throw e;var n;if(K)return!1;if(h(e)&&1e3===e.code)return U>0;if(!S||W>=S)throw e;if(!D(e))throw e;if(null===P||void 0===P?void 0:P(e))throw e;return B=!0}return y||a(o.mark((function e(){var t,n,i;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:U++;case 1:return e.prev=1,e.next=4,H();case 4:return t=e.sent,n=r(t,3),i=n[2],e.next=9,i;case 9:e.next=21;break;case 11:if(e.prev=11,e.t0=e.catch(1),e.prev=13,Y(e.t0)){e.next=16;break}return e.abrupt("return");case 16:e.next=21;break;case 18:return e.prev=18,e.t1=e.catch(13),e.abrupt("return",null===m||void 0===m?void 0:m(e.t1));case 21:e.next=1;break;case 23:case"end":return e.stop()}}),e,null,[[1,11],[13,18]])})))(),{on:q.on,subscribe(e,n){var i=A(),u=!1,c=!1,s=function(){U--,u=!0};return a(o.mark((function a(){var l;return o.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:U++;case 1:return a.prev=1,a.delegateYield(o.mark((function a(){var l,f,p,h,v,y;return o.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,H();case 2:if(l=o.sent,f=r(l,3),p=f[0],h=f[1],v=f[2],!u){o.next=9;break}return o.abrupt("return",{v:h()});case 9:return y=q.onMessage(i,(function(e){switch(e.type){case t.MessageType.Next:return void n.next(e.payload);case t.MessageType.Error:return c=!0,u=!0,n.error(e.payload),void s();case t.MessageType.Complete:return u=!0,void s()}})),p.send(d({id:i,type:t.MessageType.Subscribe,payload:e},M)),s=function(){u||p.readyState!==V.OPEN||p.send(d({id:i,type:t.MessageType.Complete},M)),U--,u=!0,h()},o.next=14,v.finally(y);case 14:return o.abrupt("return",{v:void 0});case 15:case"end":return o.stop()}}),a)}))(),"t0",3);case 3:if("object"!==typeof(l=a.t0)){a.next=6;break}return a.abrupt("return",l.v);case 6:a.next=12;break;case 8:if(a.prev=8,a.t1=a.catch(1),Y(a.t1)){a.next=12;break}return a.abrupt("return");case 12:a.next=1;break;case 14:case"end":return a.stop()}}),a,null,[[1,8]])})))().then((function(){c||n.complete()})).catch((function(e){n.error(e)})),function(){u||s()}},dispose:()=>a(o.mark((function e(){var t;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(K=!0,!z){e.next=8;break}return e.next=4,z;case 4:t=e.sent,r(t,1)[0].close(1e3,"Normal Closure");case 8:case"end":return e.stop()}}),e)})))(),terminate(){z&&q.emit("closed",{code:4499,reason:"Terminated",wasClean:!1})}}},t.isMessage=function(e){try{return f(e),!0}catch(t){return!1}},t.parseMessage=p,t.stringifyMessage=d,t.validateMessage=f,Object.defineProperty(t,"__esModule",{value:!0})})(t)}).call(this,n(29))},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(0),i=n(70),o=n(23),a=n(7),u=n(69),c=n(10);var s=function(e){function t(t){var n=e.call(this)||this;return n.client=t,n}return Object(r.c)(t,e),t.prototype.request=function(e){var t=this;return new u.a((function(n){return t.client.subscribe(Object(r.a)(Object(r.a)({},e),{query:Object(i.a)(e.query)}),{next:n.next.bind(n),complete:n.complete.bind(n),error:function(e){return e instanceof Error?n.error(e):(t=e,Object(a.a)(t)&&"code"in t&&"reason"in t?n.error(new Error("Socket closed with event ".concat(e.code," ").concat(e.reason||""))):n.error(new c.a({graphQLErrors:Array.isArray(e)?e:[e]})));var t}})}))},t}(o.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=new Map;function i(e){var t=r.get(e)||1;return r.set(e,t+1),"".concat(e,":").concat(t,":").concat(Math.random().toString(36).slice(2))}},function(e,t,n){"use strict";function r(e){return Array.isArray(e)&&e.length>0}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return L}));var r=n(0),i=n(25),o=n(22),a=n(21);function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prototype.toString;e.prototype.toJSON=t,e.prototype.inspect=t,a.a&&(e.prototype[a.a]=t)}function c(e){return(c="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){for(var n,r=/\r\n|[\n\r]/g,i=1,o=t+1;(n=r.exec(e.body))&&n.index<t;)i+=1,o=t+1-(n.index+n[0].length);return{line:i,column:o}}function l(e){return f(e.source,s(e.source,e.start))}function f(e,t){var n=e.locationOffset.column-1,r=d(n)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,u=1===t.line?n:0,c=t.column+u,s="".concat(e.name,":").concat(a,":").concat(c,"\n"),l=r.split(/\r\n|[\n\r]/g),f=l[i];if(f.length>120){for(var h=Math.floor(c/80),v=c%80,y=[],b=0;b<f.length;b+=80)y.push(f.slice(b,b+80));return s+p([["".concat(a),y[0]]].concat(y.slice(1,h+1).map((function(e){return["",e]})),[[" ",d(v-1)+"^"],["",y[h+1]]]))}return s+p([["".concat(a-1),l[i-1]],["".concat(a),f],["",d(c-1)+"^"],["".concat(a+1),l[i+1]]])}function p(e){var t=e.filter((function(e){e[0];return void 0!==e[1]})),n=Math.max.apply(Math,t.map((function(e){return e[0].length})));return t.map((function(e){var t,r=e[0],i=e[1];return d(n-(t=r).length)+t+(i?" | "+i:" |")})).join("\n")}function d(e){return Array(e+1).join(" ")}function h(e,t,n,r,i,o,a){var u=Array.isArray(t)?0!==t.length?t:void 0:t?[t]:void 0,l=n;if(!l&&u){var f=u[0];l=f&&f.loc&&f.loc.source}var p,d=r;!d&&u&&(d=u.reduce((function(e,t){return t.loc&&e.push(t.loc.start),e}),[])),d&&0===d.length&&(d=void 0),r&&n?p=r.map((function(e){return s(n,e)})):u&&(p=u.reduce((function(e,t){return t.loc&&e.push(s(t.loc.source,t.loc.start)),e}),[]));var v,y=a;if(null==y&&null!=o){var b=o.extensions;"object"==c(v=b)&&null!==v&&(y=b)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:p||void 0,enumerable:Boolean(p)},path:{value:i||void 0,enumerable:Boolean(i)},nodes:{value:u||void 0},source:{value:l||void 0},positions:{value:d||void 0},originalError:{value:o},extensions:{value:y||void 0,enumerable:Boolean(y)}}),o&&o.stack?Object.defineProperty(this,"stack",{value:o.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,h):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}function v(e,t,n){return new h("Syntax Error: ".concat(n),void 0,e,[t])}h.prototype=Object.create(Error.prototype,{constructor:{value:h},name:{value:"GraphQLError"},toString:{value:function(){return function(e){var t=e.message;if(e.nodes)for(var n=0,r=e.nodes;n<r.length;n++){var i=r[n];i.loc&&(t+="\n\n"+l(i.loc))}else if(e.source&&e.locations)for(var o=0,a=e.locations;o<a.length;o++){var u=a[o];t+="\n\n"+f(e.source,u)}return t}(this)}}});var y=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"}),b=n(36),m=n(26),g=Object.freeze({SOF:"<SOF>",EOF:"<EOF>",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});function w(){return this.lastToken=this.token,this.token=this.lookahead()}function O(){var e=this.token;if(e.kind!==g.EOF)do{e=e.next||(e.next=_(this,e))}while(e.kind===g.COMMENT);return e}function E(e,t,n,r,i,o,a){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=i,this.value=a,this.prev=o,this.next=null}function k(e){return isNaN(e)?g.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function _(e,t){var n=e.source,r=n.body,i=r.length,o=function(e,t,n){var r=e.length,i=t;for(;i<r;){var o=e.charCodeAt(i);if(9===o||32===o||44===o||65279===o)++i;else if(10===o)++i,++n.line,n.lineStart=i;else{if(13!==o)break;10===e.charCodeAt(i+1)?i+=2:++i,++n.line,n.lineStart=i}}return i}(r,t.end,e),a=e.line,u=1+o-e.lineStart;if(o>=i)return new E(g.EOF,i,i,a,u,t);var c=r.charCodeAt(o);switch(c){case 33:return new E(g.BANG,o,o+1,a,u,t);case 35:return function(e,t,n,r,i){var o,a=e.body,u=t;do{o=a.charCodeAt(++u)}while(!isNaN(o)&&(o>31||9===o));return new E(g.COMMENT,t,u,n,r,i,a.slice(t+1,u))}(n,o,a,u,t);case 36:return new E(g.DOLLAR,o,o+1,a,u,t);case 38:return new E(g.AMP,o,o+1,a,u,t);case 40:return new E(g.PAREN_L,o,o+1,a,u,t);case 41:return new E(g.PAREN_R,o,o+1,a,u,t);case 46:if(46===r.charCodeAt(o+1)&&46===r.charCodeAt(o+2))return new E(g.SPREAD,o,o+3,a,u,t);break;case 58:return new E(g.COLON,o,o+1,a,u,t);case 61:return new E(g.EQUALS,o,o+1,a,u,t);case 64:return new E(g.AT,o,o+1,a,u,t);case 91:return new E(g.BRACKET_L,o,o+1,a,u,t);case 93:return new E(g.BRACKET_R,o,o+1,a,u,t);case 123:return new E(g.BRACE_L,o,o+1,a,u,t);case 124:return new E(g.PIPE,o,o+1,a,u,t);case 125:return new E(g.BRACE_R,o,o+1,a,u,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,r,i){var o=e.body,a=o.length,u=t+1,c=0;for(;u!==a&&!isNaN(c=o.charCodeAt(u))&&(95===c||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122);)++u;return new E(g.NAME,t,u,n,r,i,o.slice(t,u))}(n,o,a,u,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,r,i,o){var a=e.body,u=n,c=t,s=!1;45===u&&(u=a.charCodeAt(++c));if(48===u){if((u=a.charCodeAt(++c))>=48&&u<=57)throw v(e,c,"Invalid number, unexpected digit after 0: ".concat(k(u),"."))}else c=x(e,c,u),u=a.charCodeAt(c);46===u&&(s=!0,u=a.charCodeAt(++c),c=x(e,c,u),u=a.charCodeAt(c));69!==u&&101!==u||(s=!0,43!==(u=a.charCodeAt(++c))&&45!==u||(u=a.charCodeAt(++c)),c=x(e,c,u),u=a.charCodeAt(c));if(46===u||69===u||101===u)throw v(e,c,"Invalid number, expected digit but got: ".concat(k(u),"."));return new E(s?g.FLOAT:g.INT,t,c,r,i,o,a.slice(t,c))}(n,o,c,a,u,t);case 34:return 34===r.charCodeAt(o+1)&&34===r.charCodeAt(o+2)?function(e,t,n,r,i,o){var a=e.body,u=t+3,c=u,s=0,l="";for(;u<a.length&&!isNaN(s=a.charCodeAt(u));){if(34===s&&34===a.charCodeAt(u+1)&&34===a.charCodeAt(u+2))return l+=a.slice(c,u),new E(g.BLOCK_STRING,t,u+3,n,r,i,Object(m.a)(l));if(s<32&&9!==s&&10!==s&&13!==s)throw v(e,u,"Invalid character within String: ".concat(k(s),"."));10===s?(++u,++o.line,o.lineStart=u):13===s?(10===a.charCodeAt(u+1)?u+=2:++u,++o.line,o.lineStart=u):92===s&&34===a.charCodeAt(u+1)&&34===a.charCodeAt(u+2)&&34===a.charCodeAt(u+3)?(l+=a.slice(c,u)+'"""',c=u+=4):++u}throw v(e,u,"Unterminated string.")}(n,o,a,u,t,e):function(e,t,n,r,i){var o=e.body,a=t+1,u=a,c=0,s="";for(;a<o.length&&!isNaN(c=o.charCodeAt(a))&&10!==c&&13!==c;){if(34===c)return s+=o.slice(u,a),new E(g.STRING,t,a+1,n,r,i,s);if(c<32&&9!==c)throw v(e,a,"Invalid character within String: ".concat(k(c),"."));if(++a,92===c){switch(s+=o.slice(u,a-1),c=o.charCodeAt(a)){case 34:s+='"';break;case 47:s+="/";break;case 92:s+="\\";break;case 98:s+="\b";break;case 102:s+="\f";break;case 110:s+="\n";break;case 114:s+="\r";break;case 116:s+="\t";break;case 117:var l=(p=o.charCodeAt(a+1),d=o.charCodeAt(a+2),h=o.charCodeAt(a+3),y=o.charCodeAt(a+4),T(p)<<12|T(d)<<8|T(h)<<4|T(y));if(l<0){var f=o.slice(a+1,a+5);throw v(e,a,"Invalid character escape sequence: \\u".concat(f,"."))}s+=String.fromCharCode(l),a+=4;break;default:throw v(e,a,"Invalid character escape sequence: \\".concat(String.fromCharCode(c),"."))}++a,u=a}}var p,d,h,y;throw v(e,a,"Unterminated string.")}(n,o,a,u,t)}throw v(n,o,function(e){if(e<32&&9!==e&&10!==e&&13!==e)return"Cannot contain the invalid character ".concat(k(e),".");if(39===e)return"Unexpected single quote character ('), did you mean to use a double quote (\")?";return"Cannot parse the unexpected character ".concat(k(e),".")}(c))}function x(e,t,n){var r=e.body,i=t,o=n;if(o>=48&&o<=57){do{o=r.charCodeAt(++i)}while(o>=48&&o<=57);return i}throw v(e,i,"Invalid number, expected digit but got: ".concat(k(o),"."))}function T(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}u(E,(function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}));var S=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});var j=function(){function e(e,t){var n="string"===typeof e?new b.a(e):e;n instanceof b.a||Object(o.a)(0,"Must provide Source. Received: ".concat(Object(i.a)(n))),this._lexer=function(e,t){var n=new E(g.SOF,0,0,0,0,null);return{source:e,options:t,lastToken:n,token:n,line:1,lineStart:0,advance:w,lookahead:O}}(n),this._options=t||{}}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(g.NAME);return{kind:y.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:y.DOCUMENT,definitions:this.many(g.SOF,this.parseDefinition,g.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(g.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(g.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},t.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(g.BRACE_L))return{kind:y.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var t,n=this.parseOperationType();return this.peek(g.NAME)&&(t=this.parseName()),{kind:y.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseOperationType=function(){var e=this.expectToken(g.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(g.PAREN_L,this.parseVariableDefinition,g.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:y.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(g.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(g.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(g.DOLLAR),{kind:y.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:y.SELECTION_SET,selections:this.many(g.BRACE_L,this.parseSelection,g.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(g.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,n=this._lexer.token,r=this.parseName();return this.expectOptionalToken(g.COLON)?(e=r,t=this.parseName()):t=r,{kind:y.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(g.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(n)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(g.PAREN_L,t,g.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(g.COLON),{kind:y.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:y.ARGUMENT,name:this.parseName(),value:(this.expectToken(g.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(g.SPREAD);var t=this.expectOptionalKeyword("on");return!t&&this.peek(g.NAME)?{kind:y.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:y.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e=this._lexer.token;return this.expectKeyword("fragment"),this._options.experimentalFragmentVariables?{kind:y.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}:{kind:y.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case g.BRACKET_L:return this.parseList(e);case g.BRACE_L:return this.parseObject(e);case g.INT:return this._lexer.advance(),{kind:y.INT,value:t.value,loc:this.loc(t)};case g.FLOAT:return this._lexer.advance(),{kind:y.FLOAT,value:t.value,loc:this.loc(t)};case g.STRING:case g.BLOCK_STRING:return this.parseStringLiteral();case g.NAME:return"true"===t.value||"false"===t.value?(this._lexer.advance(),{kind:y.BOOLEAN,value:"true"===t.value,loc:this.loc(t)}):"null"===t.value?(this._lexer.advance(),{kind:y.NULL,loc:this.loc(t)}):(this._lexer.advance(),{kind:y.ENUM,value:t.value,loc:this.loc(t)});case g.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:y.STRING,value:e.value,block:e.kind===g.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,n=this._lexer.token;return{kind:y.LIST,values:this.any(g.BRACKET_L,(function(){return t.parseValueLiteral(e)}),g.BRACKET_R),loc:this.loc(n)}},t.parseObject=function(e){var t=this,n=this._lexer.token;return{kind:y.OBJECT,fields:this.any(g.BRACE_L,(function(){return t.parseObjectField(e)}),g.BRACE_R),loc:this.loc(n)}},t.parseObjectField=function(e){var t=this._lexer.token,n=this.parseName();return this.expectToken(g.COLON),{kind:y.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(g.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(g.AT),{kind:y.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return this.expectOptionalToken(g.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(g.BRACKET_R),e={kind:y.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(g.BANG)?{kind:y.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:y.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===g.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(g.STRING)||this.peek(g.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token;this.expectKeyword("schema");var t=this.parseDirectives(!0),n=this.many(g.BRACE_L,this.parseOperationTypeDefinition,g.BRACE_R);return{kind:y.SCHEMA_DEFINITION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(g.COLON);var n=this.parseNamedType();return{kind:y.OPERATION_TYPE_DEFINITION,operation:t,type:n,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");var n=this.parseName(),r=this.parseDirectives(!0);return{kind:y.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:y.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:o,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e=[];if(this.expectOptionalKeyword("implements")){this.expectOptionalToken(g.AMP);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(g.AMP)||this._options.allowLegacySDLImplementsInterfaces&&this.peek(g.NAME))}return e},t.parseFieldsDefinition=function(){return this._options.allowLegacySDLEmptyFields&&this.peek(g.BRACE_L)&&this._lexer.lookahead().kind===g.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(g.BRACE_L,this.parseFieldDefinition,g.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(g.COLON);var i=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:y.FIELD_DEFINITION,description:t,name:n,arguments:r,type:i,directives:o,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(g.PAREN_L,this.parseInputValueDef,g.PAREN_R)},t.parseInputValueDef=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName();this.expectToken(g.COLON);var r,i=this.parseTypeReference();this.expectOptionalToken(g.EQUALS)&&(r=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:y.INPUT_VALUE_DEFINITION,description:t,name:n,type:i,defaultValue:r,directives:o,loc:this.loc(e)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();return{kind:y.INTERFACE_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseUnionMemberTypes();return{kind:y.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,types:i,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){var e=[];if(this.expectOptionalToken(g.EQUALS)){this.expectOptionalToken(g.PIPE);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(g.PIPE))}return e},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();return{kind:y.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:i,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(g.BRACE_L,this.parseEnumValueDefinition,g.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseDirectives(!0);return{kind:y.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();return{kind:y.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(g.BRACE_L,this.parseInputValueDef,g.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===g.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var t=this.parseDirectives(!0),n=this.optionalMany(g.BRACE_L,this.parseOperationTypeDefinition,g.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return{kind:y.SCHEMA_EXTENSION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var t=this.parseName(),n=this.parseDirectives(!0);if(0===n.length)throw this.unexpected();return{kind:y.SCALAR_TYPE_EXTENSION,name:t,directives:n,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:y.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:y.INTERFACE_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:y.UNION_TYPE_EXTENSION,name:t,directives:n,types:r,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:y.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:y.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(g.AT);var n=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var o=this.parseDirectiveLocations();return{kind:y.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,repeatable:i,locations:o,loc:this.loc(e)}},t.parseDirectiveLocations=function(){this.expectOptionalToken(g.PIPE);var e=[];do{e.push(this.parseDirectiveLocation())}while(this.expectOptionalToken(g.PIPE));return e},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==S[t.value])return t;throw this.unexpected(e)},t.loc=function(e){if(!this._options.noLocation)return new C(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw v(this._lexer.source,t.start,"Expected ".concat(e,", found ").concat(N(t)))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind!==g.NAME||t.value!==e)throw v(this._lexer.source,t.start,'Expected "'.concat(e,'", found ').concat(N(t)));this._lexer.advance()},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===g.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=e||this._lexer.token;return v(this._lexer.source,t.start,"Unexpected ".concat(N(t)))},t.any=function(e,t,n){this.expectToken(e);for(var r=[];!this.expectOptionalToken(n);)r.push(t.call(this));return r},t.optionalMany=function(e,t,n){if(this.expectOptionalToken(e)){var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r}return[]},t.many=function(e,t,n){this.expectToken(e);var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r},e}();function C(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}function N(e){var t=e.value;return t?"".concat(e.kind,' "').concat(t,'"'):e.kind}u(C,(function(){return{start:this.start,end:this.end}}));var D=new Map,P=new Map,I=!0,R=!1;function F(e){return e.replace(/[\s,]+/g," ").trim()}function A(e){var t=new Set,n=[];return e.definitions.forEach((function(e){if("FragmentDefinition"===e.kind){var r=e.name.value,i=F((a=e.loc).source.body.substring(a.start,a.end)),o=P.get(r);o&&!o.has(i)?I&&console.warn("Warning: fragment with name "+r+" already exists.\ngraphql-tag enforces all fragment names across your application to be unique; read more about\nthis in the docs: http://dev.apollodata.com/core/fragments.html#unique-names"):o||P.set(r,o=new Set),o.add(i),t.has(i)||(t.add(i),n.push(e))}else n.push(e);var a})),Object(r.a)(Object(r.a)({},e),{definitions:n})}function M(e){var t=F(e);if(!D.has(t)){var n=function(e,t){return new j(e,t).parseDocument()}(e,{experimentalFragmentVariables:R,allowLegacyFragmentVariables:R});if(!n||"Document"!==n.kind)throw new Error("Not a valid GraphQL document.");D.set(t,function(e){var t=new Set(e.definitions);t.forEach((function(e){e.loc&&delete e.loc,Object.keys(e).forEach((function(n){var r=e[n];r&&"object"===typeof r&&t.add(r)}))}));var n=e.loc;return n&&(delete n.startToken,delete n.endToken),e}(A(n)))}return D.get(t)}function L(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];"string"===typeof e&&(e=[e]);var r=e[0];return t.forEach((function(t,n){t&&"Document"===t.kind?r+=t.loc.source.body:r+=t,r+=e[n+1]})),M(r)}var V,q={gql:L,resetCaches:function(){D.clear(),P.clear()},disableFragmentWarnings:function(){I=!1},enableExperimentalFragmentVariables:function(){R=!0},disableExperimentalFragmentVariables:function(){R=!1}};(V=L||(L={})).gql=q.gql,V.resetCaches=q.resetCaches,V.disableFragmentWarnings=q.disableFragmentWarnings,V.enableExperimentalFragmentVariables=q.enableExperimentalFragmentVariables,V.disableExperimentalFragmentVariables=q.disableExperimentalFragmentVariables,L.default=L},,,,,,function(e,t,n){"use strict";var r=n(39),i="function"===typeof Symbol&&Symbol.for,o=i?Symbol.for("react.element"):60103,a=i?Symbol.for("react.portal"):60106,u=i?Symbol.for("react.fragment"):60107,c=i?Symbol.for("react.strict_mode"):60108,s=i?Symbol.for("react.profiler"):60114,l=i?Symbol.for("react.provider"):60109,f=i?Symbol.for("react.context"):60110,p=i?Symbol.for("react.forward_ref"):60112,d=i?Symbol.for("react.suspense"):60113,h=i?Symbol.for("react.memo"):60115,v=i?Symbol.for("react.lazy"):60116,y="function"===typeof Symbol&&Symbol.iterator;function b(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g={};function w(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function O(){}function E(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}w.prototype.isReactComponent={},w.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error(b(85));this.updater.enqueueSetState(this,e,t,"setState")},w.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},O.prototype=w.prototype;var k=E.prototype=new O;k.constructor=E,r(k,w.prototype),k.isPureReactComponent=!0;var _={current:null},x=Object.prototype.hasOwnProperty,T={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n){var r,i={},a=null,u=null;if(null!=t)for(r in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(a=""+t.key),t)x.call(t,r)&&!T.hasOwnProperty(r)&&(i[r]=t[r]);var c=arguments.length-2;if(1===c)i.children=n;else if(1<c){for(var s=Array(c),l=0;l<c;l++)s[l]=arguments[l+2];i.children=s}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===i[r]&&(i[r]=c[r]);return{$$typeof:o,type:e,key:a,ref:u,props:i,_owner:_.current}}function j(e){return"object"===typeof e&&null!==e&&e.$$typeof===o}var C=/\/+/g,N=[];function D(e,t,n,r){if(N.length){var i=N.pop();return i.result=e,i.keyPrefix=t,i.func=n,i.context=r,i.count=0,i}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function P(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>N.length&&N.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,i){var u=typeof t;"undefined"!==u&&"boolean"!==u||(t=null);var c=!1;if(null===t)c=!0;else switch(u){case"string":case"number":c=!0;break;case"object":switch(t.$$typeof){case o:case a:c=!0}}if(c)return r(i,t,""===n?"."+R(t,0):n),1;if(c=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;s<t.length;s++){var l=n+R(u=t[s],s);c+=e(u,l,r,i)}else if(null===t||"object"!==typeof t?l=null:l="function"===typeof(l=y&&t[y]||t["@@iterator"])?l:null,"function"===typeof l)for(t=l.call(t),s=0;!(u=t.next()).done;)c+=e(u=u.value,l=n+R(u,s++),r,i);else if("object"===u)throw r=""+t,Error(b(31,"[object Object]"===r?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return c}(e,"",t,n)}function R(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function F(e,t){e.func.call(e.context,t,e.count++)}function A(e,t,n){var r=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?M(e,r,n,(function(e){return e})):null!=e&&(j(e)&&(e=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,i+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(C,"$&/")+"/")+n)),r.push(e))}function M(e,t,n,r,i){var o="";null!=n&&(o=(""+n).replace(C,"$&/")+"/"),I(e,A,t=D(t,o,r,i)),P(t)}var L={current:null};function V(){var e=L.current;if(null===e)throw Error(b(321));return e}var q={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:_,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:function(e,t,n){if(null==e)return e;var r=[];return M(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;I(e,F,t=D(null,null,t,n)),P(t)},count:function(e){return I(e,(function(){return null}),null)},toArray:function(e){var t=[];return M(e,t,null,(function(e){return e})),t},only:function(e){if(!j(e))throw Error(b(143));return e}},t.Component=w,t.Fragment=u,t.Profiler=s,t.PureComponent=E,t.StrictMode=c,t.Suspense=d,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=q,t.cloneElement=function(e,t,n){if(null===e||void 0===e)throw Error(b(267,e));var i=r({},e.props),a=e.key,u=e.ref,c=e._owner;if(null!=t){if(void 0!==t.ref&&(u=t.ref,c=_.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)x.call(t,l)&&!T.hasOwnProperty(l)&&(i[l]=void 0===t[l]&&void 0!==s?s[l]:t[l])}var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){s=Array(l);for(var f=0;f<l;f++)s[f]=arguments[f+2];i.children=s}return{$$typeof:o,type:e.type,key:a,ref:u,props:i,_owner:c}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:p,render:e}},t.isValidElement=j,t.lazy=function(e){return{$$typeof:v,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:h,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return V().useCallback(e,t)},t.useContext=function(e,t){return V().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return V().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return V().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return V().useLayoutEffect(e,t)},t.useMemo=function(e,t){return V().useMemo(e,t)},t.useReducer=function(e,t,n){return V().useReducer(e,t,n)},t.useRef=function(e){return V().useRef(e)},t.useState=function(e){return V().useState(e)},t.version="16.14.0"},function(e,t,n){"use strict";var r=n(3),i=n(39),o=n(55);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(a(227));function u(e,t,n,r,i,o,a,u,c){var s=Array.prototype.slice.call(arguments,3);try{t.apply(n,s)}catch(l){this.onError(l)}}var c=!1,s=null,l=!1,f=null,p={onError:function(e){c=!0,s=e}};function d(e,t,n,r,i,o,a,l,f){c=!1,s=null,u.apply(p,arguments)}var h=null,v=null,y=null;function b(e,t,n){var r=e.type||"unknown-event";e.currentTarget=y(n),function(e,t,n,r,i,o,u,p,h){if(d.apply(this,arguments),c){if(!c)throw Error(a(198));var v=s;c=!1,s=null,l||(l=!0,f=v)}}(r,t,void 0,e),e.currentTarget=null}var m=null,g={};function w(){if(m)for(var e in g){var t=g[e],n=m.indexOf(e);if(!(-1<n))throw Error(a(96,e));if(!E[n]){if(!t.extractEvents)throw Error(a(97,e));for(var r in E[n]=t,n=t.eventTypes){var i=void 0,o=n[r],u=t,c=r;if(k.hasOwnProperty(c))throw Error(a(99,c));k[c]=o;var s=o.phasedRegistrationNames;if(s){for(i in s)s.hasOwnProperty(i)&&O(s[i],u,c);i=!0}else o.registrationName?(O(o.registrationName,u,c),i=!0):i=!1;if(!i)throw Error(a(98,r,e))}}}}function O(e,t,n){if(_[e])throw Error(a(100,e));_[e]=t,x[e]=t.eventTypes[n].dependencies}var E=[],k={},_={},x={};function T(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];if(!g.hasOwnProperty(t)||g[t]!==r){if(g[t])throw Error(a(102,t));g[t]=r,n=!0}}n&&w()}var S=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),j=null,C=null,N=null;function D(e){if(e=v(e)){if("function"!==typeof j)throw Error(a(280));var t=e.stateNode;t&&(t=h(t),j(e.stateNode,e.type,t))}}function P(e){C?N?N.push(e):N=[e]:C=e}function I(){if(C){var e=C,t=N;if(N=C=null,D(e),t)for(e=0;e<t.length;e++)D(t[e])}}function R(e,t){return e(t)}function F(e,t,n,r,i){return e(t,n,r,i)}function A(){}var M=R,L=!1,V=!1;function q(){null===C&&null===N||(A(),I())}function Q(e,t,n){if(V)return e(t,n);V=!0;try{return M(e,t,n)}finally{V=!1,q()}}var z=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,U=Object.prototype.hasOwnProperty,B={},W={};function K(e,t,n,r,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o}var H={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){H[e]=new K(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];H[t]=new K(t,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){H[e]=new K(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){H[e]=new K(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){H[e]=new K(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){H[e]=new K(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){H[e]=new K(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){H[e]=new K(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){H[e]=new K(e,5,!1,e.toLowerCase(),null,!1)}));var G=/[\-:]([a-z])/g;function Y(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(G,Y);H[t]=new K(t,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(G,Y);H[t]=new K(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(G,Y);H[t]=new K(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){H[e]=new K(e,1,!1,e.toLowerCase(),null,!1)})),H.xlinkHref=new K("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){H[e]=new K(e,1,!1,e.toLowerCase(),null,!0)}));var $=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function J(e,t,n,r){var i=H.hasOwnProperty(t)?H[t]:null;(null!==i?0===i.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!U.call(W,e)||!U.call(B,e)&&(z.test(e)?W[e]=!0:(B[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&"":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}$.hasOwnProperty("ReactCurrentDispatcher")||($.ReactCurrentDispatcher={current:null}),$.hasOwnProperty("ReactCurrentBatchConfig")||($.ReactCurrentBatchConfig={suspense:null});var X=/^(.*)[\\\/]/,Z="function"===typeof Symbol&&Symbol.for,ee=Z?Symbol.for("react.element"):60103,te=Z?Symbol.for("react.portal"):60106,ne=Z?Symbol.for("react.fragment"):60107,re=Z?Symbol.for("react.strict_mode"):60108,ie=Z?Symbol.for("react.profiler"):60114,oe=Z?Symbol.for("react.provider"):60109,ae=Z?Symbol.for("react.context"):60110,ue=Z?Symbol.for("react.concurrent_mode"):60111,ce=Z?Symbol.for("react.forward_ref"):60112,se=Z?Symbol.for("react.suspense"):60113,le=Z?Symbol.for("react.suspense_list"):60120,fe=Z?Symbol.for("react.memo"):60115,pe=Z?Symbol.for("react.lazy"):60116,de=Z?Symbol.for("react.block"):60121,he="function"===typeof Symbol&&Symbol.iterator;function ve(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=he&&e[he]||e["@@iterator"])?e:null}function ye(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case ne:return"Fragment";case te:return"Portal";case ie:return"Profiler";case re:return"StrictMode";case se:return"Suspense";case le:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case ae:return"Context.Consumer";case oe:return"Context.Provider";case ce:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case fe:return ye(e.type);case de:return ye(e.render);case pe:if(e=1===e._status?e._result:null)return ye(e)}return null}function be(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,i=e._debugSource,o=ye(e.type);n=null,r&&(n=ye(r.type)),r=o,o="",i?o=" (at "+i.fileName.replace(X,"")+":"+i.lineNumber+")":n&&(o=" (created by "+n+")"),n="\n    in "+(r||"Unknown")+o}t+=n,e=e.return}while(e);return t}function me(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function ge(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function we(e){e._valueTracker||(e._valueTracker=function(e){var t=ge(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Oe(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ge(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Ee(e,t){var n=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ke(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=me(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function _e(e,t){null!=(t=t.checked)&&J(e,"checked",t,!1)}function xe(e,t){_e(e,t);var n=me(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?Se(e,t.type,n):t.hasOwnProperty("defaultValue")&&Se(e,t.type,me(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Te(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function Se(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function je(e,t){return e=i({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function Ce(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+me(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function Ne(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return i({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function De(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:me(n)}}function Pe(e,t){var n=me(t.value),r=me(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function Ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var Re="http://www.w3.org/1999/xhtml",Fe="http://www.w3.org/2000/svg";function Ae(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Me(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Ae(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Le,Ve=function(e){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Fe||"innerHTML"in e)e.innerHTML=t;else{for((Le=Le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function qe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function Qe(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ze={animationend:Qe("Animation","AnimationEnd"),animationiteration:Qe("Animation","AnimationIteration"),animationstart:Qe("Animation","AnimationStart"),transitionend:Qe("Transition","TransitionEnd")},Ue={},Be={};function We(e){if(Ue[e])return Ue[e];if(!ze[e])return e;var t,n=ze[e];for(t in n)if(n.hasOwnProperty(t)&&t in Be)return Ue[e]=n[t];return e}S&&(Be=document.createElement("div").style,"AnimationEvent"in window||(delete ze.animationend.animation,delete ze.animationiteration.animation,delete ze.animationstart.animation),"TransitionEvent"in window||delete ze.transitionend.transition);var Ke=We("animationend"),He=We("animationiteration"),Ge=We("animationstart"),Ye=We("transitionend"),$e="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Je=new("function"===typeof WeakMap?WeakMap:Map);function Xe(e){var t=Je.get(e);return void 0===t&&(t=new Map,Je.set(e,t)),t}function Ze(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function et(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function tt(e){if(Ze(e)!==e)throw Error(a(188))}function nt(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ze(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var o=i.alternate;if(null===o){if(null!==(r=i.return)){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return tt(i),e;if(o===r)return tt(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var u=!1,c=i.child;c;){if(c===n){u=!0,n=i,r=o;break}if(c===r){u=!0,r=i,n=o;break}c=c.sibling}if(!u){for(c=o.child;c;){if(c===n){u=!0,n=o,r=i;break}if(c===r){u=!0,r=o,n=i;break}c=c.sibling}if(!u)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function rt(e,t){if(null==t)throw Error(a(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function it(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var ot=null;function at(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)b(e,t[r],n[r]);else t&&b(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function ut(e){if(null!==e&&(ot=rt(ot,e)),e=ot,ot=null,e){if(it(e,at),ot)throw Error(a(95));if(l)throw e=f,l=!1,f=null,e}}function ct(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function st(e){if(!S)return!1;var t=(e="on"+e)in document;return t||((t=document.createElement("div")).setAttribute(e,"return;"),t="function"===typeof t[e]),t}var lt=[];function ft(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>lt.length&&lt.push(e)}function pt(e,t,n,r){if(lt.length){var i=lt.pop();return i.topLevelType=e,i.eventSystemFlags=r,i.nativeEvent=t,i.targetInst=n,i}return{topLevelType:e,eventSystemFlags:r,nativeEvent:t,targetInst:n,ancestors:[]}}function dt(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=Sn(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var i=ct(e.nativeEvent);r=e.topLevelType;var o=e.nativeEvent,a=e.eventSystemFlags;0===n&&(a|=64);for(var u=null,c=0;c<E.length;c++){var s=E[c];s&&(s=s.extractEvents(r,t,o,i,a))&&(u=rt(u,s))}ut(u)}}function ht(e,t,n){if(!n.has(e)){switch(e){case"scroll":Gt(t,"scroll",!0);break;case"focus":case"blur":Gt(t,"focus",!0),Gt(t,"blur",!0),n.set("blur",null),n.set("focus",null);break;case"cancel":case"close":st(e)&&Gt(t,e,!0);break;case"invalid":case"submit":case"reset":break;default:-1===$e.indexOf(e)&&Ht(e,t)}n.set(e,null)}}var vt,yt,bt,mt=!1,gt=[],wt=null,Ot=null,Et=null,kt=new Map,_t=new Map,xt=[],Tt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),St="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function jt(e,t,n,r,i){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:i,container:r}}function Ct(e,t){switch(e){case"focus":case"blur":wt=null;break;case"dragenter":case"dragleave":Ot=null;break;case"mouseover":case"mouseout":Et=null;break;case"pointerover":case"pointerout":kt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":_t.delete(t.pointerId)}}function Nt(e,t,n,r,i,o){return null===e||e.nativeEvent!==o?(e=jt(t,n,r,i,o),null!==t&&(null!==(t=jn(t))&&yt(t)),e):(e.eventSystemFlags|=r,e)}function Dt(e){var t=Sn(e.target);if(null!==t){var n=Ze(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=et(n)))return e.blockedOn=t,void o.unstable_runWithPriority(e.priority,(function(){bt(n)}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Pt(e){if(null!==e.blockedOn)return!1;var t=Xt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);if(null!==t){var n=jn(t);return null!==n&&yt(n),e.blockedOn=t,!1}return!0}function It(e,t,n){Pt(e)&&n.delete(t)}function Rt(){for(mt=!1;0<gt.length;){var e=gt[0];if(null!==e.blockedOn){null!==(e=jn(e.blockedOn))&&vt(e);break}var t=Xt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);null!==t?e.blockedOn=t:gt.shift()}null!==wt&&Pt(wt)&&(wt=null),null!==Ot&&Pt(Ot)&&(Ot=null),null!==Et&&Pt(Et)&&(Et=null),kt.forEach(It),_t.forEach(It)}function Ft(e,t){e.blockedOn===t&&(e.blockedOn=null,mt||(mt=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Rt)))}function At(e){function t(t){return Ft(t,e)}if(0<gt.length){Ft(gt[0],e);for(var n=1;n<gt.length;n++){var r=gt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==wt&&Ft(wt,e),null!==Ot&&Ft(Ot,e),null!==Et&&Ft(Et,e),kt.forEach(t),_t.forEach(t),n=0;n<xt.length;n++)(r=xt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<xt.length&&null===(n=xt[0]).blockedOn;)Dt(n),null===n.blockedOn&&xt.shift()}var Mt={},Lt=new Map,Vt=new Map,qt=["abort","abort",Ke,"animationEnd",He,"animationIteration",Ge,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Ye,"transitionEnd","waiting","waiting"];function Qt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1],o="on"+(i[0].toUpperCase()+i.slice(1));o={phasedRegistrationNames:{bubbled:o,captured:o+"Capture"},dependencies:[r],eventPriority:t},Vt.set(r,t),Lt.set(r,o),Mt[i]=o}}Qt("blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Qt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Qt(qt,2);for(var zt="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Ut=0;Ut<zt.length;Ut++)Vt.set(zt[Ut],0);var Bt=o.unstable_UserBlockingPriority,Wt=o.unstable_runWithPriority,Kt=!0;function Ht(e,t){Gt(t,e,!1)}function Gt(e,t,n){var r=Vt.get(t);switch(void 0===r?2:r){case 0:r=Yt.bind(null,t,1,e);break;case 1:r=$t.bind(null,t,1,e);break;default:r=Jt.bind(null,t,1,e)}n?e.addEventListener(t,r,!0):e.addEventListener(t,r,!1)}function Yt(e,t,n,r){L||A();var i=Jt,o=L;L=!0;try{F(i,e,t,n,r)}finally{(L=o)||q()}}function $t(e,t,n,r){Wt(Bt,Jt.bind(null,e,t,n,r))}function Jt(e,t,n,r){if(Kt)if(0<gt.length&&-1<Tt.indexOf(e))e=jt(null,e,t,n,r),gt.push(e);else{var i=Xt(e,t,n,r);if(null===i)Ct(e,r);else if(-1<Tt.indexOf(e))e=jt(i,e,t,n,r),gt.push(e);else if(!function(e,t,n,r,i){switch(t){case"focus":return wt=Nt(wt,e,t,n,r,i),!0;case"dragenter":return Ot=Nt(Ot,e,t,n,r,i),!0;case"mouseover":return Et=Nt(Et,e,t,n,r,i),!0;case"pointerover":var o=i.pointerId;return kt.set(o,Nt(kt.get(o)||null,e,t,n,r,i)),!0;case"gotpointercapture":return o=i.pointerId,_t.set(o,Nt(_t.get(o)||null,e,t,n,r,i)),!0}return!1}(i,e,t,n,r)){Ct(e,r),e=pt(e,r,null,t);try{Q(dt,e)}finally{ft(e)}}}}function Xt(e,t,n,r){if(null!==(n=Sn(n=ct(r)))){var i=Ze(n);if(null===i)n=null;else{var o=i.tag;if(13===o){if(null!==(n=et(i)))return n;n=null}else if(3===o){if(i.stateNode.hydrate)return 3===i.tag?i.stateNode.containerInfo:null;n=null}else i!==n&&(n=null)}}e=pt(e,r,n,t);try{Q(dt,e)}finally{ft(e)}return null}var Zt={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},en=["Webkit","ms","Moz","O"];function tn(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||Zt.hasOwnProperty(e)&&Zt[e]?(""+t).trim():t+"px"}function nn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),i=tn(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}Object.keys(Zt).forEach((function(e){en.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Zt[t]=Zt[e]}))}));var rn=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function on(e,t){if(t){if(rn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e,""));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(a(62,""))}}function an(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var un=Re;function cn(e,t){var n=Xe(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=x[t];for(var r=0;r<t.length;r++)ht(t[r],e,n)}function sn(){}function ln(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function fn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pn(e,t){var n,r=fn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=fn(r)}}function dn(){for(var e=window,t=ln();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=ln((e=t.contentWindow).document)}return t}function hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var vn=null,yn=null;function bn(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function mn(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var gn="function"===typeof setTimeout?setTimeout:void 0,wn="function"===typeof clearTimeout?clearTimeout:void 0;function On(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function En(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var kn=Math.random().toString(36).slice(2),_n="__reactInternalInstance$"+kn,xn="__reactEventHandlers$"+kn,Tn="__reactContainere$"+kn;function Sn(e){var t=e[_n];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Tn]||n[_n]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=En(e);null!==e;){if(n=e[_n])return n;e=En(e)}return t}n=(e=n).parentNode}return null}function jn(e){return!(e=e[_n]||e[Tn])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Cn(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function Nn(e){return e[xn]||null}function Dn(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Pn(e,t){var n=e.stateNode;if(!n)return null;var r=h(n);if(!r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(a(231,t,typeof n));return n}function In(e,t,n){(t=Pn(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=rt(n._dispatchListeners,t),n._dispatchInstances=rt(n._dispatchInstances,e))}function Rn(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=Dn(t);for(t=n.length;0<t--;)In(n[t],"captured",e);for(t=0;t<n.length;t++)In(n[t],"bubbled",e)}}function Fn(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=Pn(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=rt(n._dispatchListeners,t),n._dispatchInstances=rt(n._dispatchInstances,e))}function An(e){e&&e.dispatchConfig.registrationName&&Fn(e._targetInst,null,e)}function Mn(e){it(e,Rn)}var Ln=null,Vn=null,qn=null;function Qn(){if(qn)return qn;var e,t,n=Vn,r=n.length,i="value"in Ln?Ln.value:Ln.textContent,o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===i[o-t];t++);return qn=i.slice(e,1<t?1-t:void 0)}function zn(){return!0}function Un(){return!1}function Bn(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):"target"===i?this.target=r:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?zn:Un,this.isPropagationStopped=Un,this}function Wn(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop();return this.call(i,e,t,n,r),i}return new this(e,t,n,r)}function Kn(e){if(!(e instanceof this))throw Error(a(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Hn(e){e.eventPool=[],e.getPooled=Wn,e.release=Kn}i(Bn.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=zn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=zn)},persist:function(){this.isPersistent=zn},isPersistent:Un,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Un,this._dispatchInstances=this._dispatchListeners=null}}),Bn.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Bn.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return i(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=i({},r.Interface,e),n.extend=r.extend,Hn(n),n},Hn(Bn);var Gn=Bn.extend({data:null}),Yn=Bn.extend({data:null}),$n=[9,13,27,32],Jn=S&&"CompositionEvent"in window,Xn=null;S&&"documentMode"in document&&(Xn=document.documentMode);var Zn=S&&"TextEvent"in window&&!Xn,er=S&&(!Jn||Xn&&8<Xn&&11>=Xn),tr=String.fromCharCode(32),nr={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},rr=!1;function ir(e,t){switch(e){case"keyup":return-1!==$n.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function or(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var ar=!1;var ur={eventTypes:nr,extractEvents:function(e,t,n,r){var i;if(Jn)e:{switch(e){case"compositionstart":var o=nr.compositionStart;break e;case"compositionend":o=nr.compositionEnd;break e;case"compositionupdate":o=nr.compositionUpdate;break e}o=void 0}else ar?ir(e,n)&&(o=nr.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=nr.compositionStart);return o?(er&&"ko"!==n.locale&&(ar||o!==nr.compositionStart?o===nr.compositionEnd&&ar&&(i=Qn()):(Vn="value"in(Ln=r)?Ln.value:Ln.textContent,ar=!0)),o=Gn.getPooled(o,t,n,r),i?o.data=i:null!==(i=or(n))&&(o.data=i),Mn(o),i=o):i=null,(e=Zn?function(e,t){switch(e){case"compositionend":return or(t);case"keypress":return 32!==t.which?null:(rr=!0,tr);case"textInput":return(e=t.data)===tr&&rr?null:e;default:return null}}(e,n):function(e,t){if(ar)return"compositionend"===e||!Jn&&ir(e,t)?(e=Qn(),qn=Vn=Ln=null,ar=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return er&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))?((t=Yn.getPooled(nr.beforeInput,t,n,r)).data=e,Mn(t)):t=null,null===i?t:null===t?i:[i,t]}},cr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function sr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!cr[e.type]:"textarea"===t}var lr={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function fr(e,t,n){return(e=Bn.getPooled(lr.change,e,t,n)).type="change",P(n),Mn(e),e}var pr=null,dr=null;function hr(e){ut(e)}function vr(e){if(Oe(Cn(e)))return e}function yr(e,t){if("change"===e)return t}var br=!1;function mr(){pr&&(pr.detachEvent("onpropertychange",gr),dr=pr=null)}function gr(e){if("value"===e.propertyName&&vr(dr))if(e=fr(dr,e,ct(e)),L)ut(e);else{L=!0;try{R(hr,e)}finally{L=!1,q()}}}function wr(e,t,n){"focus"===e?(mr(),dr=n,(pr=t).attachEvent("onpropertychange",gr)):"blur"===e&&mr()}function Or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return vr(dr)}function Er(e,t){if("click"===e)return vr(t)}function kr(e,t){if("input"===e||"change"===e)return vr(t)}S&&(br=st("input")&&(!document.documentMode||9<document.documentMode));var _r={eventTypes:lr,_isInputEventSupported:br,extractEvents:function(e,t,n,r){var i=t?Cn(t):window,o=i.nodeName&&i.nodeName.toLowerCase();if("select"===o||"input"===o&&"file"===i.type)var a=yr;else if(sr(i))if(br)a=kr;else{a=Or;var u=wr}else(o=i.nodeName)&&"input"===o.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(a=Er);if(a&&(a=a(e,t)))return fr(a,n,r);u&&u(e,i,t),"blur"===e&&(e=i._wrapperState)&&e.controlled&&"number"===i.type&&Se(i,"number",i.value)}},xr=Bn.extend({view:null,detail:null}),Tr={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Sr(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Tr[e])&&!!t[e]}function jr(){return Sr}var Cr=0,Nr=0,Dr=!1,Pr=!1,Ir=xr.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:jr,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=Cr;return Cr=e.screenX,Dr?"mousemove"===e.type?e.screenX-t:0:(Dr=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Nr;return Nr=e.screenY,Pr?"mousemove"===e.type?e.screenY-t:0:(Pr=!0,0)}}),Rr=Ir.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Fr={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Ar={eventTypes:Fr,extractEvents:function(e,t,n,r,i){var o="mouseover"===e||"pointerover"===e,a="mouseout"===e||"pointerout"===e;if(o&&0===(32&i)&&(n.relatedTarget||n.fromElement)||!a&&!o)return null;(o=r.window===r?r:(o=r.ownerDocument)?o.defaultView||o.parentWindow:window,a)?(a=t,null!==(t=(t=n.relatedTarget||n.toElement)?Sn(t):null)&&(t!==Ze(t)||5!==t.tag&&6!==t.tag)&&(t=null)):a=null;if(a===t)return null;if("mouseout"===e||"mouseover"===e)var u=Ir,c=Fr.mouseLeave,s=Fr.mouseEnter,l="mouse";else"pointerout"!==e&&"pointerover"!==e||(u=Rr,c=Fr.pointerLeave,s=Fr.pointerEnter,l="pointer");if(e=null==a?o:Cn(a),o=null==t?o:Cn(t),(c=u.getPooled(c,a,n,r)).type=l+"leave",c.target=e,c.relatedTarget=o,(n=u.getPooled(s,t,n,r)).type=l+"enter",n.target=o,n.relatedTarget=e,l=t,(r=a)&&l)e:{for(s=l,a=0,e=u=r;e;e=Dn(e))a++;for(e=0,t=s;t;t=Dn(t))e++;for(;0<a-e;)u=Dn(u),a--;for(;0<e-a;)s=Dn(s),e--;for(;a--;){if(u===s||u===s.alternate)break e;u=Dn(u),s=Dn(s)}u=null}else u=null;for(s=u,u=[];r&&r!==s&&(null===(a=r.alternate)||a!==s);)u.push(r),r=Dn(r);for(r=[];l&&l!==s&&(null===(a=l.alternate)||a!==s);)r.push(l),l=Dn(l);for(l=0;l<u.length;l++)Fn(u[l],"bubbled",c);for(l=r.length;0<l--;)Fn(r[l],"captured",n);return 0===(64&i)?[c]:[c,n]}};var Mr="function"==
Download .txt
gitextract_wtbsn2rz/

├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       └── gradle.yml
├── .gitignore
├── .sdkmanrc
├── LICENSE
├── Makefile
├── NOTICE
├── README.md
├── build.gradle.kts
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle.kts
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── example/
│   │   │           └── demo/
│   │   │               ├── DemoApplication.java
│   │   │               ├── config/
│   │   │               │   ├── MetricsConfig.java
│   │   │               │   └── SecurityConfig.java
│   │   │               ├── datafetchers/
│   │   │               │   ├── ArtworkUploadDataFetcher.java
│   │   │               │   ├── ReviewsDataFetcher.java
│   │   │               │   ├── SecurityExampleFetchers.java
│   │   │               │   └── ShowsDataFetcher.java
│   │   │               ├── dataloaders/
│   │   │               │   ├── ReviewsDataLoader.java
│   │   │               │   └── ReviewsDataLoaderWithContext.java
│   │   │               ├── directives/
│   │   │               │   └── UppercaseDirective.java
│   │   │               ├── instrumentation/
│   │   │               │   └── ExampleTracingInstrumentation.java
│   │   │               ├── scalars/
│   │   │               │   └── DateTimeScalar.java
│   │   │               └── services/
│   │   │                   ├── DefaultReviewsService.java
│   │   │                   ├── ReviewsService.java
│   │   │                   ├── ShowsService.java
│   │   │                   └── ShowsServiceImpl.java
│   │   └── resources/
│   │       ├── application.yml
│   │       ├── schema/
│   │       │   └── schema.graphqls
│   │       └── static/
│   │           ├── asset-manifest.json
│   │           ├── index.html
│   │           ├── precache-manifest.2241ce5fa2602c9cdc3eb026c3eb8589.js
│   │           ├── service-worker.js
│   │           └── static/
│   │               └── js/
│   │                   ├── 2.ae627b82.chunk.js
│   │                   ├── 2.ae627b82.chunk.js.LICENSE.txt
│   │                   ├── main.05accb10.chunk.js
│   │                   └── runtime-main.09b85ec0.js
│   └── test/
│       └── java/
│           └── com/
│               └── example/
│                   └── demo/
│                       ├── ArtworkUploadDataFetcherTest.java
│                       ├── ReviewSubscriptionIntegrationTest.java
│                       ├── ReviewSubscriptionTest.java
│                       ├── SecurityExampleFetchersTest.java
│                       └── ShowsDataFetcherTest.java
└── ui-example/
    ├── package.json
    ├── public/
    │   └── index.html
    ├── src/
    │   ├── index.tsx
    │   └── react-app-env.d.ts
    └── tsconfig.json
Download .txt
SYMBOL INDEX (660 symbols across 25 files)

FILE: src/main/java/com/example/demo/DemoApplication.java
  class DemoApplication (line 6) | @SpringBootApplication
    method main (line 9) | public static void main(String[] args) {

FILE: src/main/java/com/example/demo/config/MetricsConfig.java
  class MetricsConfig (line 11) | @Configuration
    method loggingMeterRegistry (line 14) | @Bean

FILE: src/main/java/com/example/demo/config/SecurityConfig.java
  class SecurityConfig (line 16) | @Configuration
    method springWebFilterChain (line 21) | @Bean
    method userDetailsService (line 32) | @Bean

FILE: src/main/java/com/example/demo/datafetchers/ArtworkUploadDataFetcher.java
  class ArtworkUploadDataFetcher (line 18) | @DgsComponent
    method addArtwork (line 20) | @DgsMutation

FILE: src/main/java/com/example/demo/datafetchers/ReviewsDataFetcher.java
  class ReviewsDataFetcher (line 27) | @DgsComponent
    method ReviewsDataFetcher (line 32) | public ReviewsDataFetcher(DefaultReviewsService reviewsService) {
    method reviews (line 43) | @DgsData(parentType = DgsConstants.SHOW.TYPE_NAME, field = DgsConstant...
    method addReview (line 55) | @DgsMutation
    method addReviews (line 64) | @DgsMutation
    method reviewAdded (line 74) | @DgsSubscription

FILE: src/main/java/com/example/demo/datafetchers/SecurityExampleFetchers.java
  class SecurityExampleFetchers (line 7) | @DgsComponent
    method secureNone (line 10) | @DgsQuery
    method secureUser (line 15) | @DgsQuery
    method secureAdmin (line 21) | @DgsQuery

FILE: src/main/java/com/example/demo/datafetchers/ShowsDataFetcher.java
  class ShowsDataFetcher (line 12) | @DgsComponent
    method ShowsDataFetcher (line 16) | public ShowsDataFetcher(ShowsService showsService) {
    method shows (line 24) | @DgsQuery

FILE: src/main/java/com/example/demo/dataloaders/ReviewsDataLoader.java
  class ReviewsDataLoader (line 15) | @DgsDataLoader(name = "reviews")
    method ReviewsDataLoader (line 19) | public ReviewsDataLoader(DefaultReviewsService reviewsService) {
    method load (line 27) | @Override

FILE: src/main/java/com/example/demo/dataloaders/ReviewsDataLoaderWithContext.java
  class ReviewsDataLoaderWithContext (line 18) | @DgsDataLoader(name = "reviewsWithContext")
    method ReviewsDataLoaderWithContext (line 22) | @Autowired
    method load (line 27) | @Override

FILE: src/main/java/com/example/demo/directives/UppercaseDirective.java
  class UppercaseDirective (line 11) | @DgsDirective(name = "uppercase")
    method onField (line 14) | @Override

FILE: src/main/java/com/example/demo/instrumentation/ExampleTracingInstrumentation.java
  class ExampleTracingInstrumentation (line 23) | @Component
    method createState (line 27) | @Override
    method beginExecution (line 32) | @Override
    method instrumentDataFetcher (line 39) | @Override
    method instrumentExecutionResult (line 63) | @Override
    method findDatafetcherTag (line 72) | private String findDatafetcherTag(InstrumentationFieldFetchParameters ...
    class TracingState (line 84) | static class TracingState implements InstrumentationState {

FILE: src/main/java/com/example/demo/scalars/DateTimeScalar.java
  class DateTimeScalar (line 12) | @DgsComponent
    method addScalar (line 15) | @DgsRuntimeWiring

FILE: src/main/java/com/example/demo/services/DefaultReviewsService.java
  class DefaultReviewsService (line 32) | @Service
    method DefaultReviewsService (line 41) | public DefaultReviewsService(ShowsService showsService) {
    method createReviews (line 45) | @PostConstruct
    method reviewsForShow (line 71) | public List<Review> reviewsForShow(Integer showId) {
    method reviewsForShows (line 79) | public Map<Integer, List<Review>> reviewsForShows(List<Integer> showId...
    method saveReview (line 88) | public void saveReview(SubmittedReview reviewInput) {
    method saveReviews (line 101) | public void saveReviews(List<SubmittedReview> reviewsInput) {
    method getReviewsPublisher (line 116) | public Publisher<Review> getReviewsPublisher() {

FILE: src/main/java/com/example/demo/services/ReviewsService.java
  type ReviewsService (line 3) | public interface ReviewsService {

FILE: src/main/java/com/example/demo/services/ShowsService.java
  type ShowsService (line 8) | public interface ShowsService {
    method shows (line 9) | List<Show> shows();

FILE: src/main/java/com/example/demo/services/ShowsServiceImpl.java
  class ShowsServiceImpl (line 9) | @Service
    method shows (line 11) | @Override

FILE: src/main/resources/static/static/js/2.ae627b82.chunk.js
  function i (line 2) | function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("...
  function a (line 2) | function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty....
  function u (line 2) | function u(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a...
  function c (line 2) | function c(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i...
  function s (line 2) | function s(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<...
  function t (line 2) | function t(n){void 0===n&&(n="Invariant Violation");var r=e.call(this,"n...
  function n (line 2) | function n(){this.constructor=e}
  function u (line 2) | function u(e,t){if(!e)throw new a(t)}
  function l (line 2) | function l(e){return function(){if(c.indexOf(e)>=s){var t=console[e]||co...
  function s (line 2) | function s(e,t){var n=e.__typename,r=e.id,i=e._id;if("string"===typeof n...
  function f (line 2) | function f(e){return Object(r.a)(l,e)}
  function p (line 2) | function p(e){var t=e.canonizeResults;return void 0===t?l.canonizeResult...
  function d (line 2) | function d(e,t){return Object(i.g)(t)?e.get(t.__ref,"__typename"):t&&t._...
  function v (line 2) | function v(e){var t=e.match(h);return t?t[0]:e}
  function y (line 2) | function y(e,t,n){return!!Object(o.a)(t)&&(g(t)?t.every((function(t){ret...
  function b (line 2) | function b(e){return Object(o.a)(e)&&!Object(i.g)(e)&&!g(e)}
  function m (line 2) | function m(){return new u.a}
  function i (line 2) | function i(e){return!!e&&e<7}
  function c (line 2) | function c(e,t){try{return function e(t,n){if(t===n)return!0;var r=i.cal...
  function s (line 2) | function s(e){return Object.keys(e).filter(l,e)}
  function l (line 2) | function l(e){return void 0!==this[e]}
  function p (line 2) | function p(e,t){var n=u.get(e);if(n){if(n.has(t))return!0}else u.set(e,n...
  function r (line 2) | function r(e){return null!==e&&"object"===typeof e}
  function a (line 2) | function a(e){return{__ref:String(e)}}
  function u (line 2) | function u(e){return Boolean(e&&"object"===typeof e&&"string"===typeof e...
  function c (line 2) | function c(e){return Object(i.a)(e)&&"Document"===e.kind&&Array.isArray(...
  function s (line 2) | function s(e,t,n,i){if(function(e){return"IntValue"===e.kind}(n)||functi...
  function l (line 2) | function l(e,t){var n=null;e.directives&&(n={},e.directives.forEach((fun...
  function h (line 2) | function h(e,t){return Object(i.a)(t)&&!Array.isArray(t)&&(t=Object.keys...
  function v (line 2) | function v(e,t){if(e.arguments&&e.arguments.length){var n={};return e.ar...
  function y (line 2) | function y(e){return e.alias?e.alias.value:e.name.value}
  function b (line 2) | function b(e,t,n){if("string"===typeof e.__typename)return e.__typename;...
  function m (line 2) | function m(e){return"Field"===e.kind}
  function g (line 2) | function g(e){return"InlineFragment"===e.kind}
  function e (line 2) | function e(){this.known=new(a.d?WeakSet:Set),this.pool=new i.a(a.c),this...
  function p (line 2) | function p(){c=new l,s=new(a.c?WeakMap:Map)}
  function o (line 2) | function o(e){return e.hasOwnProperty("graphQLErrors")}
  function t (line 2) | function t(n){var r=n.graphQLErrors,o=n.clientErrors,a=n.networkError,u=...
  function e (line 2) | function e(e,t){void 0===e&&(e=!0),void 0===t&&(t=r),this.weakness=e,thi...
  function o (line 2) | function o(){}
  function e (line 2) | function e(e,t){void 0===e&&(e=1/0),void 0===t&&(t=o),this.max=e,this.di...
  function f (line 2) | function f(e){var t=e.unsubscribe;"function"===typeof t&&(e.unsubscribe=...
  function d (line 2) | function d(e,t){if(!e)throw new Error(t||"assertion failure")}
  function h (line 2) | function h(e){switch(e.length){case 0:throw new Error("unknown value");c...
  function e (line 2) | function e(t){this.fn=t,this.parents=new Set,this.childValues=new Map,th...
  function y (line 2) | function y(e){var t=c.getValue();if(t)return e.parents.add(t),t.childVal...
  function b (line 2) | function b(e,t){e.recomputing=!0,e.value.length=0;try{e.value[0]=e.fn.ap...
  function m (line 2) | function m(e){return e.dirty||!(!e.dirtyChildren||!e.dirtyChildren.size)}
  function g (line 2) | function g(e){O(e,E)}
  function w (line 2) | function w(e){O(e,k)}
  function O (line 2) | function O(e,t){var n=e.parents.size;if(n)for(var r=l(e.parents),i=0;i<n...
  function E (line 2) | function E(e,t){d(e.childValues.has(t)),d(m(t));var n=!m(e);if(e.dirtyCh...
  function k (line 2) | function k(e,t){d(e.childValues.has(t)),d(!m(t));var n=e.childValues.get...
  function _ (line 2) | function _(e,t){var n=e.dirtyChildren;n&&(n.delete(t),0===n.size&&(p.len...
  function x (line 2) | function x(e){e.childValues.size>0&&e.childValues.forEach((function(t,n)...
  function T (line 2) | function T(e,t){t.parents.delete(e),e.childValues.delete(t),_(e,t)}
  function j (line 2) | function j(e){var t=new Map,n=e&&e.subscribe;function r(e){var r=c.getVa...
  function C (line 2) | function C(){var e=new r.a("function"===typeof WeakMap);return function(...
  function D (line 2) | function D(e,t){void 0===t&&(t=Object.create(null));var n=new u(t.max||M...
  function r (line 2) | function r(e){try{return e()}catch(t){}}
  function e (line 2) | function e(){this.id=["slot",o++,Date.now(),Math.random().toString(36).s...
  function a (line 2) | function a(e){var t=o.get(e);return t||o.set(e,t={vars:new Set,dep:Objec...
  function u (line 2) | function u(e){a(e).vars.forEach((function(t){return t.forgetCache(e)}))}
  function c (line 2) | function c(e){a(e).vars.forEach((function(t){return t.attachCache(e)}))}
  function s (line 2) | function s(e){var t=new Set,n=new Set,r=function r(u){if(arguments.lengt...
  function l (line 2) | function l(e){e.broadcastWatches&&e.broadcastWatches()}
  function o (line 2) | function o(e){__DEV__?Object(r.b)(e&&"Document"===e.kind,'Expecting a pa...
  function a (line 2) | function a(e){return o(e),e.definitions.filter((function(e){return"Opera...
  function u (line 2) | function u(e){return e.definitions.filter((function(e){return"OperationD...
  function c (line 2) | function c(e){return e.definitions.filter((function(e){return"FragmentDe...
  function s (line 2) | function s(e){var t=a(e);return __DEV__?Object(r.b)(t&&"query"===t.opera...
  function l (line 2) | function l(e){__DEV__?Object(r.b)("Document"===e.kind,'Expecting a parse...
  function f (line 2) | function f(e){var t;o(e);for(var n=0,i=e.definitions;n<i.length;n++){var...
  function p (line 2) | function p(e){var t=Object.create(null),n=e&&e.variableDefinitions;retur...
  function a (line 2) | function a(e){var t;switch(e){case r.Query:t="Query";break;case r.Mutati...
  function u (line 2) | function u(e,t){var n=function(e){var t,n,a=o.get(e);if(a)return a;__DEV...
  function r (line 2) | function r(e,t){if(!Boolean(e))throw new Error(t)}
  function u (line 2) | function u(e,t){return t?t(e):o.a.of()}
  function c (line 2) | function c(e){return"function"===typeof e?new f(e):e}
  function s (line 2) | function s(e){return e.request.length<=1}
  function t (line 2) | function t(t,n){var r=e.call(this,t)||this;return r.link=n,r}
  function e (line 2) | function e(e){e&&(this.request=e)}
  function i (line 2) | function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Sym...
  function o (line 2) | function o(e){return a(e,[])}
  function a (line 2) | function a(e,t){switch(i(e)){case"string":return JSON.stringify(e);case"...
  function r (line 2) | function r(e){var t=e.split(/\r\n|[\n\r]/g),n=function(e){for(var t=null...
  function i (line 2) | function i(e){for(var t=0;t<e.length&&(" "===e[t]||"\t"===e[t]);)t++;ret...
  function o (line 2) | function o(e){return i(e)===e.length}
  function a (line 2) | function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[...
  function o (line 2) | function o(e,t){var n=t,o=[];return e.definitions.forEach((function(e){i...
  function a (line 2) | function a(e){void 0===e&&(e=[]);var t={};return e.forEach((function(e){...
  function u (line 2) | function u(e,t){switch(e.kind){case"InlineFragment":return e;case"Fragme...
  function a (line 2) | function a(e){var t=Object(i.useContext)(Object(o.a)()),n=e||t.client;re...
  function r (line 2) | function r(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProp...
  function a (line 2) | function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?argument...
  function u (line 2) | function u(e){return Boolean(e&&"string"===typeof e.kind)}
  function c (line 2) | function c(e,t,n){var r=e[t];if(r){if(!n&&"function"===typeof r)return r...
  function i (line 2) | function i(e){try{return e()}catch(t){}}
  function u (line 2) | function u(){a&&(delete o.process,a=!1)}
  function r (line 2) | function r(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];v...
  function o (line 2) | function o(){var e=r.createContext[i];return e||(Object.defineProperty(r...
  function h (line 2) | function h(e,t){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments...
  function v (line 2) | function v(e){if(e){var t=Object.create(null);return Object.keys(Object(...
  function y (line 2) | function y(e){return new u.a((function(t){t.error(e)}))}
  function a (line 2) | function a(e){if(null===e||void 0===e)throw new TypeError("Object.assign...
  function n (line 2) | function n(e){return null===e?"null":Array.isArray(e)?"array":typeof e}
  function u (line 2) | function u(e){return"object"===n(e)}
  function c (line 2) | function c(e,t){return e.length<124?e:t}
  function f (line 2) | function f(e){if(!u(e))throw new Error("Message is expected to be an obj...
  function p (line 2) | function p(e,t){try{return f(e)}catch(n){if("string"!==typeof e)throw ne...
  function d (line 2) | function d(e,t){return f(e),JSON.stringify(e,t)}
  function h (line 2) | function h(e){return u(e)&&"code"in e&&"reason"in e}
  method emit (line 2) | emit(t){var n;"id"in t&&(null===(n=e[t.id])||void 0===n||n.call(e,t))}
  method on (line 2) | on(e,n){var r=t[e];return r.push(n),function(){r.splice(r.indexOf(n),1)}}
  method emit (line 2) | emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[...
  function Q (line 2) | function Q(e){var t=[q.on("error",(function(n){t.forEach((function(e){re...
  function H (line 2) | function H(){return G.apply(this,arguments)}
  function G (line 2) | function G(){return(G=a(o.mark((function e(){var n,i,u,s,v,y;return o.wr...
  function Y (line 2) | function Y(e){if(h(e)&&(n=e.code,![1e3,1001,1006,1005,1012,1013,1013].in...
  method subscribe (line 2) | subscribe(e,n){var i=A(),u=!1,c=!1,s=function(){U--,u=!0};return a(o.mar...
  method terminate (line 2) | terminate(){z&&q.emit("closed",{code:4499,reason:"Terminated",wasClean:!...
  function t (line 2) | function t(t){var n=e.call(this)||this;return n.client=t,n}
  function i (line 2) | function i(e){var t=r.get(e)||1;return r.set(e,t+1),"".concat(e,":").con...
  function r (line 2) | function r(e){return Array.isArray(e)&&e.length>0}
  function u (line 2) | function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[...
  function c (line 2) | function c(e){return(c="function"===typeof Symbol&&"symbol"===typeof Sym...
  function s (line 2) | function s(e,t){for(var n,r=/\r\n|[\n\r]/g,i=1,o=t+1;(n=r.exec(e.body))&...
  function l (line 2) | function l(e){return f(e.source,s(e.source,e.start))}
  function f (line 2) | function f(e,t){var n=e.locationOffset.column-1,r=d(n)+e.body,i=t.line-1...
  function p (line 2) | function p(e){var t=e.filter((function(e){e[0];return void 0!==e[1]})),n...
  function d (line 2) | function d(e){return Array(e+1).join(" ")}
  function h (line 2) | function h(e,t,n,r,i,o,a){var u=Array.isArray(t)?0!==t.length?t:void 0:t...
  function v (line 2) | function v(e,t,n){return new h("Syntax Error: ".concat(n),void 0,e,[t])}
  function w (line 2) | function w(){return this.lastToken=this.token,this.token=this.lookahead()}
  function O (line 2) | function O(){var e=this.token;if(e.kind!==g.EOF)do{e=e.next||(e.next=_(t...
  function E (line 2) | function E(e,t,n,r,i,o,a){this.kind=e,this.start=t,this.end=n,this.line=...
  function k (line 2) | function k(e){return isNaN(e)?g.EOF:e<127?JSON.stringify(String.fromChar...
  function _ (line 2) | function _(e,t){var n=e.source,r=n.body,i=r.length,o=function(e,t,n){var...
  function x (line 2) | function x(e,t,n){var r=e.body,i=t,o=n;if(o>=48&&o<=57){do{o=r.charCodeA...
  function T (line 2) | function T(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e...
  function e (line 2) | function e(e,t){var n="string"===typeof e?new b.a(e):e;n instanceof b.a|...
  function C (line 2) | function C(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,th...
  function N (line 2) | function N(e){var t=e.value;return t?"".concat(e.kind,' "').concat(t,'"'...
  function F (line 2) | function F(e){return e.replace(/[\s,]+/g," ").trim()}
  function A (line 2) | function A(e){var t=new Set,n=[];return e.definitions.forEach((function(...
  function M (line 2) | function M(e){var t=F(e);if(!D.has(t)){var n=function(e,t){return new j(...
  function L (line 2) | function L(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n...
  function b (line 2) | function b(e){for(var t="https://reactjs.org/docs/error-decoder.html?inv...
  function w (line 2) | function w(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n...
  function O (line 2) | function O(){}
  function E (line 2) | function E(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n...
  function S (line 2) | function S(e,t,n){var r,i={},a=null,u=null;if(null!=t)for(r in void 0!==...
  function j (line 2) | function j(e){return"object"===typeof e&&null!==e&&e.$$typeof===o}
  function D (line 2) | function D(e,t,n,r){if(N.length){var i=N.pop();return i.result=e,i.keyPr...
  function P (line 2) | function P(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,...
  function I (line 2) | function I(e,t,n){return null==e?0:function e(t,n,r,i){var u=typeof t;"u...
  function R (line 2) | function R(e,t){return"object"===typeof e&&null!==e&&null!=e.key?functio...
  function F (line 2) | function F(e,t){e.func.call(e.context,t,e.count++)}
  function A (line 2) | function A(e,t,n){var r=e.result,i=e.keyPrefix;e=e.func.call(e.context,t...
  function M (line 2) | function M(e,t,n,r,i){var o="";null!=n&&(o=(""+n).replace(C,"$&/")+"/"),...
  function V (line 2) | function V(){var e=L.current;if(null===e)throw Error(b(321));return e}
  function a (line 2) | function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?inv...
  function u (line 2) | function u(e,t,n,r,i,o,a,u,c){var s=Array.prototype.slice.call(arguments...
  function d (line 2) | function d(e,t,n,r,i,o,a,l,f){c=!1,s=null,u.apply(p,arguments)}
  function b (line 2) | function b(e,t,n){var r=e.type||"unknown-event";e.currentTarget=y(n),fun...
  function w (line 2) | function w(){if(m)for(var e in g){var t=g[e],n=m.indexOf(e);if(!(-1<n))t...
  function O (line 2) | function O(e,t,n){if(_[e])throw Error(a(100,e));_[e]=t,x[e]=t.eventTypes...
  function T (line 2) | function T(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];i...
  function D (line 2) | function D(e){if(e=v(e)){if("function"!==typeof j)throw Error(a(280));va...
  function P (line 2) | function P(e){C?N?N.push(e):N=[e]:C=e}
  function I (line 2) | function I(){if(C){var e=C,t=N;if(N=C=null,D(e),t)for(e=0;e<t.length;e++...
  function R (line 2) | function R(e,t){return e(t)}
  function F (line 2) | function F(e,t,n,r,i){return e(t,n,r,i)}
  function A (line 2) | function A(){}
  function q (line 2) | function q(){null===C&&null===N||(A(),I())}
  function Q (line 2) | function Q(e,t,n){if(V)return e(t,n);V=!0;try{return M(e,t,n)}finally{V=...
  function K (line 2) | function K(e,t,n,r,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.at...
  function Y (line 2) | function Y(e){return e[1].toUpperCase()}
  function J (line 2) | function J(e,t,n,r){var i=H.hasOwnProperty(t)?H[t]:null;(null!==i?0===i....
  function ve (line 2) | function ve(e){return null===e||"object"!==typeof e?null:"function"===ty...
  function ye (line 2) | function ye(e){if(null==e)return null;if("function"===typeof e)return e....
  function be (line 2) | function be(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:c...
  function me (line 2) | function me(e){switch(typeof e){case"boolean":case"number":case"object":...
  function ge (line 2) | function ge(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCas...
  function we (line 2) | function we(e){e._valueTracker||(e._valueTracker=function(e){var t=ge(e)...
  function Oe (line 2) | function Oe(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n...
  function Ee (line 2) | function Ee(e,t){var n=t.checked;return i({},t,{defaultChecked:void 0,de...
  function ke (line 2) | function ke(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t....
  function _e (line 2) | function _e(e,t){null!=(t=t.checked)&&J(e,"checked",t,!1)}
  function xe (line 2) | function xe(e,t){_e(e,t);var n=me(t.value),r=t.type;if(null!=n)"number"=...
  function Te (line 2) | function Te(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defau...
  function Se (line 2) | function Se(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(nul...
  function je (line 2) | function je(e,t){return e=i({children:void 0},t),(t=function(e){var t=""...
  function Ce (line 2) | function Ce(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t...
  function Ne (line 2) | function Ne(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));r...
  function De (line 2) | function De(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultVa...
  function Pe (line 2) | function Pe(e,t){var n=me(t.value),r=me(t.defaultValue);null!=n&&((n=""+...
  function Ie (line 2) | function Ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!...
  function Ae (line 2) | function Ae(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";ca...
  function Me (line 2) | function Me(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Ae(t...
  function qe (line 2) | function qe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.n...
  function Qe (line 2) | function Qe(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["W...
  function We (line 2) | function We(e){if(Ue[e])return Ue[e];if(!ze[e])return e;var t,n=ze[e];fo...
  function Xe (line 2) | function Xe(e){var t=Je.get(e);return void 0===t&&(t=new Map,Je.set(e,t)...
  function Ze (line 2) | function Ze(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else...
  function et (line 2) | function et(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!=...
  function tt (line 2) | function tt(e){if(Ze(e)!==e)throw Error(a(188))}
  function nt (line 2) | function nt(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=...
  function rt (line 2) | function rt(e,t){if(null==t)throw Error(a(30));return null==e?t:Array.is...
  function it (line 2) | function it(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}
  function at (line 2) | function at(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;i...
  function ut (line 2) | function ut(e){if(null!==e&&(ot=rt(ot,e)),e=ot,ot=null,e){if(it(e,at),ot...
  function ct (line 2) | function ct(e){return(e=e.target||e.srcElement||window).correspondingUse...
  function st (line 2) | function st(e){if(!S)return!1;var t=(e="on"+e)in document;return t||((t=...
  function ft (line 2) | function ft(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,...
  function pt (line 2) | function pt(e,t,n,r){if(lt.length){var i=lt.pop();return i.topLevelType=...
  function dt (line 2) | function dt(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);brea...
  function ht (line 2) | function ht(e,t,n){if(!n.has(e)){switch(e){case"scroll":Gt(t,"scroll",!0...
  function jt (line 2) | function jt(e,t,n,r,i){return{blockedOn:e,topLevelType:t,eventSystemFlag...
  function Ct (line 2) | function Ct(e,t){switch(e){case"focus":case"blur":wt=null;break;case"dra...
  function Nt (line 2) | function Nt(e,t,n,r,i,o){return null===e||e.nativeEvent!==o?(e=jt(t,n,r,...
  function Dt (line 2) | function Dt(e){var t=Sn(e.target);if(null!==t){var n=Ze(t);if(null!==n)i...
  function Pt (line 2) | function Pt(e){if(null!==e.blockedOn)return!1;var t=Xt(e.topLevelType,e....
  function It (line 2) | function It(e,t,n){Pt(e)&&n.delete(t)}
  function Rt (line 2) | function Rt(){for(mt=!1;0<gt.length;){var e=gt[0];if(null!==e.blockedOn)...
  function Ft (line 2) | function Ft(e,t){e.blockedOn===t&&(e.blockedOn=null,mt||(mt=!0,o.unstabl...
  function At (line 2) | function At(e){function t(t){return Ft(t,e)}if(0<gt.length){Ft(gt[0],e);...
  function Qt (line 2) | function Qt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1],o="on"...
  function Ht (line 2) | function Ht(e,t){Gt(t,e,!1)}
  function Gt (line 2) | function Gt(e,t,n){var r=Vt.get(t);switch(void 0===r?2:r){case 0:r=Yt.bi...
  function Yt (line 2) | function Yt(e,t,n,r){L||A();var i=Jt,o=L;L=!0;try{F(i,e,t,n,r)}finally{(...
  function $t (line 2) | function $t(e,t,n,r){Wt(Bt,Jt.bind(null,e,t,n,r))}
  function Jt (line 2) | function Jt(e,t,n,r){if(Kt)if(0<gt.length&&-1<Tt.indexOf(e))e=jt(null,e,...
  function Xt (line 2) | function Xt(e,t,n,r){if(null!==(n=Sn(n=ct(r)))){var i=Ze(n);if(null===i)...
  function tn (line 2) | function tn(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"n...
  function nn (line 2) | function nn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=...
  function on (line 2) | function on(e,t){if(t){if(rn[e]&&(null!=t.children||null!=t.dangerouslyS...
  function an (line 2) | function an(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;swi...
  function cn (line 2) | function cn(e,t){var n=Xe(e=9===e.nodeType||11===e.nodeType?e:e.ownerDoc...
  function sn (line 2) | function sn(){}
  function ln (line 2) | function ln(e){if("undefined"===typeof(e=e||("undefined"!==typeof docume...
  function fn (line 2) | function fn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}
  function pn (line 2) | function pn(e,t){var n,r=fn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.t...
  function dn (line 2) | function dn(){for(var e=window,t=ln();t instanceof e.HTMLIFrameElement;)...
  function hn (line 2) | function hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(...
  function bn (line 2) | function bn(e,t){switch(e){case"button":case"input":case"select":case"te...
  function mn (line 2) | function mn(e,t){return"textarea"===e||"option"===e||"noscript"===e||"st...
  function On (line 2) | function On(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||...
  function En (line 2) | function En(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){va...
  function Sn (line 2) | function Sn(e){var t=e[_n];if(t)return t;for(var n=e.parentNode;n;){if(t...
  function jn (line 2) | function jn(e){return!(e=e[_n]||e[Tn])||5!==e.tag&&6!==e.tag&&13!==e.tag...
  function Cn (line 2) | function Cn(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(...
  function Nn (line 2) | function Nn(e){return e[xn]||null}
  function Dn (line 2) | function Dn(e){do{e=e.return}while(e&&5!==e.tag);return e||null}
  function Pn (line 2) | function Pn(e,t){var n=e.stateNode;if(!n)return null;var r=h(n);if(!r)re...
  function In (line 2) | function In(e,t,n){(t=Pn(e,n.dispatchConfig.phasedRegistrationNames[t]))...
  function Rn (line 2) | function Rn(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t...
  function Fn (line 2) | function Fn(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=Pn(e,n.di...
  function An (line 2) | function An(e){e&&e.dispatchConfig.registrationName&&Fn(e._targetInst,nu...
  function Mn (line 2) | function Mn(e){it(e,Rn)}
  function Qn (line 2) | function Qn(){if(qn)return qn;var e,t,n=Vn,r=n.length,i="value"in Ln?Ln....
  function zn (line 2) | function zn(){return!0}
  function Un (line 2) | function Un(){return!1}
  function Bn (line 2) | function Bn(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst...
  function Wn (line 2) | function Wn(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop(...
  function Kn (line 2) | function Kn(e){if(!(e instanceof this))throw Error(a(279));e.destructor(...
  function Hn (line 2) | function Hn(e){e.eventPool=[],e.getPooled=Wn,e.release=Kn}
  function t (line 2) | function t(){}
  function n (line 2) | function n(){return r.apply(this,arguments)}
  function ir (line 2) | function ir(e,t){switch(e){case"keyup":return-1!==$n.indexOf(t.keyCode);...
  function or (line 2) | function or(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}
  function sr (line 2) | function sr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"inpu...
  function fr (line 2) | function fr(e,t,n){return(e=Bn.getPooled(lr.change,e,t,n)).type="change"...
  function hr (line 2) | function hr(e){ut(e)}
  function vr (line 2) | function vr(e){if(Oe(Cn(e)))return e}
  function yr (line 2) | function yr(e,t){if("change"===e)return t}
  function mr (line 2) | function mr(){pr&&(pr.detachEvent("onpropertychange",gr),dr=pr=null)}
  function gr (line 2) | function gr(e){if("value"===e.propertyName&&vr(dr))if(e=fr(dr,e,ct(e)),L...
  function wr (line 2) | function wr(e,t,n){"focus"===e?(mr(),dr=n,(pr=t).attachEvent("onproperty...
  function Or (line 2) | function Or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)retu...
  function Er (line 2) | function Er(e,t){if("click"===e)return vr(t)}
  function kr (line 2) | function kr(e,t){if("input"===e||"change"===e)return vr(t)}
  function Sr (line 2) | function Sr(e){var t=this.nativeEvent;return t.getModifierState?t.getMod...
  function jr (line 2) | function jr(){return Sr}
  function Vr (line 2) | function Vr(e,t){if(Mr(e,t))return!0;if("object"!==typeof e||null===e||"...
  function Kr (line 2) | function Kr(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerD...
  function Jr (line 2) | function Jr(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&...
  function ci (line 2) | function ci(e){0>ui||(e.current=ai[ui],ai[ui]=null,ui--)}
  function si (line 2) | function si(e,t){ui++,ai[ui]=e.current,e.current=t}
  function hi (line 2) | function hi(e,t){var n=e.type.contextTypes;if(!n)return li;var r=e.state...
  function vi (line 2) | function vi(e){return null!==(e=e.childContextTypes)&&void 0!==e}
  function yi (line 2) | function yi(){ci(pi),ci(fi)}
  function bi (line 2) | function bi(e,t,n){if(fi.current!==li)throw Error(a(168));si(fi,t),si(pi...
  function mi (line 2) | function mi(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"...
  function gi (line 2) | function gi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMerged...
  function wi (line 2) | function wi(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=mi(e...
  function qi (line 2) | function qi(){switch(Ti()){case Si:return 99;case ji:return 98;case Ci:r...
  function Qi (line 2) | function Qi(e){switch(e){case 99:return Si;case 98:return ji;case 97:ret...
  function zi (line 2) | function zi(e,t){return e=Qi(e),Oi(e,t)}
  function Ui (line 2) | function Ui(e,t,n){return e=Qi(e),Ei(e,t,n)}
  function Bi (line 2) | function Bi(e){return null===Fi?(Fi=[e],Ai=Ei(Si,Ki)):Fi.push(e),Pi}
  function Wi (line 2) | function Wi(){if(null!==Ai){var e=Ai;Ai=null,ki(e)}Ki()}
  function Ki (line 2) | function Ki(){if(!Mi&&null!==Fi){Mi=!0;var e=0;try{var t=Fi;zi(99,(funct...
  function Hi (line 2) | function Hi(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n}
  function Gi (line 2) | function Gi(e,t){if(e&&e.defaultProps)for(var n in t=i({},t),e=e.default...
  function Zi (line 2) | function Zi(){Xi=Ji=$i=null}
  function eo (line 2) | function eo(e){var t=Yi.current;ci(Yi),e.type._context._currentValue=t}
  function to (line 2) | function to(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationT...
  function no (line 2) | function no(e,t){$i=e,Xi=Ji=null,null!==(e=e.dependencies)&&null!==e.fir...
  function ro (line 2) | function ro(e,t){if(Xi!==e&&!1!==t&&0!==t)if("number"===typeof t&&107374...
  function oo (line 2) | function oo(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,s...
  function ao (line 2) | function ao(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={base...
  function uo (line 2) | function uo(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,paylo...
  function co (line 2) | function co(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending...
  function so (line 2) | function so(e,t){var n=e.alternate;null!==n&&ao(n,e),null===(n=(e=e.upda...
  function lo (line 2) | function lo(e,t,n,r){var o=e.updateQueue;io=!1;var a=o.baseQueue,u=o.sha...
  function fo (line 2) | function fo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.le...
  function vo (line 2) | function vo(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:i...
  function bo (line 2) | function bo(e,t,n,r,i,o,a){return"function"===typeof(e=e.stateNode).shou...
  function mo (line 2) | function mo(e,t,n){var r=!1,i=li,o=t.contextType;return"object"===typeof...
  function go (line 2) | function go(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiv...
  function wo (line 2) | function wo(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState...
  function Eo (line 2) | function Eo(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!...
  function ko (line 2) | function ko(e,t){if("textarea"!==e.type)throw Error(a(31,"[object Object...
  function _o (line 2) | function _o(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.next...
  function Do (line 2) | function Do(e){if(e===So)throw Error(a(174));return e}
  function Po (line 2) | function Po(e,t){switch(si(No,t),si(Co,e),si(jo,So),e=t.nodeType){case 9...
  function Io (line 2) | function Io(){ci(jo),ci(Co),ci(No)}
  function Ro (line 2) | function Ro(e){Do(No.current);var t=Do(jo.current),n=Me(t,e.type);t!==n&...
  function Fo (line 2) | function Fo(e){Co.current===e&&(ci(jo),ci(Co))}
  function Mo (line 2) | function Mo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedSta...
  function Lo (line 2) | function Lo(e,t){return{responder:e,props:t}}
  function Ko (line 2) | function Ko(){throw Error(a(321))}
  function Ho (line 2) | function Ho(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length...
  function Go (line 2) | function Go(e,t,n,r,i,o){if(Qo=o,zo=t,t.memoizedState=null,t.updateQueue...
  function Yo (line 2) | function Yo(){var e={memoizedState:null,baseState:null,baseQueue:null,qu...
  function $o (line 2) | function $o(){if(null===Uo){var e=zo.alternate;e=null!==e?e.memoizedStat...
  function Jo (line 2) | function Jo(e,t){return"function"===typeof t?t(e):t}
  function Xo (line 2) | function Xo(e){var t=$o(),n=t.queue;if(null===n)throw Error(a(311));n.la...
  function Zo (line 2) | function Zo(e){var t=$o(),n=t.queue;if(null===n)throw Error(a(311));n.la...
  function ea (line 2) | function ea(e){var t=Yo();return"function"===typeof e&&(e=e()),t.memoize...
  function ta (line 2) | function ta(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null...
  function na (line 2) | function na(){return $o().memoizedState}
  function ra (line 2) | function ra(e,t,n,r){var i=Yo();zo.effectTag|=e,i.memoizedState=ta(1|t,n...
  function ia (line 2) | function ia(e,t,n,r){var i=$o();r=void 0===r?null:r;var o=void 0;if(null...
  function oa (line 2) | function oa(e,t){return ra(516,4,e,t)}
  function aa (line 2) | function aa(e,t){return ia(516,4,e,t)}
  function ua (line 2) | function ua(e,t){return ia(4,2,e,t)}
  function ca (line 2) | function ca(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(nu...
  function sa (line 2) | function sa(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,ia(4...
  function la (line 2) | function la(){}
  function fa (line 2) | function fa(e,t){return Yo().memoizedState=[e,void 0===t?null:t],e}
  function pa (line 2) | function pa(e,t){var n=$o();t=void 0===t?null:t;var r=n.memoizedState;re...
  function da (line 2) | function da(e,t){var n=$o();t=void 0===t?null:t;var r=n.memoizedState;re...
  function ha (line 2) | function ha(e,t,n){var r=qi();zi(98>r?98:r,(function(){e(!0)})),zi(97<r?...
  function va (line 2) | function va(e,t,n){var r=Ku(),i=po.suspense;i={expirationTime:r=Hu(r,e,i...
  function ka (line 2) | function ka(e,t){var n=_c(5,null,null,0);n.elementType="DELETED",n.type=...
  function _a (line 2) | function _a(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==...
  function xa (line 2) | function xa(e){if(Ea){var t=Oa;if(t){var n=t;if(!_a(e,t)){if(!(t=On(n.ne...
  function Ta (line 2) | function Ta(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag...
  function Sa (line 2) | function Sa(e){if(e!==wa)return!1;if(!Ea)return Ta(e),Ea=!0,!1;var t=e.t...
  function ja (line 2) | function ja(){Oa=wa=null,Ea=!1}
  function Da (line 2) | function Da(e,t,n,r){t.child=null===e?To(t,null,n,r):xo(t,e.child,n,r)}
  function Pa (line 2) | function Pa(e,t,n,r,i){n=n.render;var o=t.ref;return no(t,i),r=Go(e,t,n,...
  function Ia (line 2) | function Ia(e,t,n,r,i,o){if(null===e){var a=n.type;return"function"!==ty...
  function Ra (line 2) | function Ra(e,t,n,r,i,o){return null!==e&&Vr(e.memoizedProps,r)&&e.ref==...
  function Fa (line 2) | function Fa(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&...
  function Aa (line 2) | function Aa(e,t,n,r,i){var o=vi(n)?di:fi.current;return o=hi(t,o),no(t,i...
  function Ma (line 2) | function Ma(e,t,n,r,i){if(vi(n)){var o=!0;gi(t)}else o=!1;if(no(t,i),nul...
  function La (line 2) | function La(e,t,n,r,i,o){Fa(e,t);var a=0!==(64&t.effectTag);if(!r&&!a)re...
  function Va (line 2) | function Va(e){var t=e.stateNode;t.pendingContext?bi(0,t.pendingContext,...
  function Ba (line 2) | function Ba(e,t,n){var r,i=t.mode,o=t.pendingProps,a=Ao.current,u=!1;if(...
  function Wa (line 2) | function Wa(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.altern...
  function Ka (line 2) | function Ka(e,t,n,r,i,o){var a=e.memoizedState;null===a?e.memoizedState=...
  function Ha (line 2) | function Ha(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(Da(e...
  function Ga (line 2) | function Ga(e,t,n){null!==e&&(t.dependencies=e.dependencies);var r=t.exp...
  function Ya (line 2) | function Ya(e,t){switch(e.tailMode){case"hidden":t=e.tail;for(var n=null...
  function $a (line 2) | function $a(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:cas...
  function Ja (line 2) | function Ja(e){switch(e.tag){case 1:vi(e.type)&&yi();var t=e.effectTag;r...
  function Xa (line 2) | function Xa(e,t){return{value:e,source:t,stack:be(t)}}
  function eu (line 2) | function eu(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=be(n)),...
  function tu (line 2) | function tu(e){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(nu...
  function nu (line 2) | function nu(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;cas...
  function ru (line 2) | function ru(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null...
  function iu (line 2) | function iu(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null...
  function ou (line 2) | function ou(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:return v...
  function au (line 2) | function au(e,t,n){switch("function"===typeof Ec&&Ec(t),t.tag){case 0:ca...
  function uu (line 2) | function uu(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedSt...
  function cu (line 2) | function cu(e){return 5===e.tag||3===e.tag||4===e.tag}
  function su (line 2) | function su(e){e:{for(var t=e.return;null!==t;){if(cu(t)){var n=t;break ...
  function lu (line 2) | function lu(e,t,n){for(var r,i,o=t,u=!1;;){if(!u){u=o.return;e:for(;;){i...
  function fu (line 2) | function fu(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:re...
  function pu (line 2) | function pu(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n...
  function hu (line 2) | function hu(e,t,n){(n=uo(n,null)).tag=3,n.payload={element:null};var r=t...
  function vu (line 2) | function vu(e,t,n){(n=uo(n,null)).tag=3;var r=e.type.getDerivedStateFrom...
  function Ku (line 2) | function Ku(){return 0!==(48&ku)?1073741821-(Vi()/10|0):0!==Wu?Wu:Wu=107...
  function Hu (line 2) | function Hu(e,t,n){if(0===(2&(t=t.mode)))return 1073741823;var r=qi();if...
  function Gu (line 2) | function Gu(e,t){if(50<Uu)throw Uu=0,Bu=null,Error(a(185));if(null!==(e=...
  function Yu (line 2) | function Yu(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.altern...
  function $u (line 2) | function $u(e){var t=e.lastExpiredTime;if(0!==t)return t;if(!Pc(e,t=e.fi...
  function Ju (line 2) | function Ju(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741...
  function Xu (line 2) | function Xu(e,t){if(Wu=0,t)return Fc(e,t=Ku()),Ju(e),null;var n=$u(e);if...
  function Zu (line 2) | function Zu(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,0!==(48&k...
  function ec (line 2) | function ec(e,t){var n=ku;ku|=1;try{return e(t)}finally{0===(ku=n)&&Wi()}}
  function tc (line 2) | function tc(e,t){var n=ku;ku&=-2,ku|=8;try{return e(t)}finally{0===(ku=n...
  function nc (line 2) | function nc(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e....
  function rc (line 2) | function rc(e,t){for(;;){try{if(Zi(),Vo.current=ya,Wo)for(var n=zo.memoi...
  function ic (line 2) | function ic(){var e=mu.current;return mu.current=ya,null===e?ya:e}
  function oc (line 2) | function oc(e,t){e<Cu&&2<e&&(Cu=e),null!==t&&e<Nu&&2<e&&(Nu=e,Du=t)}
  function ac (line 2) | function ac(e){e>Pu&&(Pu=e)}
  function uc (line 2) | function uc(){for(;null!==xu;)xu=sc(xu)}
  function cc (line 2) | function cc(){for(;null!==xu&&!Ii();)xu=sc(xu)}
  function sc (line 2) | function sc(e){var t=yu(e.alternate,e,Tu);return e.memoizedProps=e.pendi...
  function lc (line 2) | function lc(e){xu=e;do{var t=xu.alternate;if(e=xu.return,0===(2048&xu.ef...
  function fc (line 2) | function fc(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)...
  function pc (line 2) | function pc(e){var t=qi();return zi(99,dc.bind(null,e,t)),null}
  function dc (line 2) | function dc(e,t){do{vc()}while(null!==qu);if(0!==(48&ku))throw Error(a(3...
  function hc (line 2) | function hc(){for(;null!==Fu;){var e=Fu.effectTag;0!==(256&e)&&nu(Fu.alt...
  function vc (line 2) | function vc(){if(90!==Qu){var e=97<Qu?97:Qu;return Qu=90,zi(e,yc)}}
  function yc (line 2) | function yc(){if(null===qu)return!1;var e=qu;if(qu=null,0!==(48&ku))thro...
  function bc (line 2) | function bc(e,t,n){co(e,t=hu(e,t=Xa(n,t),1073741823)),null!==(e=Yu(e,107...
  function mc (line 2) | function mc(e,t){if(3===e.tag)bc(e,e,t);else for(var n=e.return;null!==n...
  function gc (line 2) | function gc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),_u===e&&Tu===...
  function wc (line 2) | function wc(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(t=H...
  function kc (line 2) | function kc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this....
  function _c (line 2) | function _c(e,t,n,r){return new kc(e,t,n,r)}
  function xc (line 2) | function xc(e){return!(!(e=e.prototype)||!e.isReactComponent)}
  function Tc (line 2) | function Tc(e,t){var n=e.alternate;return null===n?((n=_c(e.tag,t,e.key,...
  function Sc (line 2) | function Sc(e,t,n,r,i,o){var u=2;if(r=e,"function"===typeof e)xc(e)&&(u=...
  function jc (line 2) | function jc(e,t,n,r){return(e=_c(7,e,r,t)).expirationTime=n,e}
  function Cc (line 2) | function Cc(e,t,n){return(e=_c(6,e,null,t)).expirationTime=n,e}
  function Nc (line 2) | function Nc(e,t,n){return(t=_c(4,null!==e.children?e.children:[],e.key,t...
  function Dc (line 2) | function Dc(e,t,n){this.tag=t,this.current=null,this.containerInfo=e,thi...
  function Pc (line 2) | function Pc(e,t){var n=e.firstSuspendedTime;return e=e.lastSuspendedTime...
  function Ic (line 2) | function Ic(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;n<t&&(...
  function Rc (line 2) | function Rc(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.fi...
  function Fc (line 2) | function Fc(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTim...
  function Ac (line 2) | function Ac(e,t,n,r){var i=t.current,o=Ku(),u=po.suspense;o=Hu(o,i,u);e:...
  function Mc (line 2) | function Mc(e){if(!(e=e.current).child)return null;switch(e.child.tag){c...
  function Lc (line 2) | function Lc(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retr...
  function Vc (line 2) | function Vc(e,t){Lc(e,t),(e=e.alternate)&&Lc(e,t)}
  function qc (line 2) | function qc(e,t,n){var r=new Dc(e,t,n=null!=n&&!0===n.hydrate),i=_c(3,nu...
  function Qc (line 2) | function Qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeTy...
  function zc (line 2) | function zc(e,t,n,r,i){var o=n._reactRootContainer;if(o){var a=o._intern...
  function Uc (line 2) | function Uc(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?argum...
  function Bc (line 2) | function Bc(e,t){var n=2<arguments.length&&void 0!==arguments[2]?argumen...
  function x (line 2) | function x(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,i=e[r];...
  function T (line 2) | function T(e){return void 0===(e=e[0])?null:e}
  function S (line 2) | function S(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e...
  function j (line 2) | function j(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}
  function M (line 2) | function M(e){for(var t=T(N);null!==t;){if(null===t.callback)S(N);else{i...
  function L (line 2) | function L(e){if(A=!1,M(e),!F)if(null!==T(C))F=!0,r(V);else{var t=T(N);n...
  function V (line 2) | function V(e,n){F=!1,A&&(A=!1,o()),R=!0;var r=I;try{for(M(n),P=T(C);null...
  function q (line 2) | function q(e){switch(e){case 1:return-1;case 2:return 250;case 5:return ...
  function u (line 2) | function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!...
  function c (line 2) | function c(e,t,n,r){var i=t&&t.prototype instanceof f?t:f,o=Object.creat...
  function s (line 2) | function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(T){ret...
  function f (line 2) | function f(){}
  function p (line 2) | function p(){}
  function d (line 2) | function d(){}
  function m (line 2) | function m(e){["next","throw","return"].forEach((function(t){u(e,t,(func...
  function g (line 2) | function g(e,t){var r;this._invoke=function(i,o){function a(){return new...
  function w (line 2) | function w(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=...
  function O (line 2) | function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.f...
  function E (line 2) | function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.comp...
  function k (line 2) | function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.r...
  function _ (line 2) | function _(e){if(e){var t=e[i];if(t)return t.call(e);if("function"===typ...
  function x (line 2) | function x(){return{value:void 0,done:!0}}
  function r (line 2) | function r(n,r){return a.type="throw",a.arg=e,t.next=n,r&&(t.method="nex...
  function n (line 2) | function n(e,t,n,r,i,o,a){try{var u=e[o](a),c=u.value}catch(s){return vo...
  function u (line 2) | function u(e){n(a,i,o,u,c,"next",e)}
  function c (line 2) | function c(e){n(a,i,o,u,c,"throw",e)}
  function o (line 2) | function o(){throw new Error("setTimeout has not been defined")}
  function a (line 2) | function a(){throw new Error("clearTimeout has not been defined")}
  function u (line 2) | function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&s...
  function p (line 2) | function p(){l&&c&&(l=!1,c.length?s=c.concat(s):f=-1,s.length&&d())}
  function d (line 2) | function d(){if(!l){var e=u(p);l=!0;for(var t=s.length;t;){for(c=s,s=[];...
  function h (line 2) | function h(e,t){this.fun=e,this.array=t}
  function v (line 2) | function v(){}
  function r (line 2) | function r(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e...
  function i (line 2) | function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Ar...
  function o (line 2) | function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.en...
  function a (line 2) | function a(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),Object.defineProp...
  function d (line 2) | function d(e,t){var n=e[t];if(null!=n){if("function"!==typeof n)throw ne...
  function h (line 2) | function h(e){var t=e.constructor;return void 0!==t&&null===(t=t[p])&&(t...
  function v (line 2) | function v(e){return e instanceof _}
  function y (line 2) | function y(e){y.log?y.log(e):setTimeout((function(){throw e}))}
  function b (line 2) | function b(e){Promise.resolve().then((function(){try{e()}catch(t){y(t)}}))}
  function m (line 2) | function m(e){var t=e._cleanup;if(void 0!==t&&(e._cleanup=void 0,t))try{...
  function g (line 2) | function g(e){e._observer=void 0,e._queue=void 0,e._state="closed"}
  function w (line 2) | function w(e,t,n){e._state="running";var r=e._observer;try{var i=d(r,t);...
  function O (line 2) | function O(e,t,n){if("closed"!==e._state){if("buffering"!==e._state)retu...
  function e (line 2) | function e(e,t){this._cleanup=void 0,this._observer=e,this._queue=void 0...
  function e (line 2) | function e(e){this._subscription=e}
  function e (line 2) | function e(t){if(!(this instanceof e))throw new TypeError("Observable ca...
  function o (line 2) | function o(){i.unsubscribe(),n()}
  function a (line 2) | function a(){o.closed&&0===i.length&&r.complete()}
  function o (line 2) | function o(e){return Object(r.b)(e,{leave:a})}
  function u (line 2) | function u(e){return function(t){return c([t.description,e(t)],"\n")}}
  function c (line 2) | function c(e,t){return e?e.filter((function(e){return e})).join(t||""):""}
  function s (line 2) | function s(e){return e&&0!==e.length?"{\n"+f(c(e,"\n"))+"\n}":""}
  function l (line 2) | function l(e,t,n){return t?e+t+(n||""):""}
  function f (line 2) | function f(e){return e&&"  "+e.replace(/\n/g,"\n  ")}
  function p (line 2) | function p(e){return-1!==e.indexOf("\n")}
  function d (line 2) | function d(e){return e&&e.some(p)}
  function a (line 2) | function a(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];r...
  function u (line 2) | function u(e){var t=e[0]||{},n=e.length;if(n>1)for(var r=new s,i=1;i<n;+...
  function e (line 2) | function e(e){void 0===e&&(e=c),this.reconciler=e,this.isObject=i.a,this...
  function o (line 2) | function o(e,t){var n=e.directives;return!n||!n.length||function(e){var ...
  function a (line 2) | function a(e,t){return function(e){var t=[];return Object(i.b)(e,{Direct...
  function u (line 2) | function u(e){return e&&a(["client"],e)&&a(["export"],e)}
  function u (line 2) | function u(e,t){var n=Object(a.a)(null===t||void 0===t?void 0:t.client);...
  function t (line 2) | function t(t){void 0===t&&(t={});var n=e.call(this,Object(u.a)(t).reques...
  function d (line 2) | function d(e,t,n){return new p.a((function(r){var i=r.next,o=r.error,a=r...
  function h (line 2) | function h(e){return e.errors&&e.errors.length>0||!1}
  function O (line 2) | function O(e,t,n){var r=[];e.forEach((function(e){return e[t]&&r.push(e)...
  function E (line 2) | function E(e){function t(t){Object.defineProperty(e,t,{value:p.a})}retur...
  function k (line 2) | function k(e){return e&&"function"===typeof e.then}
  function t (line 2) | function t(t){var n=e.call(this,(function(e){return n.addObserver(e),fun...
  function t (line 2) | function t(t){var n=t.queryManager,i=t.queryInfo,o=t.options,a=e.call(th...
  function I (line 2) | function I(e){var t=e.options,n=t.fetchPolicy,r=t.nextFetchPolicy;return...
  function R (line 2) | function R(e){__DEV__&&i.b.error("Unhandled error",e.message,e.stack)}
  function F (line 2) | function F(e){__DEV__&&e&&__DEV__&&i.b.debug("Missing cache result field...
  function e (line 2) | function e(e){var t=e.cache,n=e.client,r=e.resolvers,i=e.fragmentMatcher...
  function z (line 2) | function z(e,t){var n=e[t];"function"===typeof n&&(e[t]=function(){retur...
  function U (line 2) | function U(e){e.notifyTimeout&&(clearTimeout(e.notifyTimeout),e.notifyTi...
  function e (line 2) | function e(e,t){void 0===t&&(t=e.generateQueryId()),this.queryId=t,this....
  function W (line 2) | function W(e,t){void 0===t&&(t="none");var n="ignore"===t||"all"===t,r=!...
  function e (line 2) | function e(e){var t=e.cache,n=e.link,r=e.defaultOptions,i=e.queryDedupli...
  function e (line 2) | function e(e){var t=this;this.resetStoreCallbacks=[],this.clearStoreCall...
  function e (line 2) | function e(){this.getFragmentDoc=Object(o.b)(u.c)}
  function e (line 2) | function e(e,t){var n=this;this.policies=e,this.group=t,this.data=Object...
  function e (line 2) | function e(e,t){void 0===t&&(t=null),this.caching=e,this.parent=t,this.d...
  function T (line 2) | function T(e,t){return t+"#"+e}
  function S (line 2) | function S(e,t){D(e)&&e.group.depend(t,"__exists")}
  function t (line 2) | function t(t){var n=t.policies,r=t.resultCaching,i=void 0===r||r,o=t.see...
  function t (line 2) | function t(t,n,r,i){var o=e.call(this,n.policies,i)||this;return o.id=t,...
  function t (line 2) | function t(t){return e.call(this,"EntityStore.Stump",t,(function(){}),ne...
  function N (line 2) | function N(e,t,n){var r=e[n],i=t[n];return Object(a.a)(r,i)?r:i}
  function D (line 2) | function D(e){return!!(e instanceof _&&e.group.caching)}
  function I (line 2) | function I(e){return[e.selectionSet,e.objectOrReference,e.context,e.cont...
  function e (line 2) | function e(e){var t=this;this.knownResults=new(p.c?WeakMap:Map),this.con...
  function m (line 2) | function m(e,t){var n;return e.missing&&(a=h.merge(a,((n={})[t]=e.missin...
  function s (line 2) | function s(e,n){var r;return e.missing&&(t=c.merge(t,((r={})[n]=e.missin...
  function F (line 2) | function F(e){try{JSON.stringify(e,(function(e,t){if("string"===typeof t...
  function Q (line 2) | function Q(e){var t=JSON.stringify(e);return q[t]||(q[t]=Object.create(n...
  function z (line 2) | function z(e){var t=Q(e);return t.keyFieldsFn||(t.keyFieldsFn=function(t...
  function U (line 2) | function U(e){var t=Q(e);return t.keyArgsFn||(t.keyArgsFn=function(t,n){...
  function B (line 2) | function B(e,t){var n=new v.a;return function e(t){var n=Q(t);if(!n.path...
  function W (line 2) | function W(e,t){return e[t]}
  function K (line 2) | function K(e,t,n){return n=n||W,H(t.reduce((function e(t,r){return Objec...
  function H (line 2) | function H(e){return Object(m.a)(e)?Object(w.f)(e)?e.map(H):B(Object.key...
  function G (line 2) | function G(e){return void 0!==e.args?e.args:e.field?Object(l.a)(e.field,...
  function e (line 2) | function e(e){this.config=e,this.typePolicies=Object.create(null),this.t...
  function a (line 2) | function a(e,t){e.merge="function"===typeof t?t:!0===t?J:!1===t?X:e.merge}
  function ee (line 2) | function ee(e,t,n,r,i){var o=e.getStoreFieldName(n),a=Object(w.c)(o),u=n...
  function te (line 2) | function te(e,t,n){var o,a=e[0],u=e[1],c=e.length;return"string"===typeo...
  function ne (line 2) | function ne(e){return function(t,n){if(Object(w.f)(t)||Object(w.f)(n))th...
  function re (line 2) | function re(e,t,n){var i="".concat(t).concat(n),o=e.flavors.get(i);retur...
  function e (line 2) | function e(e,t){this.cache=e,this.reader=t}
  function ae (line 2) | function ae(e,t){var n=e.map;return n.has(t)||n.set(t,oe.pop()||{map:new...
  function ue (line 2) | function ue(e){return!e||!(e.info||e.map.size)}
  function ce (line 2) | function ce(e,t){var n=e.map,r=n.get(t);r&&ue(r)&&(oe.push(r),n.delete(t))}
  function t (line 2) | function t(t){void 0===t&&(t={});var n=e.call(this)||this;return n.watch...
  function s (line 2) | function s(e){var t=e.value,n=e.getSnapshot;try{return t!==n()}catch(r){...
  function O (line 2) | function O(e,t){return void 0===t&&(t=Object.create(null)),function(e,t)...
  function e (line 2) | function e(e,t,n){this.client=e,this.query=t,this.asyncResolveFns=new Se...
  function i (line 2) | function i(e){return function e(t,n){switch(r.call(t)){case"[object Arra...
  function o (line 2) | function o(e,t){return Object(i.a)(e,t,t.variables&&{variables:Object(r....
  function i (line 2) | function i(e){var t=new Set([e]);return t.forEach((function(e){Object(r....
  function o (line 2) | function o(e){return __DEV__&&i(e),e}
  function u (line 2) | function u(e,t,n){var r=0;return e.forEach((function(n,i){t.call(this,n,...
  function f (line 2) | function f(e){return function e(t,n){return t.selectionSet.selections.ev...
  function p (line 2) | function p(e){return function(t){return e.some((function(e){return e.nam...
  function d (line 2) | function d(e,t){var n=Object.create(null),i=[],a=Object.create(null),s=[...
  function y (line 2) | function y(e){return d([v],Object(a.a)(e))}
  function b (line 2) | function b(e){return"query"===Object(a.e)(e).operation?e:Object(o.b)(e,{...
  function m (line 2) | function m(e){Object(a.a)(e);var t=d([{test:function(e){return"client"==...

FILE: src/main/resources/static/static/js/main.05accb10.chunk.js
  function p (line 1) | function p(){var e=Object(a.a)(["\n        subscription ReviewAdded {\n ...
  function f (line 1) | function f(){var e=Object(a.a)(["\n        {\n            shows {\n     ...

FILE: src/main/resources/static/static/js/runtime-main.09b85ec0.js
  function t (line 1) | function t(t){for(var n,l,i=t[0],f=t[1],a=t[2],p=0,s=[];p<i.length;p++)l...
  function r (line 1) | function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.l...
  function l (line 1) | function l(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{...

FILE: src/test/java/com/example/demo/ArtworkUploadDataFetcherTest.java
  class ArtworkUploadDataFetcherTest (line 18) | @SpringBootTest
    method addArtwork (line 24) | @Test

FILE: src/test/java/com/example/demo/ReviewSubscriptionIntegrationTest.java
  class ReviewSubscriptionIntegrationTest (line 24) | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
    method setup (line 34) | @BeforeEach
    method testWebSocketSubscription (line 40) | @Test

FILE: src/test/java/com/example/demo/ReviewSubscriptionTest.java
  class ReviewSubscriptionTest (line 37) | @SpringBootTest(classes = {DefaultReviewsService.class, ReviewsDataFetch...
    method reviewSubscription (line 46) | @Test
    method addReview (line 82) | private void addReview() {

FILE: src/test/java/com/example/demo/SecurityExampleFetchersTest.java
  class SecurityExampleFetchersTest (line 13) | @SpringBootTest
    method secureNone (line 19) | @Test
    method secureUserWithUser (line 29) | @Test
    method secureUserWithAdmin (line 41) | @Test
    method secureUserWithNone (line 53) | @Test
    method secureAdminWithAdmin (line 64) | @Test
    method secureAdminWithUser (line 76) | @Test
    method secureAdminWithNone (line 88) | @Test

FILE: src/test/java/com/example/demo/ShowsDataFetcherTest.java
  class ShowsDataFetcherTest (line 37) | @SpringBootTest(classes = {ReviewsDataLoaderWithContext.class, ShowsData...
    method before (line 50) | @BeforeEach
    method shows (line 62) | @Test
    method showsWithException (line 72) | @Test
    method showsWithQueryApi (line 83) | @Test
    method showWithReviews (line 90) | @Test
    method addReviewMutation (line 109) | @Test
    method addReviewsMutation (line 126) | @Test

FILE: ui-example/src/index.tsx
  type Show (line 78) | type Show = {
Condensed preview — 50 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (439K chars).
[
  {
    "path": ".github/dependabot.yml",
    "chars": 206,
    "preview": "version: 2\nupdates:\n  - package-ecosystem: \"gradle\"\n    directory: \"/\"\n    schedule:\n      interval: \"daily\"\n  - package"
  },
  {
    "path": ".github/workflows/gradle.yml",
    "chars": 636,
    "preview": "# This workflow will build a Java project with Gradle\n# For more information see: https://help.github.com/actions/langua"
  },
  {
    "path": ".gitignore",
    "chars": 469,
    "preview": "HELP.md\n.gradle\nbuild/\n!gradle/wrapper/gradle-wrapper.jar\n!**/src/main/**/build/\n!**/src/test/**/build/\n\n### STS ###\n.ap"
  },
  {
    "path": ".sdkmanrc",
    "chars": 113,
    "preview": "# Enable auto-env through the sdkman_auto_env config\n# Add key=value pairs of SDKs to use below\njava=17.0.3-zulu\n"
  },
  {
    "path": "LICENSE",
    "chars": 11357,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "Makefile",
    "chars": 453,
    "preview": ".PHONY: help run check\n.DEFAULT_GOAL := help\n\nSHELL = /bin/sh\n\n## Gradle\nGW = ./gradlew\nGFLAGS ?=\nGW_CMD = $(GW) $(GFLAG"
  },
  {
    "path": "NOTICE",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "README.md",
    "chars": 3973,
    "preview": "Java DGS Framework example\n=====\n\nThis repository is an example application for the [DGS Framework](https://netflix.gith"
  },
  {
    "path": "build.gradle.kts",
    "chars": 3481,
    "preview": "/*\n * Copyright 2021 Netflix, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "chars": 200,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
  },
  {
    "path": "gradlew",
    "chars": 5766,
    "preview": "#!/usr/bin/env sh\n\n#\n# Copyright 2015 the original author or authors.\n#\n# Licensed under the Apache License, Version 2.0"
  },
  {
    "path": "gradlew.bat",
    "chars": 2763,
    "preview": "@rem\r\n@rem Copyright 2015 the original author or authors.\r\n@rem\r\n@rem Licensed under the Apache License, Version 2.0 (th"
  },
  {
    "path": "settings.gradle.kts",
    "chars": 636,
    "preview": "/*\n * Copyright 2021 Netflix, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
  },
  {
    "path": "src/main/java/com/example/demo/DemoApplication.java",
    "chars": 984,
    "preview": "package com.example.demo;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfig"
  },
  {
    "path": "src/main/java/com/example/demo/config/MetricsConfig.java",
    "chars": 619,
    "preview": "package com.example.demo.config;\n\nimport io.micrometer.core.instrument.MeterRegistry;\nimport org.springframework.boot.au"
  },
  {
    "path": "src/main/java/com/example/demo/config/SecurityConfig.java",
    "chars": 1801,
    "preview": "package com.example.demo.config;\n\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context"
  },
  {
    "path": "src/main/java/com/example/demo/datafetchers/ArtworkUploadDataFetcher.java",
    "chars": 1452,
    "preview": "package com.example.demo.datafetchers;\n\nimport com.example.demo.generated.types.Image;\nimport com.netflix.graphql.dgs.Dg"
  },
  {
    "path": "src/main/java/com/example/demo/datafetchers/ReviewsDataFetcher.java",
    "chars": 3357,
    "preview": "package com.example.demo.datafetchers;\n\nimport com.example.demo.dataloaders.ReviewsDataLoader;\nimport com.example.demo.d"
  },
  {
    "path": "src/main/java/com/example/demo/datafetchers/SecurityExampleFetchers.java",
    "chars": 597,
    "preview": "package com.example.demo.datafetchers;\n\nimport com.netflix.graphql.dgs.DgsComponent;\nimport com.netflix.graphql.dgs.DgsQ"
  },
  {
    "path": "src/main/java/com/example/demo/datafetchers/ShowsDataFetcher.java",
    "chars": 1001,
    "preview": "package com.example.demo.datafetchers;\n\nimport com.example.demo.generated.types.Show;\nimport com.example.demo.services.S"
  },
  {
    "path": "src/main/java/com/example/demo/dataloaders/ReviewsDataLoader.java",
    "chars": 1159,
    "preview": "package com.example.demo.dataloaders;\n\nimport com.example.demo.generated.types.Review;\nimport com.example.demo.services."
  },
  {
    "path": "src/main/java/com/example/demo/dataloaders/ReviewsDataLoaderWithContext.java",
    "chars": 1183,
    "preview": "package com.example.demo.dataloaders;\n\nimport com.example.demo.generated.types.Review;\nimport com.example.demo.services."
  },
  {
    "path": "src/main/java/com/example/demo/directives/UppercaseDirective.java",
    "chars": 1111,
    "preview": "package com.example.demo.directives;\n\nimport com.netflix.graphql.dgs.DgsDirective;\nimport graphql.schema.DataFetcher;\nim"
  },
  {
    "path": "src/main/java/com/example/demo/instrumentation/ExampleTracingInstrumentation.java",
    "chars": 3874,
    "preview": "package com.example.demo.instrumentation;\n\nimport graphql.ExecutionResult;\nimport graphql.execution.instrumentation.Inst"
  },
  {
    "path": "src/main/java/com/example/demo/scalars/DateTimeScalar.java",
    "chars": 600,
    "preview": "package com.example.demo.scalars;\n\nimport com.netflix.graphql.dgs.DgsComponent;\nimport com.netflix.graphql.dgs.DgsRuntim"
  },
  {
    "path": "src/main/java/com/example/demo/services/DefaultReviewsService.java",
    "chars": 4727,
    "preview": "package com.example.demo.services;\n\nimport com.example.demo.generated.types.Review;\nimport com.example.demo.generated.ty"
  },
  {
    "path": "src/main/java/com/example/demo/services/ReviewsService.java",
    "chars": 72,
    "preview": "package com.example.demo.services;\n\npublic interface ReviewsService {\n}\n"
  },
  {
    "path": "src/main/java/com/example/demo/services/ShowsService.java",
    "chars": 166,
    "preview": "package com.example.demo.services;\n\n\nimport com.example.demo.generated.types.Show;\n\nimport java.util.List;\n\npublic inter"
  },
  {
    "path": "src/main/java/com/example/demo/services/ShowsServiceImpl.java",
    "chars": 785,
    "preview": "package com.example.demo.services;\n\nimport com.example.demo.generated.types.Show;\nimport org.springframework.stereotype."
  },
  {
    "path": "src/main/resources/application.yml",
    "chars": 304,
    "preview": "spring:\n  application:\n    name: dgs-example-java\n\n  graphql:\n    graphiql:\n      enabled: true\n    websocket:\n      pat"
  },
  {
    "path": "src/main/resources/schema/schema.graphqls",
    "chars": 827,
    "preview": "type Query {\n    shows(titleFilter: String): [Show]\n    secureNone: String\n    secureUser: String\n    secureAdmin: Strin"
  },
  {
    "path": "src/main/resources/static/asset-manifest.json",
    "chars": 849,
    "preview": "{\n  \"files\": {\n    \"main.js\": \"/static/js/main.05accb10.chunk.js\",\n    \"main.js.map\": \"/static/js/main.05accb10.chunk.js"
  },
  {
    "path": "src/main/resources/static/index.html",
    "chars": 2139,
    "preview": "<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"><link rel=\"shortcut icon\" href=\"/favicon.ico\"><meta name=\"vie"
  },
  {
    "path": "src/main/resources/static/precache-manifest.2241ce5fa2602c9cdc3eb026c3eb8589.js",
    "chars": 559,
    "preview": "self.__precacheManifest = (self.__precacheManifest || []).concat([\n  {\n    \"revision\": \"e16b7b688dacd0dc3ffa733050e8aa20"
  },
  {
    "path": "src/main/resources/static/service-worker.js",
    "chars": 1181,
    "preview": "/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app and you s"
  },
  {
    "path": "src/main/resources/static/static/js/2.ae627b82.chunk.js",
    "chars": 338313,
    "preview": "/*! For license information please see 2.ae627b82.chunk.js.LICENSE.txt */\n(this.webpackJsonpclient=this.webpackJsonpclie"
  },
  {
    "path": "src/main/resources/static/static/js/2.ae627b82.chunk.js.LICENSE.txt",
    "chars": 790,
    "preview": "/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copy"
  },
  {
    "path": "src/main/resources/static/static/js/main.05accb10.chunk.js",
    "chars": 1748,
    "preview": "(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{51:function(e,n,t){e.exports=t(52)},52:function(e,n,t){"
  },
  {
    "path": "src/main/resources/static/static/js/runtime-main.09b85ec0.js",
    "chars": 1553,
    "preview": "!function(e){function t(t){for(var n,l,i=t[0],f=t[1],a=t[2],p=0,s=[];p<i.length;p++)l=i[p],Object.prototype.hasOwnProper"
  },
  {
    "path": "src/test/java/com/example/demo/ArtworkUploadDataFetcherTest.java",
    "chars": 1454,
    "preview": "package com.example.demo;\n\nimport com.example.demo.generated.types.Image;\nimport com.jayway.jsonpath.TypeRef;\nimport com"
  },
  {
    "path": "src/test/java/com/example/demo/ReviewSubscriptionIntegrationTest.java",
    "chars": 3243,
    "preview": "package com.example.demo;\n\nimport com.example.demo.generated.client.AddReviewGraphQLQuery;\nimport com.example.demo.gener"
  },
  {
    "path": "src/test/java/com/example/demo/ReviewSubscriptionTest.java",
    "chars": 3794,
    "preview": "package com.example.demo;\n\nimport com.example.demo.datafetchers.ReviewsDataFetcher;\nimport com.example.demo.generated.cl"
  },
  {
    "path": "src/test/java/com/example/demo/SecurityExampleFetchersTest.java",
    "chars": 2957,
    "preview": "package com.example.demo;\n\nimport com.netflix.graphql.dgs.DgsQueryExecutor;\nimport com.netflix.graphql.dgs.exceptions.Qu"
  },
  {
    "path": "src/test/java/com/example/demo/ShowsDataFetcherTest.java",
    "chars": 5755,
    "preview": "package com.example.demo;\n\nimport com.example.demo.datafetchers.ReviewsDataFetcher;\nimport com.example.demo.datafetchers"
  },
  {
    "path": "ui-example/package.json",
    "chars": 1168,
    "preview": "{\n  \"name\": \"client\",\n  \"version\": \"1.0.0\",\n  \"private\": true,\n  \"dependencies\": {\n    \"@apollo/client\": \"^3.5.10\",\n    "
  },
  {
    "path": "ui-example/public/index.html",
    "chars": 2285,
    "preview": "<!--\n  ~ Copyright 2020 Netflix, Inc.\n  ~\n  ~ Licensed under the Apache License, Version 2.0 (the \"License\");\n  ~ you ma"
  },
  {
    "path": "ui-example/src/index.tsx",
    "chars": 2638,
    "preview": "/*\n * Copyright 2020 Netflix, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
  },
  {
    "path": "ui-example/src/react-app-env.d.ts",
    "chars": 637,
    "preview": "/*\n * Copyright 2020 Netflix, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
  },
  {
    "path": "ui-example/tsconfig.json",
    "chars": 540,
    "preview": "{\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"lib\": [\n      \"dom\",\n      \"dom.iterable\",\n      \"esnext\"\n    ],\n    "
  }
]

// ... and 1 more files (download for full content)

About this extraction

This page contains the full source code of the Netflix/dgs-examples-java GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 50 files (416.3 KB), approximately 129.4k tokens, and a symbol index with 660 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!